4

我有两个矩阵:

A = [0,1,1;1,0,0;0,0,0]
B = [3,0,0;0,3,3;4,4,4]

我想用矩阵B中相同位置的元素替换矩阵A中的所有0元素。

在上面的示例中,结果矩阵如下所示:

result = [3,1,1;1,3,3;4,4,4]

是否有用于此目的的 matlab 函数,还是我必须自己编写一个?

问候

4

2 回答 2

7

这很容易通过索引实现:

idx = A == 0;
A(idx) = B(idx);
于 2013-03-25T12:25:41.700 回答
5

使用逻辑寻址的 Oneliner 解决方案:

A(A == 0) = B(A == 0);
于 2013-03-25T12:29:03.140 回答