【发布时间】:2014-05-28 10:37:40
【问题描述】:
我想将 2 个矩阵相乘。我需要将它们逐个元素相乘。它们的大小是 100x100 。但是为什么这个函数工作的很慢呢?大约 2-3 分钟。
for i=1:size(volumes,1)
for j =1:size(volumes,2)
ys(i,j) = volumes(i,j)*prices(i,j)
end
end
如何加快这个操作?
【问题讨论】:
-
因为这太过分了。只需使用
volumes.*prices。不过,循环不应该那么慢...... -
100x100 矩阵的元素乘法需要 2-3 分钟?奔腾 1 还是 2?
-
10.000 次乘法需要 2-3 分钟。你的矩阵是什么类型的对象?也许他们的索引运算符做了一些昂贵的事情?
标签: performance matlab matrix vectorization