• 1 INF (infini)
  • 2 NAN (Not a Number)
  • 3 Null
  • 4 See Also

INF (« infini »), NAN (« pas un nombre »), et Null sont des constantes système à valeurs spéciales qu’Analytica renvoie dans des conditions particulières, comme des exceptions. Ces constantes peuvent également être utilisées comme valeurs dans des expressions.

Constante Message
INF Infini ou un nombre réel plus grand que ce qui peut être représenté, par exemple, 1/0
NAN Un nombre indéterminé, qui est une valeur numérique qui n’est pas bien définie, par exemple 0/0. Le nom de code NAN souffre d’une malencontreuse erreur de dénomination historique en ce qu’il signifie « Not A Number » ; cependant, il est considéré comme un type de données numériques, et donc IsNumber(NAN) est vrai.
Null Le résultat d’une opération où la donnée désirée n’est pas là, comme

X, où l’indice I n’a pas la valeur '?'

INF (infini)

INF est le résultat d’un calcul numérique qui est mathématiquement infini, comme :

1/0 → INF

INF est également le résultat d’un calcul qui produirait un nombre plus grand que 1.797 x10+308, qui est le plus grand nombre à virgule flottante qu’Analytica peut représenter :

10^1000 → INF

INF peut être positif ou négatif :

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

Donc -INF signifie l’infini négatif (ou un nombre inférieur à -1.796E308).

Vous pouvez effectuer des opérations arithmétiques utiles et mathématiquement correctes avec INF, telles que :

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

NAN (Not a Number)

NaN est le résultat d’un calcul numérique indéterminé, y compris les fonctions numériques dont le paramètre est hors de leur domaine, comme »

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

(Si vous activez les nombres complexes, Sqrt(-1) renvoie le nombre imaginaire valide, 1j.)

Il donne généralement un avertissement si vous appliquez une fonction à une valeur de paramètre en dehors de sa plage, comme les deux exemples ci-dessus – à moins que vous n’ayez coché « Ignorer les avertissements ».

Toute opération arithmétique, comparaison ou fonction appliquée à NaN renvoie NaN :

0/0 <> NAN → NAN

La représentation et le traitement d’INF et de NaN par Analytica sont conformes aux normes ANSI (Association of National Standards Institutes) et aux normes IEEE en virgule flottante. NaN signifie « Not A Number », ce qui est un peu trompeur, puisque NaN est en réalité une sorte de nombre. Vous pouvez détecter NaN dans une expression à l’aide de la fonction IsNaN().

Les calculs effectués avec INF et NaN suivent les lois des mathématiques :

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

Les expressions prenant NaN comme opérande ou paramètre donnent NaN comme résultat à moins que l’expression ait une valeur logique ou numérique bien définie pour toute valeur de NaN :

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

Null

Nullest un résultat mal défini, indiquant généralement qu’il n’y a rien à l’emplacement demandé, par exemple un indice utilisant une valeur qui ne correspond pas à une valeur de l’index:

Index I := 1..5 X → Null

Les autres opérations et fonctions qui peuvent retourner Null comprennent Slice(), Subscript(), Subindex() et MdTable(), par ex.g.

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

Vous pouvez tester pour Null en utilisant les opérateurs standards = ou <>, comme:

X = Null → True

ou vous pouvez utiliser IsNull(X). Cependant, x=Null et IsNull(x) sont différents lorsque x peut être un tableau. x=Null est une comparaison au niveau des cellules, où chaque cellule est testée pour l’égalité avec Null, le résultat ayant la même dimension que x, alors que IsNull(x) teste si la valeur entière est exactement Null. Lorsque x est un tableau où chaque cellule est égale à Null, IsNull(x) est faux.

Lorsque Null apparaît dans des opérations scalaires, il produit généralement un avertissement et s’évalue à Null, par exemple :

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

Les fonctions de réduction de tableaux ignorent Null. Ces exemples le démontrent (supposez que A est indexé par I comme indiqué).

variable A :=

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

Alors

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

Les graphiques vont simplement ignorer (ne pas montrer) tout point dont la valeur est Null.

Les fonctions réduisant les tableaux comprennent Sum(), Min(), Max(), ArgMin(), ArgMax(), Product(), Average(), JoinText(), Irr(), Npv().

Regression() ignore également tous les points de données qui ont Y = Null, ce qui est utile pour les données manquantes.

Voir aussi

  • INF, NAN, et Null
  • IsNaN
  • IsNull
  • Nombres
  • Erreurs résultant de valeurs Null

Nombres et texteINF, NAN, et NULL – Valeurs d’exceptionAvertissements

.

Articles

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.