谁再说Matlab速度慢,我跟谁急
一、未进行内存预分配
y = 0;
tic;
for i=2:100000;
y(i+1) = y(i)+ randn;
end;
toc
时间已过 0.031222 秒。
二、进行内存预分配
y = zeros(100001,1);
tic;
for i=2:100000;
y(i+1) = y(i)+ randn;
end;
toc
时间已过 0.007672 秒。
节约时间=(0.031222-0.007672 )/ 0.031222 =75%
三、进行矩阵计算
y = zeros(100001,1);
tic;
y= cumsum([0;y]);
toc
时间已过 0.000445秒。
节约时间=(0.031222-0.000445 )/ 0.031222 =98.6%
谁在说Matlab速度慢,我跟谁急^_^