我有一个具有潜在NAN值的矩阵,例如,A =[1,nan,1;nan,nan,nan]。我希望有一个像[2;但是找不到一个简单干净的方法来做这件事。有什么建议吗?我知道使用"省略"选项,但它只会给我[2;0]。
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
1条答案
按热度按时间bvpmtnay1#
我知道这看起来像是过度设计解决方案,但下面的代码摘录是可行的。您使用'omitnan'标志计算每行的绝对和,然后在nan_check变量中交叉引用所有元素都是NaN的行。将这些相乘得到的矩阵将对所有行求和,所有包含NaN的行都显示为NaN。