用另一个矩阵的元素替换矩阵中的某些元素 [Matlab / Octave]

4

我有两个矩阵:

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函数,还是我需要自己编写一个?

祝好

2个回答

7

使用索引轻松实现:

idx = A == 0;
A(idx) = B(idx);

5

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

当 A 等于 0 时,将 B 的值赋给 A。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接