gpt4 book ai didi

matlab - 为什么替换矩阵的 NaN 不适用于 k(k==NaN) = SomeNumber ,其中 k 是要操作的矩阵

转载 作者:太空宇宙 更新时间:2023-11-03 19:26:24 26 4
gpt4 key购买 nike

给定一个矩阵:-

k = [1   2   3  ;
4 5 6 ;
7 8 NaN];

如果我想用 0 替换一个数字,比如 2,我可以使用这个:k(k==2) = 0。它工作正常并给出以下预期答案:-

k =

1 0 3
4 5 6
7 8 NaN

但是,如果我尝试替换 NaN,为什么这不起作用,即 k(k==NaN) = 0 给出了这个:

k =

1 2 3
4 5 6
7 8 NaN

虽然我能够使用以下方法获得所需的结果:k(isnan(k))=0。但为什么第一种方法不起作用?

最佳答案

因为 NaN==NaN0

不是数等于不是数?不是真的,它们不是数字,但不一定是同一件事。这是设计使然。

0/0 == Inf-Inf 吗?绝对不是。不过两者都是 NaN

Read more here

关于matlab - 为什么替换矩阵的 NaN 不适用于 k(k==NaN) = SomeNumber ,其中 k 是要操作的矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38587351/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com