MATLAB 中是否有一个命令可以让我找到数组中的所有NaN(非数字)元素?
问问题
58712 次
3 回答
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) 返回一个逻辑数组,一个与 a 大小相同的 true & false 数组,每个有 nan 的地方都带有“true”,可用于对a 进行索引。
于 2009-11-11T13:43:36.473 回答
23
虽然 isnan 是正确的解决方案,但我只会指出找到它的方法。使用查找。如果您不知道 MATLAB 中的函数名称,请尝试查找。
lookfor nan
将很快为您提供一些使用 NaN 的函数的名称,并为您提供其帮助块的第一行。在这里,它会列出(除其他外)
ISNAN 非数字为真。
这显然是您要使用的功能。
于 2009-11-11T11:38:10.243 回答
10
我刚刚找到了答案:
k=find(isnan(yourarray))
k 将是 NaN 元素索引的列表。
于 2009-11-11T08:04:43.790 回答