Copying index positions to other matrices

1 view (last 30 days)
Hi, I am trying to equate the index postion of a matrix onto other matrices. This what I did and the results do not seem to be correct
A = rand(10,10); % First Random Matrix
A2 = rand(10,10); % Second Random Matrix
M = mean2(A); %Mean Value of A
B = A; %Copy
B(B<M) = NaN;
[row, col] = find(isnan(B)); %NaN Index Position of B
B2 = A2;
B2([row, col])=NaN %Copy of NaN Index Position onto array B2
Now unfortuntely it does not seem to transfer the index position of B onto array B2.
Thanks

Accepted Answer

madhan ravi
madhan ravi on 16 May 2019
Edited: madhan ravi on 16 May 2019
B2(sub2ind(size(B),row,column))=NaN
Why not directly use logical indexing from isnan() ?
  5 Comments
Jan
Jan on 16 May 2019
This means:
mask = (B < M);
B(mask) = NaN;
B2 = A2;
B2(isnan(B)) = NaN;

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!