How to change to nan values in one matrix based on another logical matrix?

3 vues (au cours des 30 derniers jours)
Dear MatLab experts,
I have two matrixes: "First" (24 000 by 915) and "Second" (24 000 by 915). "First" consists of different numbers, "second" consists of values 1 or 0. How can I change only those values in matrix "first" to NaN, which correspond to zeros in "second" matrix?
When I try to do First(second)=nan, I get the reverse results from what I need - MatLab leaves the values for zero values, but puts NaN for ones..
Thanks a lot for your help, Ekaterina

Réponse acceptée

Geoff Hayes
Geoff Hayes le 10 Juin 2016
Ekaterina - if you want those values in the first matrix to be set to NaN if the corresponding value in the second matrix is zero, then you could do something like
A = [1 2 ; 3 4];
B = [1 0 ; 0 1];
A(~B) = NaN;
which gives us
A =
1 NaN
NaN 4
as expected.

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