查找Array中的所有NaN元素

时间:2009-11-11 07:57:57

标签: matlab nan

MATLAB中是否有命令允许我在数组中找到所有 NaN (非数字)元素?

3 个答案:

答案 0 :(得分:24)

如上所述,最好的答案是isnan()(虽然为木片的元回答+1)。有关如何将其与逻辑索引一起使用的更完整示例:

>> 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)返回一个逻辑数组,一个true&数组。假的大小与a相同,“true”每个地方都有一个nan,可用于index into a.

答案 1 :(得分:23)

虽然isnan是正确的解决方案,但我只想指出找到它的方法。使用lookfor。如果您不知道MATLAB中函数的名称,请尝试查找。

lookfor nan

将快速为您提供一些与NaN一起使用的函数的名称,以及为您提供帮助块的第一行。在这里,它会列出(除其他外)

ISNAN对于非数字是真的。

这显然是你想要使用的功能。

答案 2 :(得分:9)

我刚刚找到答案:

k=find(isnan(yourarray))

k将是NaN元素标记的列表。