Tartalom
- 1 INF (végtelen)
- 2 NAN (Nem szám)
- 3 Null
- 4 Lásd még
INF
(“végtelen”), NAN
(“nem szám”), és Null
speciális értékű rendszerállandók, amelyeket az Analytica bizonyos feltételek, például kivételek esetén ad vissza. Ezek a konstansok kifejezésekben értékként is használhatók.
Constant | Meghatározás |
---|---|
INF |
A végtelen vagy egy nagyobb valós szám, mint ami ábrázolható, pl., 1/0 |
NAN |
Meghatározhatatlan szám, azaz olyan számérték, amely nem jól definiálható, például 0/0 . A NAN kódnév egy szerencsétlen történelmi elírás miatt szenved, mivel a “Not A Number” (nem szám) rövidítése; azonban numerikus adattípusnak minősül, és ezért IsNumber(NAN) igaz. |
Null |
Egy olyan művelet eredménye, ahol a kívánt adat nincs meg, például
|
INF (végtelen)
INF egy olyan numerikus számítás eredménye, amely matematikailag végtelen, például:
1/0 → INF
INF egy olyan számítás eredménye is, amely 1.797 x10+308
-nál nagyobb számot eredményezne, ami a legnagyobb lebegőpontos szám, amit az Analytica ábrázolni tud:
10^1000 → INF
INF lehet pozitív vagy negatív:
-1 * 10^1000 → -INF
-1/0 → -Inf
Az -INF tehát negatív végtelent jelent (vagy -1.796E308
alatti számot).
Az INF-fel hasznos, matematikailag helyes számításokat végezhetünk, például:
INF + 10 → INF
INF/0 → INF
10 - INF → -INF
100/0 = INF → True
NAN (Not a Number)
NaN egy határozatlan numerikus számítás eredménye, beleértve az olyan numerikus függvényeket, amelyek paramétere a tartományukon kívül esik, mint például”
INF - INF → NAN
0/0 → NAN
INF/INF → NAN
Sqrt(-1) → NAN
ArcSin(2) → NAN
(Ha engedélyezi a komplex számok használatát, az Sqrt(-1) az érvényes imaginárius számot, 1j-t adja vissza.)
A rendszer általában figyelmeztetést ad, ha egy függvényt a tartományán kívüli paraméterértékre alkalmaz, mint például a fenti két példában – kivéve, ha bejelölte a “Figyelmeztetések figyelmen kívül hagyása” opciót.
A NaN-re alkalmazott bármely aritmetikai művelet, összehasonlítás vagy függvény NaN-t ad vissza:
0/0 <> NAN → NAN
Az INF és NaN ábrázolása és kezelése az Analytica-ban összhangban van az ANSI (Association of National Standards Institutes) szabványokkal és az IEEE lebegőpontos szabványokkal. A NaN a “Not A Number” (nem szám) rövidítése, ami kissé félrevezető, mivel a NaN valóban egyfajta szám. A NaN-t egy kifejezésben az IsNaN() függvény segítségével ismerhetjük fel.
Az INF és NaN értékekkel végzett számítások a matematika törvényeit követik:
1/INF → 0
1/(-INF) → 0
INF + INF → INF
INF - INF → NAN
A NaN-t operandusként vagy paraméterként használó kifejezések eredménye NaN lesz, hacsak a kifejezésnek nincs jól definiált logikai vagy numerikus értéke a NaN bármely értékére:
True OR NAN → True
NAN AND False → False
IF True THEN 5 ELSE NAN → 5
Null
Null
olyan eredmény, amely rosszul definiált, általában azt jelzi, hogy a kért helyen nincs semmi, például egy olyan értéket használó subscript, amely nem egyezik az index értékével:
Index I := 1..5
X → Null
Más műveletek és függvények, amelyek nullát adhatnak vissza, például Slice(), Subscript(), Subindex() és MdTable(), e.pl.
Index Year :=
Slice(Year, 4) → NULL
Variable X := Array(Year, )
X → NULL
Nullra tesztelhet a szabványos = vagy <> operátorokkal, például:
X = Null → True
vagy használhatja a IsNull(X)
. A x=Null
és a IsNull(x)
azonban más, ha a x
egy tömb lehet. A x=Null
egy cellaszintű összehasonlítás, ahol minden egyes cellát nullával való egyenlőségre tesztelünk, és az eredménynek ugyanaz a dimenziója, mint a x
-nek, míg a IsNull(x)
azt vizsgálja, hogy a teljes érték pontosan nulla. Ha a x
egy olyan tömb, ahol minden cella egyenlő Nullal, akkor a IsNull(x)
hamis.
Ha a Null skalárműveletekben jelenik meg, általában figyelmeztetést ad, és nullára értékelődik, például:
10 + Null → Null
Null - 10 → Null
1 AND Null → Null
A tömbre redukáló függvények figyelmen kívül hagyják a Nullot. Ezek a példák szemléltetik (feltételezzük, hogy A
a I
által indexelt I
, ahogy jelezve van).
variable A :=
I ▶ | |||||
---|---|---|---|---|---|
1 | 2 | 3 | 4 | 4 | 5 |
8 | Null | 4 | Null | 0 |
akkor
Sum(A, I) → 12
Average(A, I) → 4
JoinText(A, I, ', ') → "8, 4, 0"
A grafikonok egyszerűen figyelmen kívül hagynak (nem mutatnak) minden olyan pontot, amelynek értéke Null.
A tömböt csökkentő függvények közé tartozik a Sum(), Min(), Max(), ArgMin(), ArgMax(), Product(), Average(), JoinText(), Irr(), Npv().
A regresszió() figyelmen kívül hagyja azokat az adatpontokat is, amelyekben Y = Null
van, ami a hiányzó adatok esetében hasznos.
See Also
- INF, NAN és Null
- IsNaN
- IsNull
- Számok
- Null értékekből eredő hibák
.