我知道我可以使用isnan检查单个元素,例如

for i=1:m
    for j=1:n
        if isnan(A(i,j))
            do something
        end
    end
end

但是,我想做的是
 if any(isnan(A))
      do something
 end

当我试图这样做的时候,它不会进入争论,因为它被认为是错误的如果我只输入any(isnan(A)),我就得到1 0 1
我该怎么做?

最佳答案

any(isnan(A(:)))

因为A是一个矩阵,isnan(A)也是一个矩阵,any(isnan(A))是一个向量,而if语句确实需要一个标量输入使用(:)符号将A展平为向量,而不考虑初始大小。

关于matlab - MATLAB:如何检查矩阵中的任何元素是否为nan,如果是这种情况,该怎么做,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14862663/

10-12 22:35