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

我有两个矩阵:

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功能,或者我必须自己编写一个?

问候

最佳答案
这可以通过索引轻松实现:

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

转载注明原文:用另一个矩阵的元素替换矩阵的某些元素[Matlab / Octave] - 代码日志