Choose role of NaN when summing two matrices

4 Ansichten (letzte 30 Tage)
Roderick
Roderick am 28 Sep. 2024
Beantwortet: Voss am 28 Sep. 2024
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?

Akzeptierte Antwort

Voss
Voss am 28 Sep. 2024
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>

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by