Ulike metoder for å fjerne NaN-verdier fra en matrise i MATLAB

Ulike Metoder For A Fjerne Nan Verdier Fra En Matrise I Matlab



De Ikke et nummer verdier, ofte referert til som NaN-verdier brukes til å representere manglende eller ugyldige data. Disse verdiene er ikke reelle verdier; dermed kan du ikke bruke dem i dine matematiske beregninger. Hvis resultatet eller utgangen inkluderer NaN-verdier , må du fjerne dem for å sikre at resultatene dine er nøyaktige og konsistente. Grunnen er NaN-verdier vil forstyrre matematiske operasjoner og gjøre resultatene unøyaktige. Tilstedeværelsen av disse verdiene vil også gjøre det vanskelig å sammenligne resultatene dine med andre resultater.

Les denne veiledningen hvis du vil fjerne NaN-verdier fra en matrise i MATLAB.

Metoder for å fjerne NaN-verdier fra en matrise i MATLAB

Du kan fjerne NAN-verdier fra matrisen i MATLAB:







Metode 1: Fjern NaN-verdier fra en matrise i MATLAB ved å bruke rmmissing()-funksjonen

De mangler() er en innebygd funksjon i MATLAB som du enkelt kan bruke til å fjerne NaN-verdier fra en matrise i MATLAB-koden din. Denne funksjonen tar en matrise som input og returnerer en ny matrise som ikke inkluderer NaN-verdier .



Syntaks
De mangler() funksjonen følger en enkel syntaks i MATLAB som gitt nedenfor:



mangler ( M )

Hvor M er en matrise som har NaN-verdier .





Eksempel
Følgende eksempel viser bruken av mangler() funksjon for å fjerne NaN-verdier fra en brukerspesifisert matrise.

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



Metode 2: Fjern NaN-verdier fra en matrise i MATLAB ved å bruke isnan()-funksjonen

Du kan også bruke isnan() funksjon i MATLAB-koden for å fjerne NaN verdier fra matrisen din. Den bruker det samme argumentet som er en matrise som du vil fjerne NaN verdier. Men i stedet for å gi verdier, gir denne funksjonen de logiske verdiene, det vil si at du vil se en logisk 1 hvis det er en NaN-verdi i matrisen mens en logisk 0 hvis det er nei NaN-verdi i matrisen.

Syntaks

Syntaksen som skal brukes isnan() funksjon i MATLAB er gitt nedenfor:

er en ( M )

Her, M er matrisen du vil fjerne fra NaN verdier.

Eksempel

Eksemplet nedenfor ligner på det som allerede er gitt for mangler() funksjon. Imidlertid i stedet for mangler() , vil vi bruke isnan() funksjon for å fjerne NaN-verdier fra koden. Videre vil vi også lage en annen matrise som vil lagre verdiene til en matrise som ikke inkluderer NaN-verdier.

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

Konklusjon

De NaN-verdier gjør det vanskelig for deg å få resultatet i MATLAB-koden din. Du kan fjerne dem i koden din ved å bruke mangler() eller isnan() funksjon. Bruken av mangler() er grei da det gir resultatet umiddelbart. Imidlertid for tilfelle av isnan() , vil du se de logiske verdiene og for å få ønsket matrise, må du hente elementene fra matrisen som ikke er NaN . Denne veiledningen ovenfor har gitt begge disse metodene for å fjerne NaN-verdier fra MATLABs matrise, og du kan velge den som passer best for deg.