Matrix index replance of non Nan value

1 vue (au cours des 30 derniers jours)
Nikan Fakhari
Nikan Fakhari le 20 Août 2021
Hi there,
I have a matrix
x = [5 6 7;8 9 10; 11 12 NaN]
and another matrix with same as x,
y = [1 4 7;2 5 8; 3 0 9];
and I want to replace y with all the non nan vlaues of X
so for example I want y to be the following:
y = [5 6 9; 8 9 10;11 12 9];
Could anyone please help me with the right command for this?
I appreciate it a lot.
Best,
Nikan

Réponses (1)

Walter Roberson
Walter Roberson le 20 Août 2021
x = [5 6 7;8 9 10; 11 12 NaN]
y = [1 4 7;2 5 8; 3 0 9];
mask = ~isnan(x);
y(mask) = x(mask);
Or you could do
newy = x;
mask = isnan(x);
newy(mask) = y(mask);

Catégories

En savoir plus sur Operating on Diagonal Matrices 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