Choose role of NaN when summing two matrices

2 次查看(过去 30 天)
Dear all
Some time ago, I posted this question: Choosing the role of NaN elements in the sum environment of matrices. That worked great when doing the mean value, but now imagine that I just want to sum the two matrices, given by:
aa=[1 2; 3 NaN];
bb=[NaN 1; 2 NaN];
so that I obtain:
cc=[1 3; 5 NaN];
If I do something like:
cc=sum(cat(3,aa,bb),3,'omitnan')
that gives:
cc=[1 3; 5 0];
Which way would be the best in this case?

采纳的回答

Voss
Voss 2024-9-28
Here's one way:
aa=[1 2; 3 NaN];
bb=[NaN 1; 2 NaN];
tmp = cat(3,aa,bb);
cc=sum(tmp,3,'omitnan');
cc(all(isnan(tmp),3)) = NaN
cc = 2×2
1 3 5 NaN
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by