Pergunta

Existe um comando no MATLAB que me permite encontrar todos os NaN (Not-a-Number) elementos dentro de uma matriz?

Foi útil?

Solução 3

Eu só encontrei a resposta:

k=find(isnan(yourarray))

k vai ser uma lista de indicies elemento NaN.

Outras dicas

Como se observa, a melhor resposta é isnan () (embora +1 para meta-resposta lascas de madeira). Um exemplo mais completo de como usá-lo com indexação lógico:

>> 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) retorna uma matriz lógica, uma série de verdadeira e falsa do mesmo tamanho que um, com "verdadeiro" cada lugar há um nan, que pode ser usado para índice em uma.

Enquanto isnan é a solução correta, vou apenas apontar o caminho para tê-lo encontrado. Use lookfor. Quando você não sabe o nome de uma função no MATLAB, tente lookfor.

lookfor nan

rapidamente dar-lhe os nomes de algumas funções que trabalham com NaNs, bem como dando-lhe a primeira linha de seus blocos de ajuda. Aqui, teria listado (entre outras coisas)

Isnan True para Not-a-Number.

que é claramente a função que deseja usar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top