• 1 INF (infinito)
  • 2 NAN (Não um número)
  • 3 Nulo
  • 4 Veja Também

INF (“infinito”), NAN (“não um número”), e Null são constantes de sistema com valor especial que a Analytica retorna em condições particulares, tais como exceções. Estas constantes também podem ser usadas como valores em expressões.

Constant Meaning
INF Infinity ou um número real maior do que pode ser representado, por exemplo 1/0
NAN Um número indeterminado, que é um valor numérico que não está bem definido, como por exemplo 0/0. O nome de código NAN sofre de um infeliz erro histórico, pois significa “Not A Number”; no entanto, é considerado como um tipo de dado numérico, e portanto IsNumber(NAN) é verdade.
Null O resultado de uma operação onde os dados desejados não estão lá, como

X, onde o índice I não tem o valor '?'

INF (infinito)

INF é o resultado de um cálculo numérico que é matematicamente infinito, como por exemplo:

1/0 → INF

INF é também o resultado de um cálculo que produziria um número maior que 1.797 x10+308, que é o maior número de ponto flutuante que Analytica pode representar:

10^1000 → INF

INF pode ser positivo ou negativo:

-1 * 10^1000 → -INF -1/0 → -Inf

INF significa infinito negativo (ou um número abaixo de -1.796E308).

Você pode fazer aritmética útil e matematicamente correta com INF, como por exemplo:

INF + 10 → INF INF/0 → INF 10 - INF → -INF 100/0 = INF → True

NAN (Não um Número)

NaN é o resultado de um cálculo numérico indeterminado, incluindo funções numéricas cujo parâmetro está fora do seu domínio, como”

INF - INF → NAN 0/0 → NAN INF/INF → NAN Sqrt(-1) → NAN ArcSin(2) → NAN

(Se activar Números Complexos, Sqrt(-1) retorna o número imaginário válido, 1j.)

Geralmente dá um aviso se você aplicar uma função a um valor de parâmetro fora de seu intervalo, como os dois exemplos acima – a menos que você tenha verificado “Ignorar avisos”.

Qualquer operação aritmética, comparação ou função aplicada ao NaN retorna NaN:

0/0 <> NAN → NAN

A representação e tratamento do INF e NaN pela ANSI (Association of National Standards Institutes) é consistente com os padrões ANSI (Association of National Standards Institutes) e os padrões de ponto flutuante do IEEE. NaN significa “Not A Number”, que é um pouco enganador, uma vez que NaN é realmente uma espécie de número. Você pode detectar NaN em uma expressão usando a função IsNaN().

Cálculos feitos com INF e NaN seguem as leis da matemática:

1/INF → 0 1/(-INF) → 0 INF + INF → INF INF - INF → NAN

Expressões tomando NaN como um operando ou parâmetro dão NaN como resultado, a menos que a expressão tenha um valor lógico ou numérico bem definido para qualquer valor de NaN:

True OR NAN → True NAN AND False → False IF True THEN 5 ELSE NAN → 5

Nulo

Nullé um resultado mal definido, geralmente indicando que não há nada no local solicitado, por exemplo um subscrito usando um valor que não corresponde a um valor do índice:

Index I := 1..5 X → Null

Outras operações e funções que podem retornar Nulo incluem Slice(), Subscript(), Subindex(), e MdTable(), e.g.

Index Year := Slice(Year, 4) → NULL Variable X := Array(Year, ) X → NULL

Pode testar para Null usando o padrão = ou <> operadores, tais como:

X = Null → True

ou você pode usar IsNull(X). No entanto, x=Null e IsNull(x) são diferentes quando x pode ser um array. x=Null é uma comparação de nível de célula, onde cada célula é testada para igualdade com Null, com o resultado tendo a mesma dimensionalidade de x, enquanto IsNull(x) testa se o valor inteiro é exactamente Null. Quando x é um array onde cada célula é igual a Null, IsNull(x) é falso.

Quando Null aparece em operações escalares, ele geralmente produz um aviso e avalia para Null, por exemplo:

10 + Null → Null Null - 10 → Null 1 AND Null → Null

As funções redutoras de raio ignoram Null. Estes exemplos demonstram (assumir A é indexado por I como indicado).

variable A :=

I ▶
1 2 3 4 5 5
8 Nulo 4 Nulo 0

Então

Sum(A, I) → 12 Average(A, I) → 4 JoinText(A, I, ', ') → "8, 4, 0"

Gráficos simplesmente ignorarão (não mostrarão) qualquer ponto cujo valor seja Nulo.

Array-reducing functions include Sum(), Min(), Max(), ArgMin(), ArgMax(), Product(), Average(), JoinText(), Irr(), Npv().

Regressão() também ignora quaisquer pontos de dados que tenham Y = Null, o que é útil para dados ausentes.

Veja também

  • INF, NAN, e Null
  • IsNaN
  • IsNull
  • Números
  • Erros resultantes de valores Null

Números e textINF, NAN, e NULL – Valores de exceçãoAvisos

Articles

Deixe uma resposta

O seu endereço de email não será publicado.