MATLAB: Copying index positions to other matrices

array indexingnan handling

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

Best Answer

B2(sub2ind(size(B),row,column))=NaN
Why not directly use logical indexing from isnan() ?