NAN值的matlab和函数

vkc1a9a2  于 2023-02-23  发布在  Matlab
关注(0)|答案(1)|浏览(282)

我有一个具有潜在NAN值的矩阵,例如,A =[1,nan,1;nan,nan,nan]。我希望有一个像[2;但是找不到一个简单干净的方法来做这件事。有什么建议吗?
我知道使用"省略"选项,但它只会给我[2;0]。

bvpmtnay

bvpmtnay1#

我知道这看起来像是过度设计解决方案,但下面的代码摘录是可行的。您使用'omitnan'标志计算每行的绝对和,然后在nan_check变量中交叉引用所有元素都是NaN的行。将这些相乘得到的矩阵将对所有行求和,所有包含NaN的行都显示为NaN。

sumMat = sum(A,2,'omitnan')
nan_check = double(~prod(isnan(A),2))
nan_check(nan_check==0) = NaN
sumMat.*nan_check

相关问题