让我说我有
a = [2, 5; 1, 1];
b = [3, 3; 0.5, 9];
我想在结果中得到这个矩阵
maxMat = [3, 5; 1, 9];
我可以使用循环
来做到这一点[x, y] = size(a);
for i=1:x
for j=1:y
maxMat(i, j) = max(a(i,j), b(i,j));
end
end
有更快的方法吗?和一个更清洁的代码,而不使用循环? 提前谢谢!
答案 0 :(得分:8)
答案 1 :(得分:3)
a = [2, 5; 1, 1];
b = [3, 3; 0.5, 9];
c = bsxfun(@max,a,b)
% c =
% 3 5
% 1 9
详情请见the language reference for bsxfun;元素二元运算。