Pregunta

¿Hay un comando en MATLAB que me permite encontrar todos los NaN (No-A-Number) elementos dentro de una matriz?

¿Fue útil?

Solución 3

acabo de encontrar la respuesta:

k=find(isnan(yourarray))

k será una lista de índices del elemento NaN.

Otros consejos

Como se ha señalado, la mejor respuesta es isnan () (aunque 1 de meta-respuesta astillas de madera). Un ejemplo más completo de cómo usarlo con la indexación lógica:

>> 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) devuelve una matriz lógica, una matriz de la verdadera y falsa del mismo tamaño que una, la "verdadera" cada lugar hay un nan, que puede ser utilizado a índice en una.

Mientras isnan es la solución correcta, sólo voy a señalar la forma en que ha encontrado. Utilice lookfor. Cuando no se conoce el nombre de una función en MATLAB, tratar lookfor.

lookfor nan

rápidamente le dará los nombres de algunas de las funciones que trabajan con NaNs, así como que le da la primera línea de sus bloques de ayuda. En este caso, habría que aparece (entre otras cosas)

isNaN True para not-a-Number.

que es claramente la función que desea utilizar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top