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)

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!