Arrays 将两个矩阵合并为一个最大矩阵
假设我有Arrays 将两个矩阵合并为一个最大矩阵,arrays,matlab,matrix,max,Arrays,Matlab,Matrix,Max,假设我有 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 有没有更快的办法?一个不使用循环的更干净的代码? 提前谢谢 a = [2, 5; 1, 1]; b = [3, 3; 0
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
有没有更快的办法?一个不使用循环的更干净的代码?
提前谢谢
a = [2, 5; 1, 1];
b = [3, 3; 0.5, 9];
c = bsxfun(@max,a,b)
% c =
% 3 5
% 1 9
有关详细信息,请参阅;逐元素二进制操作
有关详细信息,请参阅;逐元素二进制操作。它非常简单
maxMat = max(a,b);
有两个输入的函数计算对应项的最大值。它非常简单
maxMat = max(a,b);
带有两个输入的函数计算对应项的最大值。
bsxfun
通常非常有用,但当两个数组具有相同的值时,您不需要它size@LuisMendo你说得对,我直接选择了更大的枪。谢谢你的反馈bsxfun
通常非常有用,但当两个数组具有相同的属性时,您不需要它size@LuisMendo你说得对,我直接选择了更大的枪。谢谢你的反馈!更简单的解决方案+1.更简单的解决方案+1.