Zero verdier i din MATLAB data matrise kan gjøre dataanalyse vanskelig. Statistikk eller signalbehandling beregninger kan gi meningsløse resultater. Tomter kan være vanskelig å lese når null verdier plottes . Utpakking av null verdier - fjerne dem fra din data array - lar deg jobbe med de nyttige data for å få meningsfulle resultater . Du trenger
Numerisk data
Computer
MATLAB
Vis flere instruksjoner
en
Kopier den opprinnelige data array til en annen variabel ved å tildele verdien til en ny variabel navn . Hvis du trenger å bruke matrisen som den var før du fjernet nuller , kan du bruke denne nye variabelen .
P Hvis matrisen kalles M , for eksempel tilordne den til en ny variabel med navn Mzeros . For å gjøre dette , type " Mzeros = M" ( uten anførselstegn ) i Matlab kommandolinje.
2
Lagre den opprinnelige data array i en tekstfil i tilfelle du trenger det igjen senere , ved hjelp MATLAB " dlmwrite "-funksjonen . Hvis MATLAB variable lagrer dataene ved et uhell blir slettet eller overskrevet , kan du re - laste de opprinnelige dataene fra denne tekstfilen .
For eksempel , hvis den opprinnelige data matrise er lagret i variabelen Mzeros , type " 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 av samme størrelse og form. Hold tabellens størrelse og form hvis tabellens rader og kolonner ha spesiell betydning ( for eksempel representerer hver rad en annen eksperimentell prøving , og hver kolonne representerer en annen målt mengde ) . For å beholde samme størrelse og form , skift hver null verdi med en plassholder verdi av NaN (som representerer " ikke et tall ") .
Å erstatte nullverdier med NaN i en matrise kalt 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 samme posisjon (samme rad og kolonne ) , men alle nullene vil nå bli 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 elementene i en tabell kalt 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 ". Erstatte en verdi med [] , slettes det elementet.
P Hvis M var en to - dimensjonal array, vil det nå bli en kolonne vektor , som inneholder alle de nonzero elementer fra den opprinnelige M , tatt kolonne -messig. For eksempel, hvis M var en matrise med to rader og fire kolonner : en
[ 1 6 0 3
2 0 7 4 ]
det vil nå være
[ 1
2
6
7
3
4] .
p Hvis M ble en vektor (bare en rad eller kolonne ), vil det nå være en kortere vektor. For eksempel, hvis M var [ 1 2 0 3 ] , vil det nå være [ 1 2 3 ] .
Rekke endrer sin 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.