Slik pakker du ut Zeros i Matlab

Slik pakker du ut Zeros i Matlab


Null verdier i din MATLAB data matrise kan gjøre din dataanalyse vanskelig. Statistikk eller signalbehandling beregninger kan gi meningsløse resultater. Tomter kan være vanskelig å lese når null verdier er plottet. Utpakking av nullverdier - å fjerne dem fra data array - lar deg jobbe med de nyttige data for å få meningsfulle resultater.

Bruksanvisning

1 Kopier den opprinnelige data array til en annen variabel ved å tilordne verdien til en ny variabel navn. Hvis du trenger å bruke tabellen som det var før du fjernet nuller, kan du bruke denne nye variabelen.

Hvis matrisen kalles M, for eksempel tilordne den til en ny variabel kalt Mzeros. For å gjøre dette, skriver du "Mzeros = M" (uten anførselstegn) i Matlab kommandolinjen.

2 Lagre de opprinnelige dataene array i en tekstfil i tilfelle du trenger det igjen senere, ved hjelp av MATLAB "dlmwrite" -funksjon. Hvis MATLAB variable lagring av data ved et uhell blir slettet eller overskrevet, kan du re-load de opprinnelige dataene fra denne tekstfilen.

For eksempel, hvis den opprinnelige dataene tabellen er lagret i variabelen Mzeros, skriv "dlmwrite ( 'Mzeros.dat', Mzeros)" (uten anførselstegn) for å skrive Mzeros til en tekstfil kalt Mzeros.dat.

Du kan hoppe over dette trinnet hvis dataene allerede er lagret i en tekstfil.

3 Avgjør om du trenger for å holde data matrise samme størrelse og form. Hold rekke størrelse og form hvis tabellens rader og kolonner har bestemt mening (for eksempel, representerer hver rad en annen eksperimentell studie, og hver kolonne representerer en annen målte mengde). For å holde samme størrelse og form, erstatte hver null verdi med en plassholder verdien av NaN (som representerer "ikke et tall").

For å skifte ut nullverdier med NaN i en matrise kalles M, type "M (M == 0) = NaN" uten anførselstegn. Husk å skrive M == 0 med to likhetstegn. Denne kommandoen forteller MATLAB for å finne alle elementene i M lik null, og erstatte dem med NaN.

Alt i matrisen forblir i den samme posisjon (samme rad og kolonne), men alle nuller vil nå være NaN. Siden de fleste MATLAB funksjoner ignorere NaN verdier, kan du plotte og analysere dataene som om de nans var ikke der, får meningsfulle resultater.

4 Du kan slette null elementene helt (i stedet for å erstatte dem med plassholdere) hvis matrisen er en enkel liste over verdier, uten meningsfulle rader og kolonner. Hvis du vil slette null elementer i en matrise kalles M, type "M (M == 0) = []" (uten anførselstegn). Husk å skrive M == 0 med to likhetstegn. Denne kommandoen forteller MATLAB for å finne alle elementene i M lik null, og erstatte dem med []. [] Representerer "tom". Skifte en verdi med [] sletter det elementet.

Hvis M var en to-dimensjonal matrise, vil det nå være en kolonnevektor, som inneholder alle de ikke-null elementer fra den opprinnelige M, tatt kolonnevis. For eksempel, hvis M var en matrise med to rekker og fire kolonner:

[1 6 0 3

2 0 7 4]

det vil nå være

[1

2

6

7

3

4].

Hvis M var en vektor (bare én rad eller kolonne), vil det nå bli en kortere vektor. For eksempel, hvis M var [1 2 0 3], vil det nå være [1 2 3].

Matrisen endrer størrelse og form når du sletter null elementer. Men siden matrisen har ingen plassholder NaN verdier, kan du analysere dataene selv med MATLAB funksjoner som ikke ignorere NaN verdier.

Hint

  • Hvis dataene matrise ikke er navngitt M, bare erstatte M med navnet på matrisen når du skriver en kommando.
  • Pass på at null verdier egentlig er meningsløst før du fjerner dem. Hvis de mener noe i dataene, fjerne dem kan gi feilaktige eller misvisende resultater.
  • Hvis data matrise er veldig stort, kan kopiere den til en annen MATLAB variabel ta opp for mye minne, bremse eller krasjer MATLAB. Kontroller at tabellen er lagret i en tekstfil, og ikke kopiere den til en annen variabel.
  • Noen MATLAB funksjoner ikke ignorere nans, og kan returnere feil eller meningsløse resultater hvis du bruker NaN plassholdere. Sjekk MATLAB dokumentasjon for hver funksjon du bruker i dataanalyse.