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

criterium in separate matrixlogical criteria

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

Best Answer

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.