• 1 INF (ääretön)
  • 2 NAN (Not a Number)
  • 3 Nolla
  • 4 Katso myös

INF (”ääretön”), NAN (”ei luku”) ja Null ovat erikoisarvoisia järjestelmävakioita, jotka Analytica palauttaa tietyissä olosuhteissa, kuten poikkeustapauksissa. Näitä vakioita voidaan käyttää myös arvoina lausekkeissa.

Vakio Merkitys
INF Ääretön tai reaaliluku, joka on suurempi kuin mitä voidaan esittää, esim, 1/0
NAN Epämääräinen luku, joka on numeerinen arvo, joka ei ole hyvin määritelty, kuten 0/0. Koodinimi NAN kärsii valitettavasta historiallisesta nimivirheestä siinä mielessä, että se tarkoittaa ”Not A Number” (ei numeroa); sitä pidetään kuitenkin numeerisena tietotyyppinä, ja näin ollen IsNumber(NAN) on totta.
Null Tulos operaatiosta, jossa haluttua tietoa ei ole, kuten

X, jossa indeksillä I ei ole arvoa '?'

INF (ääretön)

INF on numeerisen laskutoimituksen tulos, joka on matemaattisesti ääretön, kuten esim:

1/0 → INF

INF on myös sellaisen laskutoimituksen tulos, joka tuottaisi luvun, joka on suurempi kuin 1.797 x10+308, joka on suurin liukuluku, jonka Analytica voi esittää:

10^1000 → INF

INF voi olla positiivinen tai negatiivinen:

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

Siten -INF tarkoittaa negatiivista äärettömyyttä (tai lukua, joka on pienempi kuin -1.796E308).

Voit suorittaa INF:llä hyödyllistä, matemaattisesti oikeaa aritmetiikkaa, kuten esim:

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

NAN (Not a Number)

NaN on määrittelemättömän numeerisen laskutoimituksen tulos, mukaan lukien numeeriset funktiot, joiden parametri on toimialueensa ulkopuolella, kuten”

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

(Jos otat käyttöön kompleksiluvut, Sqrt(-1) palauttaa kelvollisen imaginääriluvun, 1j.)

Se antaa yleensä varoituksen, jos sovellat funktiota parametriarvoon, joka on sen alueen ulkopuolella, kuten kahdessa yllä olevassa esimerkissä – ellet ole valinnut kohtaa ”Ignore warnings” (Älä huomioi varoituksia).

Mikä tahansa aritmeettinen operaatio, vertailu tai funktio, jota sovelletaan NaN:iin, antaa tulokseksi NaN:n:n:

0/0 <> NAN → NAN

Analytican esitysmuoto ja INF:n ja NaN:n kohtelu vastaa ANSI:n standardeja ja IEEE:n kellotaajuuskeskiarvostandardeja. NaN on lyhenne sanoista ”Not A Number”, mikä on hieman harhaanjohtavaa, sillä NaN on todellakin eräänlainen luku. Voit havaita NaN:n lausekkeessa käyttämällä IsNaN()-funktiota.

INF:llä ja NaN:llä suoritetut laskutoimitukset noudattavat matematiikan lakeja:

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

Lausekkeet, jotka ottavat operandiksi tai parametriksi NaN:n, antavat tuloksekseen NaN:n, ellei lausekkeella ole hyvin määriteltyä loogista tai numeerista arvoa mille tahansa NaN:n arvolle:

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

Null

Nullon tulos, joka on huonosti määritelty, yleensä osoittaen, että pyydetyssä paikassa ei ole mitään, esimerkiksi subscripti, joka käyttää arvoa, joka ei vastaa indeksin arvoa:

Index I := 1..5 X → Null

Muita operaatioita ja funktioita, jotka voivat palauttaa Noll:n, ovat muun muassa Slice()-operaatio(), Subscript()-operaatio (), Subindex()-operaatio() ja MdTable()-operaatio()-operaatio, esim.g.

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

Voit testata Nollaa käyttämällä tavallisia =- tai <>-operaattoreita, kuten:

X = Null → True

tai voit käyttää IsNull(X). x=Null ja IsNull(x) ovat kuitenkin erilaisia, kun x voi olla joukko. x=Null on solutasoinen vertailu, jossa jokaisessa solussa testataan, onko se yhtä suuri kuin nolla, ja tuloksella on sama ulottuvuus kuin x, kun taas IsNull(x) testaa, onko koko arvo täsmälleen nolla. Kun x on joukko, jonka jokainen solu on yhtä suuri kuin Null, IsNull(x) on epätosi.

Kun Null esiintyy skalaarioperaatioissa, se tuottaa yleensä varoituksen ja evaluoituu nollaksi, esimerkiksi:

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

Monisteiden pelkistävät funktiot eivät huomioi Nullia. Nämä esimerkit havainnollistavat (oletetaan, että A on indeksoitu I:llä, kuten ilmoitettu).

variable A :=

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

Silloin

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

Graafit yksinkertaisesti jättävät huomiotta (eivät näytä) pistettä, jonka arvo on Null.

Array-redusoivat funktiot ovat Sum(), Min(), Max(), ArgMin(), ArgMax(), Product(), Average(), JoinText(), Irr(), Npv().

Regression() jättää myös huomiotta kaikki datapisteet, joissa on Y = Null, mikä on hyödyllistä puuttuvien tietojen tapauksessa.

See Also

  • INF, NAN ja Null
  • IsNaN
  • IsNull
  • Luvut
  • Nolla-arvoista johtuvat virheet

Luvut ja tekstitINF, NAN ja NULL – PoikkeusarvotVaroitukset

Articles

Vastaa

Sähköpostiosoitettasi ei julkaista.