• 1 INF (nekonečno)
  • 2 NAN (Not a Number)
  • 3 Null
  • 4 Viz také

INF („nekonečno“), NAN („není číslo“) a Null jsou systémové konstanty se speciální hodnotou, které Analytica vrací za určitých podmínek, například při výjimkách. Tyto konstanty lze také použít jako hodnoty ve výrazech.

Konstanta Význam
INF Nekonečno nebo reálné číslo větší, než lze reprezentovat, např, 1/0
NAN Neurčité číslo, což je číselná hodnota, která není dobře definovaná, například 0/0. Kódové označení NAN trpí nešťastným historickým chybným pojmenováním, neboť znamená „Not A Number“, nicméně je považováno za číselný datový typ, a proto platí IsNumber(NAN).
Null Výsledek operace, kde požadovaný údaj není, jako například

X, kde index I nemá hodnotu '?'

INF (nekonečno)

INF je výsledek numerického výpočtu, který je matematicky nekonečný, jako např:

1/0 → INF

INF je také výsledek výpočtu, jehož výsledkem by bylo číslo větší než 1.797 x10+308, což je největší číslo s pohyblivou řádovou čárkou, které může Analytica reprezentovat:

10^1000 → INF

INF může být kladné nebo záporné:

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

Takže -INF znamená záporné nekonečno (nebo číslo menší než -1.796E308).

S INF můžete provádět užitečné, matematicky správné aritmetické operace, jako např:

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

NAN (Not a Number)

NaN je výsledek neurčitého numerického výpočtu, včetně numerických funkcí, jejichž parametr je mimo jejich obor, například“

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

(Pokud povolíte komplexní čísla, Sqrt(-1) vrátí platné imaginární číslo 1j.)

Obvykle vydá varování, pokud použijete funkci na hodnotu parametru mimo její rozsah, jako jsou dva výše uvedené příklady – pokud jste nezaškrtli „Ignorovat varování“.

Každá aritmetická operace, porovnání nebo funkce aplikovaná na NaN vrátí NaN:

0/0 <> NAN → NAN

Prezentace a zacházení s INF a NaN v programu Analytica je v souladu se standardy ANSI (Association of National Standards Institutes) a IEEE Floating point. NaN znamená „Not A Number“, což je trochu zavádějící, protože NaN je skutečně druh čísla. NaN ve výrazu můžete zjistit pomocí funkce IsNaN().

Výpočty prováděné s INF a NaN se řídí zákony matematiky:

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

Výrazy přijímající NaN jako operand nebo parametr dávají jako výsledek NaN, pokud výraz nemá dobře definovanou logickou nebo číselnou hodnotu pro libovolnou hodnotu NaN:

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

Null

Nullje špatně definovaný výsledek, který obvykle znamená, že na požadovaném místě nic není, například index s použitím hodnoty, která neodpovídá hodnotě indexu:

Index I := 1..5 X → Null

Mezi další operace a funkce, které mohou vrátit Null, patří Slice(), Subscript(), Subindex() a MdTable(), např.Například

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

Nulové hodnoty můžete testovat pomocí standardních operátorů = nebo <>, například:

X = Null → True

nebo můžete použít IsNull(X). Avšak x=Null a IsNull(x) se liší, když x může být pole. x=Null je porovnání na úrovni buněk, kdy je každá buňka testována na rovnost s Null, přičemž výsledek má stejný rozměr jako x, zatímco IsNull(x) testuje, zda je celá hodnota přesně Null. Pokud je x pole, kde je každá buňka rovna Null, IsNull(x) je false.

Pokud se Null objeví ve skalárních operacích, zpravidla vyvolá varování a vyhodnotí se jako Null, například:

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

Funkce redukující pole ignorují Null. Tyto příklady to demonstrují (předpokládejte, že A je indexováno I, jak je uvedeno).

variable A :=

.

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

Ten

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

Grafy budou jednoduše ignorovat (nezobrazí) žádný bod, jehož hodnota je Null.

Mezi funkce redukující pole patří Sum(), Min(), Max(), ArgMin(), ArgMax(), Product(), Average(), JoinText(), Irr(), Npv().

Regrese() také ignoruje všechny datové body, které mají Y = Null, což je užitečné pro chybějící data.

Viz také

  • INF, NAN a Null
  • IsNaN
  • IsNull
  • Numbers
  • Errors resulting from Null values

Numbers and textINF, NAN, and NULL – Exception valuesWarnings

.

Articles

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.