How can I cancel ("NaN" value) elements of a matrix based on another matrix's "NaN" values?

1 view (last 30 days)
Hi everyone,
Let's suppose I have a matrix A: A = 1 2 3; 4 5 6; 7 8 9
and a matrix B: B= 1 NaN 3; NaN 5 6; 7 NaN NaN
I want to cancel the same elements that are canceled in matrix B. It would be:
A2= 1 NaN 3; NaN 5 6; 7 NaN NaN
How can I do that?

Answers (2)

OCDER
OCDER on 25 Sep 2017
Use isnan to find where NaN values are. Then replace elements in A with NaN to get A2.
A2 = A;
A2(isnan(B)) = NaN;
A2 =
1 NaN 3
NaN 5 6
7 NaN NaN

Andrei Bobrov
Andrei Bobrov on 25 Sep 2017
A2 = B./B.*A

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!