如何将两个矩阵相加而只保留数字而忽略NaN值?

例如:

A=[NaN 2 NaN];
B=[1 NaN 3];

我想要加C=A+B的某种形式,例如:
C=[1 2 3]

最佳答案

您可以通过将NaNs设置为0s然后执行求和,而无需使用任何特定的函数调用来实现此目的:

A(A~=A)=0
B(B~=B)=0
C=A+B

编辑:在第一个评论中建议的@rayryeng建议的另一种实现方法是使用isnan:
A(isnan(A))=0
B(isnan(B))=0
C=A+B

关于matlab - 如何添加两个矩阵并摆脱Nans,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41418837/

10-10 06:07