Choose role of NaN when summing two matrices

3 vues (au cours des 30 derniers jours)
Roderick
Roderick le 28 Sep 2024
Réponse apportée : Voss le 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?

Réponse acceptée

Voss
Voss le 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>

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by