我有两个矩阵:
A = [0,1,1;1,0,0;0,0,0]
B = [3,0,0;0,3,3;4,4,4]
我想将矩阵A中的0元素替换为矩阵B中相同位置的元素。
在上面的例子中,结果矩阵如下所示:
result = [3,1,1;1,3,3;4,4,4]
是否有用于此目的的matlab功能,还是我必须自己编写一个?
此致
答案 0 :(得分:6)
使用索引很容易实现:
idx = A == 0;
A(idx) = B(idx);
答案 1 :(得分:4)
使用逻辑寻址的Oneliner解决方案:
A(A == 0) = B(A == 0);