如何添加两个矩阵并摆脱Nans

时间:2017-01-01 20:40:48

标签: matlab nan

如何添加两个矩阵并仅保留忽略NaN值的数字?

例如:

C=A+B

我想要某种形式的加号C=[1 2 3] ,以便:

width

2 个答案:

答案 0 :(得分:3)

您可以使用nansum(您需要统计和机器学习工具箱):

<HOST>

并获得:

C = nansum([A;B])

或者,您可以将sum与排除的NaN标志一起使用:

C =

     1     2     3

你会得到相同的结果。

答案 1 :(得分: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