Cum de a extrage zerouri în Matlab

Extragerea valorilor de la zero vă poate ajuta să creați diagrame utile cu datele dvs.

Pasul 1

Copiați matricea de date originale la o altă variabilă, atribuiți valoarea acesteia unui nou nume de variabilă. Dacă trebuie să utilizați matricea așa cum a fost înainte de a elimina zerourile, puteți utiliza această nouă variabilă.

Dacă matricea este numită M, de exemplu, o atribuiți unei noi variabile numite Mzeros. Pentru aceasta, tastați "Mzeros = M" (fără citate) din linia de comandă Matlab.

Pasul 2

Salvați matricea originală de date într-un fișier text în cazul în care aveți nevoie din nou mai târziu, folosind funcția "dlmwrite" din MATLAB. Dacă variabila MATLAB care stochează accidental datele dvs. este ștersă sau suprascrisă, puteți reîncărca datele originale din acest fișier text.

De exemplu, dacă matricea de date originală este stocată în variabila Mzeros, tastați "dlmwrite ('Mzeros.dat', Mzeros)" (fără ghilimele) pentru a scrie Mzeros într-un fișier text numit Mzeros.dat.

Puteți sări peste acest pas dacă datele sunt deja stocate într-un fișier text.

Pasul 3

Decideți dacă trebuie să păstrați matricea de date cu aceeași dimensiune și formă. Păstrați dimensiunea matricei și a formei dacă rândurile matricei și coloanelor au o semnificație specifică (de exemplu, fiecare rând reprezintă un test experimental diferit și fiecare coloană reprezintă o altă valoare de măsurare). Pentru a păstra aceeași dimensiune și aceeași formă, înlocuiți fiecare valoare zero cu o valoare de substituție NaN (care reprezintă "nu este un număr").

Pentru a înlocui valorile zeroului cu NaN într-o matrice numită M, scrie "M (M == 0) = NaN" fără ghilimele. Asigurați-vă că scrieți M == 0 cu două semne de egalitate. Această comandă îi spune MATLAB-ului să găsească toate elementele lui M egale cu zero și să le înlocuiască cu NaN.

Totul din matrice rămâne în aceeași poziție (același rând și coloană), dar toate zerouri vor fi acum NaN. Deoarece majoritatea funcțiilor MATLAB ignoră valorile NaN, puteți să grafice și să analizați datele ca și cum NaN-urile nu ar fi acolo, obținând rezultate semnificative.

Pasul 4

Puteți elimina complet elementele zero (în loc să le înlocuiți cu substituenți) dacă matricea este o listă simplă de valori, fără rânduri și coloane semnificative. Pentru a elimina elementele zero într-o matrice numită M, scrie "M (M == 0) = []" (fără citate). Asigurați-vă că scrieți M == 0 cu două semne de egalitate. Această comandă îi spune MATLAB-ului să găsească toate elementele lui M egale cu zero și să le înlocuiască cu []. [] reprezintă "gol". Înlocuirea unei valori cu [] elimină acest element.

Dacă M ar fi o matrice bidimensională, va fi acum un vector de coloană, care conține toate elementele nonzero ale originalului M, luate ca o coloană. De exemplu, dacă M a fost un matrice cu două rânduri și patru coloane:

[1 6 0 3 2 0 7 4]

acum va fi [1 2 6 7 3 4].

Dacă M a fost un vector (doar un rând sau o coloană), acesta va fi acum un vector mai scurt. De exemplu, dacă M a fost [1 2 0 3], acum va fi [1 2 3].

Matricea își schimbă forma și dimensiunea atunci când ștergeți elementele zero. Dar, deoarece matricea nu are valori de substituție NaN, puteți analiza datele, chiar și cu funcții MATLAB care nu ignoră valorile NaN.