Nulværdier i din MATLAB data array kan gøre din dataanalyse vanskelig. Statistikker eller signalbehandling beregninger kan give meningsløse resultater. Plots kan være svært at læse, når nul værdier er plottet . Udpakning nulværdierne - fjerne dem fra din data array - kan du arbejde med de nyttige data for at få brugbare resultater . Ting du skal
Numerisk data
Computer
MATLAB
Vis Flere Instruktioner
1
Copy din oprindelige data array til en anden variabel ved at tildele værdien til et nyt variabelnavn. Hvis du skal bruge array som det var før du har fjernet nuller , kan du bruge denne nye variabel.
Hvis array kaldes M , for eksempel, tildele den til en ny variabel navngivne Mzeros . For at gøre dette , skriv " Mzeros = M" ( uden anførselstegn ) på Matlab kommandolinjen.
2
Gem den originale data array i en tekstfil , hvis du har brug for det igen senere , ved hjælp af MATLAB " dlmwrite "-funktion. Hvis MATLAB variable lagring af dine data ved et uheld bliver slettet eller overskrevet , kan du genindlæse de oprindelige data fra denne tekstfil.
For eksempel, hvis de oprindelige data array er gemt i variablen Mzeros , type " dlmwrite ( ' Mzeros.dat ' Mzeros ) "( uden anførselstegn ) for at skrive Mzeros til en tekstfil kaldet Mzeros.dat .
p Du kan springe dette trin over, hvis dine data allerede er gemt i en tekstfil .
3
Beslut, om du har brug for at holde din data matrix den samme størrelse og form. Hold array størrelse og form , hvis array- rækker og kolonner har specifik betydning (for eksempel repræsenterer hver række en anden eksperimentel undersøgelse , og hver kolonne repræsenterer et andet målte mængde ) . For at holde den samme størrelse og form, udskifte hver nul værdi med en pladsholder værdi på NaN (som repræsenterer " ikke et tal ").
For at erstatte de nul værdier med NaN i et array kaldet M , type "M ( M == 0) = NaN "uden anførselstegn. Vær sikker på at skrive M == 0 med to lighedstegn . Denne kommando fortæller MATLAB for at finde alle de elementer af M lig med nul, og erstatte dem med NaN .
Alt i matrix forbliver i samme position (samme række og kolonne) , men alle de nuller vil nu blive NaN . Da de fleste MATLAB funktioner ignorere NaN værdier, kan du plotte og analysere data , som om de NaN ikke var der , at få meningsfulde resultater .
4 p Du kan slette de nul elementer helt (i stedet erstatte dem med pladsholdere ) hvis array er en simpel liste over værdier , uden meningsfulde rækker og kolonner. At slette de nul elementer i et array kaldet M , type "M (M == 0) = [ ] " (uden anførselstegn). Vær sikker på at skrive M == 0 med to lighedstegn . Denne kommando fortæller MATLAB for at finde alle de elementer af M lig med nul, og erstatte dem med []. [ ] Repræsenterer " tom ". Udskiftning af et værdi med [] sletter dette element.
P Hvis M var en to -dimensionel array, vil det nu være en kolonne vektor , der indeholder alle de nonzero elementer fra den oprindelige M , taget kolonne -wise . For eksempel, hvis M var en matrix med to rækker og fire kolonner : [1 6 0 3 fotos
2 0 7 4]
det vil nu være
[ 1
2
6 fotos
7
3 fotos
4].
p Hvis M blev en vektor ( kun én række eller kolonne ) , vil det nu være en kortere vektor . For eksempel, hvis M var [1 2 0 3 ] , vil det nu blive [ 1 2 3].
Vifte ændrer sin størrelse og form, når du sletter nul elementer. Men da array har ingen pladsholder NaN værdier, kan du analysere de data, selv med Matlab funktioner, der ikke ignorere NaN værdier.