下面是高斯消去法的一段代码,我觉得方法2可以减少部分运算,结果花费的时间比方法1还长一点点(生成1000节的方阵,然后测试a=rand(1000);
tic;guass(a);toc
注释掉方法2,取消注释方法1,然后再测试)每一次都是方法1时间短一点,而不是想象中的方法1耗费时间是方法2的二倍。
function a = guass(a)
for i=1:size(a,1)-1
for j=(i+1):size(a,1)
%a(j,:) = a(j,:) - a(j,i)/a(i,i)*a(i,:); %方法1
a(j,i:end) = a(j,i:end) - a(j,i)/a(i,i)*a(i,i:end); %方法2
end
end
end
--
FROM 112.42.70.*