Copying index positions to other matrices

1 次查看(过去 30 天)
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

采纳的回答

madhan ravi
madhan ravi 2019-5-16
编辑:madhan ravi 2019-5-16
B2(sub2ind(size(B),row,column))=NaN
Why not directly use logical indexing from isnan() ?
  5 个评论
Jan
Jan 2019-5-16
This means:
mask = (B < M);
B(mask) = NaN;
B2 = A2;
B2(isnan(B)) = NaN;

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by