当前位置:  开发笔记 > 编程语言 > 正文

Matlab重复矩阵乘法 - 循环与内置性能

如何解决《Matlab重复矩阵乘法-循环与内置性能》经验,为你挑选了0个好方法。

给定矩阵A,我需要与其他n向量相乘Bi(即i=1...n).大小A可以像5000x5000,因此Bi喜欢5000x1.

如果我按以下方式评估产品:

for i=1:n
    product=A*Bi;
    % do something with product
end

结果是比计算产品的方式(数量级)慢:

%assume that S is a matrix that contains the vectors Bi as columns, i.e. S(:,i)=Bi, then:
results=A*S;   %stores all the products in matrix form
% do something with results

的问题是,数n矢量的Bi 可能太大而被存储在存储器中,例如n=300000,所以需要使用一个环方法,其中每个时间予评估该产品,用它,然后丢弃该载体Bi.

与直接乘法相比,为什么这种方法如此缓慢,有没有办法克服这个问题?

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有