How to swap array element from two arrays conditionally
5 次查看(过去 30 天)
显示 更早的评论
I'm looking to plot a matrix using data from two arrays. If the second array has a number which is not zero in an element, this element is moved into the first array. I have seen how this might be done using deal(), but I would like to avoid using a loop with if statement for performance reasons. Is there a convenient way of doing this?
An example of this is follows, with arrays A, B and C ( the result);
0 个评论
采纳的回答
Akira Agata
2019-12-4
By using indexing technique, you can simply do this kind of task.
The following is an example:
% Original matrixes
A = [...
0 1 1 1 0 0;...
0 0 0 0 0 0;...
0 0 0 0 0 0];
B = [...
0 3 0 0 4 0;...
0 2 0 0 2 0;...
0 0 0 0 0 0];
% Creating C by using index
idx = B ~= 0;
C = A;
C(idx) = B(idx);
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!