• 1 INF (oneindig)
  • 2 NAN (niet een getal)
  • 3 Null
  • 4 Zie ook

INF (“oneindig”), NAN (“geen getal”), en Null zijn systeemconstanten met een speciale waarde die Analytica retourneert in bepaalde omstandigheden, zoals uitzonderingen. Deze constanten kunnen ook worden gebruikt als waarden in expressies.

Constant Betekenis
INF Infinity of een reëel getal dat groter is dan kan worden weergegeven, bijv, 1/0
NAN Een onbepaald getal, dat een numerieke waarde is die niet goed gedefinieerd is, zoals 0/0. De codenaam NAN lijdt aan een ongelukkige historische fout in die zin dat het staat voor “Not A Number”; het wordt echter beschouwd als een numeriek gegevenstype, en dus is IsNumber(NAN) waar.
Null Het resultaat van een bewerking waarbij de gewenste gegevens niet aanwezig zijn, zoals

X, waarbij index I niet de waarde '?'

INF (oneindig)

INF is het resultaat van een numerieke berekening die mathematisch oneindig is, zoals:

1/0 → INF

INF is ook het resultaat van een berekening die een getal zou opleveren dat groter is dan 1.797 x10+308, wat het grootste drijvende komma getal is dat Analytica kan weergeven:

10^1000 → INF

INF kan positief of negatief zijn:

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

Dus -INF betekent negatieve oneindigheid (of een getal lager dan -1.796E308).

U kunt nuttige, wiskundig correcte rekenkundige bewerkingen uitvoeren met INF, zoals:

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

NAN (Geen Getal)

NaN is het resultaat van een onbepaalde numerieke berekening, inclusief numerieke functies waarvan de parameter buiten hun domein ligt, zoals”

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

(Als u Complexe Getallen inschakelt, geeft Sqrt(-1) het geldige imaginaire getal, 1j, terug.)

Het geeft meestal een waarschuwing als u een functie toepast op een parameterwaarde buiten zijn bereik, zoals de twee voorbeelden hierboven – tenzij u “Waarschuwingen negeren” hebt aangevinkt.

Elke rekenkundige bewerking, vergelijking of functie toegepast op NaN geeft NaN terug:

0/0 <> NAN → NAN

Analytica’s weergave en behandeling van INF en NaN is consistent met ANSI (Association of National Standards Institutes) standaarden en IEEE Floating point standaarden. NaN staat voor “Not A Number”, wat een beetje misleidend is, omdat NaN eigenlijk een soort getal is. Je kunt NaN in een uitdrukking detecteren met de IsNaN() functie.

Berekeningen uitgevoerd met INF en NaN volgen de wetten van de wiskunde:

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

Expressies met NaN als operand of parameter geven NaN als resultaat, tenzij de expressie een goed gedefinieerde logische of numerieke waarde heeft voor elke waarde van NaN:

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

Null

Nullis een resultaat dat slecht gedefinieerd is, wat gewoonlijk aangeeft dat er niets is op de gevraagde plaats, bijvoorbeeld een subscript met een waarde die niet overeenkomt met een waarde van de index:

Index I := 1..5 X → Null

Andere bewerkingen en functies die Null kunnen teruggeven zijn Slice(), Subscript(), Subindex(), en MdTable(), bijv.b.v.

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

U kunt op Null testen met de standaard = of <> operatoren, zoals:

X = Null → True

of u kunt IsNull(X) gebruiken. x=Null en IsNull(x) zijn echter anders wanneer x een matrix kan zijn. x=Null is een vergelijking op celniveau, waarbij elke cel wordt getest op gelijkheid met Null, waarbij het resultaat dezelfde dimensionaliteit heeft als x, terwijl IsNull(x) test of de gehele waarde precies Null is. Wanneer x een matrix is waarvan elke cel gelijk is aan Null, is IsNull(x) onwaar.

Wanneer Null voorkomt in scalaire bewerkingen, geeft dit in het algemeen een waarschuwing en wordt geëvalueerd naar Null, bijvoorbeeld:

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

Array-reducerende functies negeren Null. Deze voorbeelden demonstreren dit (aangenomen dat A is geïndexeerd door I zoals aangegeven).

variable A :=

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

Dan

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

Grafieken zullen eenvoudig elk punt waarvan de waarde Null is, negeren (niet tonen).

Array-reducerende functies zijn onder meer Som(), Min(), Max(), ArgMin(), ArgMax(), Product(), Gemiddelde(), JoinText(), Irr() en Npv().

Regression() negeert ook alle datapunten die Y = Null hebben, wat nuttig is voor ontbrekende gegevens.

Zie ook

  • INF, NAN, en Null
  • IsNaN
  • IsNull
  • Getallen
  • Fouten als gevolg van Null-waarden

Getallen en tekstINF, NAN, en NULL – UitzonderingswaardenWaarschuwingen

Articles

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.