Hvordan Tell NaN i MATLAB

Hvordan Tell NaN i MATLAB


I den matematiske programmeringsmiljø MATLAB, er NaN en spesiell verdi betyr ikke et tall. Verdier av NaN kan oppstå i variabler i tilfeller der en uvanlig operasjon oppstår, for eksempel dele på null. Det kan også skje i visse operasjoner med uendelig, representert som + Inf og -Inf i MATLAB. kan også oppstå NaN verdier ved import av data fra en ødelagt fil eller en uvanlig format. MATLAB tilbyr spesielle funksjoner for å håndtere matriser som inneholder NaN verdier.

Bruksanvisning

1 Opprett eller få en matrise som inneholder NaN verdier. For eksempel "myArray = nan (m, n);" returnerer en m-by-n rekke NaN verdier til variabelen myArray.

2 Finn ut om hver verdi er lik NaN ved hjelp av funksjonen "isnan ()". Dette er nødvendig fordi normale logiske operasjoner, som for eksempel "==", er ikke i stand til å sammenligne NaN verdier. Etter eksempelet ovenfor:

myBooleanArray = isnan (myArray);

3 Sum verdiene i myBooleanArray å bestemme antall NaN verdiene i myArray. I MATLAB, idet summen drift virker bare på den siste dimensjonen. Så, i ovennevnte eksempel på en m-by-n myArray, ville du enten må ringe:

how_many_NaNs = sum (sum (myBooleanArray));

eller:

how_many_NaNs = sum (omskape (myBooleanArray, m * n, 1));

Det andre eksemplet kode fornyer array i en endimensjonal array, slik at summen funksjonen fungerer på hele array.