for i=1:250
for j=1:250
a(i,j)=i*j;
end
end
这几行代码,跑起来需要将近30分钟
开始时候速度很快,但随着数组a的长度增加,速度越来越慢
有人说需要提前预置空间,如下
a=zeros(250)
for i=1:250
for j=1:250
a(i,j)=i*j;
end
end
但速度并没有大大提高
这时,我们可以采用一元数组求解,最后将所有解合起来,如下
a=zeros(250)
for i=1:250
for j=1:250
w(j)=i*j;
end
a(i,:)=w
end
这种方法可以大幅度减少时间消耗,大约3分钟左右即可跑完。