Come eliminare NaNs in una matrice in MATLAB

December 30

"NaN" significa "non un numero", ed è utilizzato in MATLAB e altri strumenti software per computer per rappresentare i risultati delle operazioni numeriche che non possono essere rappresentati come numeri. Se si dispone di una matrice con valori NaN in MATLAB, sostituirli con zeri o altri valori per evitare errori nei calcoli futuri. Utilizzare la funzione "isNaN" per indicizzare le posizioni NaN nella matrice, e utilizzare l'operatore di assegnazione per sostituirli.

istruzione

1 Definire una matrice con un paio di Nans con il seguente comando:

a = [[1 NaN 3], [3 4 5]; [NaN NaN 1]]

2 Identificare le posizioni dei NaNs con questo comando: isNaN (a). Questo non elimina la NaN, ma mostra come funziona la funzione "isNaN". Una matrice è la stessa dimensione come "a" con quelli nelle posizioni del NaNs viene restituito.

3 Tipo "un (isNaN (a)) = 0" (senza virgolette) per sostituire le NaNs con gli zeri. Poiché il risultato di "isnan (a)" viene utilizzato per indicizzare "a", l'operazione di assegnazione che segue si applica a ciascuno dei valori NaN in "a", e non gli altri valori.