nollvärden i din MATLAB datauppställning kan göra din dataanalys svårt . Statistik eller signal beräkningar bearbetning kan ge meningslösa resultat . Tomter kan vara svårt att läsa när nollvärden plottas . Extrahera de nollvärden - ta bort dem från din datauppställning - kan du arbeta med användbara data för att få meningsfulla resultat . Saker du behöver
numeriska data
Computer
MATLAB
Visa fler instruktioner
1
Kopiera din ursprungliga datauppställning till en annan variabel genom att tilldela dess värde till ett nytt variabelnamn. Om du behöver använda arrayen som det var innan du tog bort nollor , kan du använda den nya variabeln .
P Om arrayen kallas M , till exempel , tilldela den till en ny variabel som heter Mzeros . För att göra detta , typ " Mzeros = M " ( utan citattecken ) på kommandoraden i MATLAB .
2
Spara originalförpackningen datauppställningen i en textfil i fall du behöver det igen senare , med hjälp av MATLAB " dlmwrite " funktionen . Om MATLAB variabeln lagrar dina data oavsiktligt tas bort eller skrivas över , kan du åter läsa de ursprungliga uppgifterna från denna textfil .
Om exempelvis den ursprungliga uppgifterna matrisen lagras i variabeln Mzeros , typ " dlmwrite ( ' Mzeros.dat ' , Mzeros ) " ( utan citattecken ) för att skriva Mzeros till en textfil som heter Mzeros.dat .
Du kan hoppa över det här steget om dina data redan lagrats i en textfil . Addera 3
Bestäm om du behöver för att hålla dina data matris av samma storlek och form . Håll array storlek och form om matrisens rader och kolumner har specifik betydelse ( till exempel , representerar varje rad olika experimentella försök , och varje kolumn representerar en annan uppmätt mängd ) . För att behålla samma storlek och form , byt varje nollvärde med en platshållare värdet NaN ( representerande " inte ett nummer " ) .
Att ersätta de nollvärden med NaN i en array med namnet M , typ " M ( M == 0 ) = NaN " utan citattecken . Var noga med att skriva M == 0 med två lika tecken . Detta kommando talar MATLAB för att hitta alla delar av M är lika med noll , och ersätta dem med NaN .
Allt i arrayen stannar i samma position ( samma rad och kolumn ) , men alla nollor blir nu NaN. Eftersom de flesta MATLAB -funktioner ignorera NaN värden , kan du rita och analysera data som om Nans var inte där , få meningsfulla resultat .
4
Du kan radera noll elementen helt ( snarare än att ersätta dem med platshållare ) om matrisen är en enkel lista med värden , utan meningsfulla rader och kolumner . Om du vill radera noll element i en array kallas M , typ " M ( M == 0 ) = [ ] " ( utan citattecken ) . Var noga med att skriva M == 0 med två lika tecken . Detta kommando talar MATLAB för att hitta alla delar av M är lika med noll , och ersätta dem med [ ] . [ ] Betecknar " tomt . " Byta ett värde med [ ] raderas det elementet .
P Om M var en tvådimensionell array , kommer den nu att en kolonn vektor , som innehåller alla de nonzero element från den ursprungliga M , tagna kolumn - wise . Till exempel, om M var en matris med två rader och fyra kolumner :
[ 1 6 0 3
2 0 7 4 ]
p Det kommer nu att bli
[ 1
2 Review
6
7
3
4 ] .
p Om M var en vektor (endast en rad eller kolumn ) , kommer det nu att en kortare vektor. Till exempel, om M var [ 1 2 0 3 ] , blir det nu [ 1 2 3 ] .
Array ändrar dess storlek och form när du tar bort noll element . Men eftersom gruppen har inga platshållare NaN värden , kan du analysera data även med MATLAB -funktioner som inte ignorera NaN värden .