• 1 INF (infinit)
  • 2 NAN (Not a Number)
  • 3 Null
  • 4 Vezi și

INF („infinit”), NAN („nu este un număr”), și Null sunt constante de sistem cu valori speciale pe care Analytica le returnează în anumite condiții, cum ar fi excepțiile. Aceste constante pot fi, de asemenea, utilizate ca valori în expresii.

Constantă Semnificație
INF Infinit sau un număr real mai mare decât poate fi reprezentat, de ex, 1/0
NAN Un număr nedeterminat, care este o valoare numerică ce nu este bine definită, cum ar fi 0/0. Numele de cod NAN suferă de o greșeală istorică nefericită de denumire, în sensul că înseamnă „Not A Number” (nu este un număr); cu toate acestea, este considerat a fi un tip de date numerice și, prin urmare, IsNumber(NAN) este adevărat.
Null Rezultatul unei operații în care nu există datele dorite, cum ar fi

X, unde indicele I nu are valoarea '?'

INF (infinit)

INF este rezultatul unui calcul numeric care este infinit din punct de vedere matematic, cum ar fi:

1/0 → INF

INF este, de asemenea, rezultatul unui calcul care ar produce un număr mai mare decât 1.797 x10+308, care este cel mai mare număr cu virgulă mobilă pe care Analytica îl poate reprezenta:

10^1000 → INF

INF poate fi pozitiv sau negativ:

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

Prin urmare, -INF înseamnă infinit negativ (sau un număr sub -1.796E308).

Puteți efectua aritmetică utilă și corectă din punct de vedere matematic cu INF, cum ar fi:

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

NAN (Not a Number)

NaN este rezultatul unui calcul numeric nedeterminat, inclusiv funcțiile numerice al căror parametru este în afara domeniului lor, cum ar fi”

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

(Dacă activați Numerele complexe, Sqrt(-1) returnează numărul imaginar valid, 1j.)

De obicei dă un avertisment dacă aplicați o funcție la o valoare de parametru în afara intervalului său, cum ar fi cele două exemple de mai sus – cu excepția cazului în care ați bifat „Ignore warnings” (Ignorați avertismentele).

Care operație aritmetică, comparație sau funcție aplicată la NaN returnează NaN:

0/0 <> NAN → NAN

Reprezentarea și tratarea de către Analitica a INF și NaN este în concordanță cu standardele ANSI (Association of National Standards Institutes) și standardele IEEE Floating point. NaN înseamnă „Not A Number” (nu este un număr), ceea ce este puțin înșelător, deoarece NaN este într-adevăr un tip de număr. Puteți detecta NaN într-o expresie cu ajutorul funcției IsNaN().

Calculele efectuate cu INF și NaN respectă legile matematicii:

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

Expresiile care iau NaN ca operand sau parametru dau NaN ca rezultat, cu excepția cazului în care expresia are o valoare logică sau numerică bine definită pentru orice valoare a lui NaN:

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

Null

Nulleste un rezultat care nu este bine definit, indicând de obicei că nu există nimic în locația solicitată, de exemplu un subscript care utilizează o valoare care nu se potrivește cu o valoare a indexului:

Index I := 1..5 X → Null

Alte operații și funcții care pot returna Null includ Slice(), Subscript(), Subindex() și MdTable(), e.g.

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

Puteți testa pentru Null folosind operatorii standard = sau <>, cum ar fi:

X = Null → True

sau puteți folosi IsNull(X). Cu toate acestea, x=Null și IsNull(x) sunt diferite atunci când x poate fi o matrice. x=Null este o comparație la nivel de celulă, în care fiecare celulă este testată pentru egalitate cu Null, rezultatul având aceeași dimensionalitate ca x, în timp ce IsNull(x) testează dacă întreaga valoare este exact Null. Atunci când x este o matrice în care fiecare celulă este egală cu Null, IsNull(x) este falsă.

Când Null apare în operațiile scalare, în general produce un avertisment și se evaluează la Null, de exemplu:

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

Funcțiile de reducere a matricei ignoră Null. Aceste exemple demonstrează (presupunem că A este indexat de I, așa cum este indicat).

variable A :=

.

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

Atunci

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

Graficele vor ignora pur și simplu (nu vor afișa) orice punct a cărui valoare este Null.

Funcțiile de reducere a tablourilor includ Sum(), Min(), Max(), ArgMin(), ArgMax(), Product(), Average(), JoinText(), Irr(), Npv().

Regression() ignoră, de asemenea, toate punctele de date care au Y = Null, ceea ce este util pentru datele lipsă.

Vezi și

  • INF, NAN și NULL
  • IsNaN
  • IsNull
  • Numere
  • Erori rezultate din valori NULL

Numere și textINF, NAN și NULL – Valori de excepțieAvertismente

.

Articles

Lasă un răspuns

Adresa ta de email nu va fi publicată.