Domanda

C'è un comando in MATLAB che mi permette di trovare tutte le NaN (Not-a-Number) elementi all'interno di un array?

È stato utile?

Soluzione 3

Ho appena trovato la risposta:

k=find(isnan(yourarray))

k sarà un elenco di elementi indicies NaN.

Altri suggerimenti

Come già detto, la risposta migliore è isNaN () (anche se uno di cippato meta-risposta). Un esempio più completo di come usarlo con indicizzazione logica:

>> a = [1 nan;nan 2]

a =

  1   NaN
NaN     2

>> %replace nan's with 0's
>> a(isnan(a))=0

a =

 1     0
 0     2

isNaN (a) restituisce una matrice logica, una serie di vero e falso le stesse dimensioni di una, con "vero" ogni luogo c'è un nan, che può essere utilizzato per indice in una.

Mentre isnan è la soluzione corretta, mi limiterò a sottolineare il modo di averlo trovato. Utilizzare lookfor. Quando non si conosce il nome di una funzione in MATLAB, provare lookfor.

lookfor nan

sarà presto dare i nomi di alcune funzioni che lavorano con NaNs, oltre a dare la prima linea dei loro blocchi di aiuto. Qui, sarebbe elencati (tra le altre cose)

isNaN Vero per Non-a-numero.

che è chiaramente la funzione che si desidera utilizzare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top