MATLAB中是否有命令允许我在数组中找到所有 NaN (非数字)元素?
答案 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元素标记的列表。