我有两个矩阵A和B,我想对它们执行明智的最大元素。我只写了下面的代码,效率非常低,需要很长时间才能运行。MATLAB中两个矩阵的高效元素明智函数
A = C;
for x = 1 : height
for y = 1 : width
if(A(x, y) < B(x, y))
A(x, y) = B(x, y);
end
end
end
我搜索SO和想通了,类似的问题一直在使用bsxfun
功能(1,2,3)回答。但我不明白这一点。
可以bsxfun
也适用于此吗?
我想要的就像A = max(B, C)
。
是不是'MAX(A,B) “你想要什么?从[documentation](http://es.mathworks.com/help/matlab/ref/max.html):_MAX(X,Y)返回一个与X和Y大小相同的数组,其中 最大元素取自X或Y.任何一个都可以是标量._ –
无论如何,您的代码将占用最少的代码,因为当A> B时,您分配的内容更小。 – Pieter21
@ Pieter21谢谢我纠正了它 – Hamed