Come estrarre zeri in Matlab

March 10

Come estrarre zeri in Matlab


Zero valori nella propria matrice di dati MATLAB può rendere la vostra analisi dei dati difficile. Statistiche o calcoli di elaborazione dei segnali possono dare risultati privi di significato. I grafici possono essere difficili da leggere quando valori zero vengono tracciati. Estrazione dei valori zero - rimuovendoli dal vostro allineamento dei dati - consente di lavorare con i dati utili per ottenere risultati significativi.

istruzione

1 Copiare l'array dati originali ad un'altra variabile assegnando il valore di un nuovo nome di variabile. Se è necessario utilizzare la matrice come era prima rimosso gli zeri, è possibile utilizzare questa nuova variabile.

Se la matrice è chiamato M, per esempio, assegnare a una nuova variabile denominata Mzeros. Per fare questo, digitare "Mzeros = M" (senza le virgolette) nella riga di comando Matlab.

2 Salvare la matrice dati originali in un file di testo nel caso in cui se ne ha bisogno in seguito, utilizzando la funzione di MATLAB "dlmwrite". Se la variabile MATLAB memorizzare i dati accidentalmente viene eliminato o sovrascritto, è possibile ricaricare i dati originali da questo file di testo.

Ad esempio, se l'array di dati originale viene memorizzato nella variabile Mzeros, digitare "dlmwrite ( 'Mzeros.dat', Mzeros)" (senza le virgolette) di scrivere Mzeros in un file di testo chiamato Mzeros.dat.

È possibile saltare questo passaggio se i dati sono già memorizzati in un file di testo.

3 Decidere se è necessario mantenere l'array di dati della stessa dimensione e forma. Mantenere dimensioni della matrice e la forma se righe e colonne della matrice hanno un significato specifico (ad esempio, ogni riga rappresenta un diverso processo sperimentale e ciascuna colonna rappresenta una quantità misurata diversa). Per mantenere la stessa dimensione e forma, sostituire ciascun valore nullo con un valore segnaposto di NaN (che rappresenta "non un numero").

Per sostituire i valori zero con NaN in un array chiamato M, tipo "M (M == 0) = nan" senza virgolette. Assicurarsi di digitare M == 0 con due fa segni. Questo comando dice a MATLAB per trovare tutti gli elementi di M pari a zero, e sostituirli con NaN.

Tutto nella matrice rimane nella stessa posizione (stessa riga e colonna), ma tutti gli zeri sarà ora NaN. Poiché la maggior parte funzioni di MATLAB ignorano i valori Nan, è possibile tracciare e analizzare i dati come se le NaNs non erano lì, ottenendo risultati significativi.

4 È possibile eliminare gli elementi di zero del tutto (piuttosto che la loro sostituzione con segnaposti) se la matrice è un semplice elenco di valori, senza righe e colonne significative. Per eliminare gli elementi a zero in un array chiamato M, tipo "M (M == 0) = []" (senza virgolette). Assicurarsi di digitare M == 0 con due fa segni. Questo comando indica MATLAB per trovare tutti gli elementi di M uguale a zero, e sostituirli con []. [] Rappresenta "vuoto". Sostituzione di un valore con [] cancella quell'elemento.

Se M è una matrice bidimensionale, ora sarà un vettore colonna, contenente tutti gli elementi diversi da zero dalla M originale, scattata colonna-saggio. Ad esempio, se M è un array con due righe e quattro colonne:

[1 6 0 3

2 0 7 4]

sarà ora

[1

2

6

7

3

4].

Se M è un vettore (una sola riga o colonna), sarà ora un vettore più breve. Ad esempio, se M è [1 2 0 3], sarà ora [1 2 3].

La matrice cambia la sua dimensione e la forma quando si eliminano gli elementi a zero. Ma dal momento che la matrice non ha segnaposto valori Nan, è possibile analizzare i dati anche con funzioni di MATLAB che non ignorare i valori NaN.

Consigli e avvertenze

  • Se l'array di dati non è denominato M, è sufficiente sostituire M con il nome del vostro array quando si digita un comando.
  • Assicurarsi che i valori zero sono davvero senza senso prima di rimuoverli. Se significano qualcosa nei dati, la loro rimozione potrebbe dare risultati sbagliati o fuorvianti.
  • Se l'array di dati è molto grande, copiandolo in un'altra variabile MATLAB potrebbe richiedere troppa memoria, rallentare o crash MATLAB. Assicurarsi che la matrice viene salvato in un file di testo, e non copiare ad un'altra variabile.
  • Poche funzioni di MATLAB non ignorare NaN, e possono restituire errori o risultati privi di significato se si utilizzano segnaposto NaN. Controllare la documentazione MATLAB per ogni funzione si utilizza nella vostra analisi dei dati.