Forskellige metoder til at fjerne NaN-værdier fra en matrix i MATLAB

Forskellige Metoder Til At Fjerne Nan Vaerdier Fra En Matrix I Matlab



Det Ikke et nummer værdier, almindeligvis omtalt som NaN-værdier bruges til at repræsentere manglende eller ugyldige data. Disse værdier er ikke reelle værdier; du kan derfor ikke bruge dem i dine matematiske beregninger. Hvis dit resultat eller output inkluderer NaN-værdier , skal du fjerne dem for at sikre, at dine resultater er nøjagtige og konsistente. Årsagen er NaN-værdier vil forstyrre dine matematiske operationer og vil gøre dine resultater unøjagtige. Tilstedeværelsen af ​​disse værdier vil også gøre det vanskeligt at sammenligne dine resultater med andre resultater.

Læs denne vejledning, hvis du vil fjerne NaN-værdier fra en matrix i MATLAB.

Metoder til at fjerne NaN-værdier fra en matrix i MATLAB

Du kan fjerne NAN-værdier fra matrixen i MATLAB:







Metode 1: Fjern NaN-værdier fra en matrix i MATLAB ved hjælp af rmmissing()-funktionen

Det mangler() er en indbygget funktion i MATLAB, som du nemt kan fjerne NaN-værdier fra en matrix i din MATLAB-kode. Denne funktion tager en matrix som input og returnerer en ny matrix, der ikke inkluderer NaN-værdier .



Syntaks
Det mangler() funktion følger en simpel syntaks i MATLAB som angivet nedenfor:



mangler ( M )

Hvor M er en matrix med NaN-værdier .





Eksempel
Følgende eksempel viser brugen af mangler() funktion til at fjerne NaN-værdier fra en brugerspecificeret matrix.

EN = [ 6 9 8 NaN NaN 9 2 7 ] ;
B = mangler ( EN ) ;
disp ( B ) ;



Metode 2: Fjern NaN-værdier fra en matrix i MATLAB ved hjælp af isnan()-funktionen

Du kan også bruge isnan() funktion i din MATLAB-kode for at fjerne NaN værdier fra din matrix. Den bruger det samme argument, som er en matrix, hvorfra du vil fjerne NaN værdier. Men i stedet for at give værdier, giver denne funktion de logiske værdier, det vil sige, at du vil se en logisk 1, hvis der er en NaN værdi i matricen, mens et logisk 0, hvis der er nej NaN værdi i matrixen.

Syntaks

Syntaksen der skal bruges isnan() funktion i MATLAB er givet nedenfor:

er en ( M )

Her, M er den matrix, du vil fjerne fra NaN værdier.

Eksempel

Eksemplet nedenfor ligner det, der allerede er givet til mangler() fungere. Dog i stedet for mangler() , vil vi bruge isnan() funktion til at fjerne NaN-værdier fra koden. Yderligere vil vi også oprette en anden matrix, der gemmer værdierne af en matrix, der ikke inkluderer NaN-værdier.

EN = [ 6 9 8 NaN NaN 9 2 7 ] ;
B = isnan ( EN ) ;
disp ( B )
C = A ( ~B )

Konklusion

Det NaN-værdier gør det svært for dig at få resultatet i din MATLAB-kode. Du kan fjerne dem i din kode ved at bruge mangler() eller isnan() fungere. Brugen af mangler() er ligetil, da det giver resultatet med det samme. Men for tilfældet med isnan() , vil du se de logiske værdier, og for at få den ønskede matrix, skal du hente de elementer fra matrixen, der ikke er NaN . Denne vejledning ovenfor har givet begge disse metoder til at fjerne NaN-værdier fra MATLABs matrix, og du kan vælge den, der passer bedst til dig.