MATLAB程序的优化

第一、matlab能不用循环尽量不用循环

% % Nannan wang says that in matlab, cycling(循环) is time-consuming.

% % 能不用循环就不用循环

% % The easiest example to illustrate this idea

已知两个矩阵A,B,求所有元素对应相乘之和

思路一:用两重循环实现

思路二:点乘后的矩阵用C表示,sum(C(:)),思路二更好,没用循环

第二、预先分配存储空间

tic;

a=zeros(1000,10000);

for i=1:1000

a(i,:)=randperm(10000);

end

toc;

20130111在我的笔记本测试,需要时间1.115140 seconds;如果将a=zeros(1000,10000)注释,在我的笔记本测试,需要时间19.308252 seconds

from: http://www.cppblog.com/guijie/archive/2012/09/21/191520.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

CAPTCHA

*