数值分析实验二:列主元素高斯消去法和列主元素高斯-约当消去法的比较研究
本实验的目的是使用列主元素高斯消去法和列主元素高斯-约当消去法解决线性方程组Ax=b,其中A为n阶非奇异方阵,x、b是n阶列向量。我们将对这两种方法进行比较研究,并分析选主元素的重要性。
一、实验目的:
在数值分析中,解决线性方程组是非常重要的一步骤。列主元素高斯消去法和列主元素高斯-约当消去法都是解决线性方程组的常用方法。本实验的目的是使用这两种方法解决线性方程组Ax=b,並比较它们的优缺点。
二、实验方法:
1.列主元素高斯消去法:在每步消元过程中,选列主元素。对k=1,2,…,n-1,逐次计算lik=aik(k-1)/akk(k-1),aij(k)=aij(k-1)-likakj(k-1),bi(k)=bi(k-1)-likbk(k-1)。逐步回代求得原方程的解xk=(bk(k-1)- ∑j=k+1nakj(k-1)xj)/akk(k-1)。
2.列主元素高斯-约当消去法:在每步消元过程中,选列主元素。对k=1,2,…,n,逐次计算akj(k)=akj(k-1)/akk(k-1),aij(k)=aij(k-1)-aik(k-1)*akj(k)。逐步回代求得原方程的解xk=(bk(k-1)- ∑j=k+1nakj(k-1)xj)/akk(k-1)。
三、实验内容:
我们使用以下方程组进行实验:
x1 + 1.1348x2 + 3.8326x3 + 1.1651x4 = 9.5342
0.5301x1 + 1.7875x2 + 2.5330x3 + 1.5435x4 = 6.3941
3.4129x1 + 4.9317x2 + 8.7643x3 + 1.3142x4 = 18.4231
1.2371x1 + 4.9998x2 + 10.6721x3 + 0.0147x4 = 16.9237
四、实验程序:
我们使用MATLAB编程语言编写了两个函数:agui_gauss和agui_gaussJodon,分别实现列主元素高斯消去法和列主元素高斯-约当消去法。
1)列主元素高斯消去法:
function x = agui_gauss(a,b)
n = length(b);
a = [a,b];
for k = 1:(n-1)
[ar,r] = max(abs(a(k:n,k)));
r = r+k-1;
if r > k
t = a(k,:);
a(k,:) = a(r,:);
a(r,:) = t;
end
a((k+1):n,(k+1):(n+1)) = a((k+1):n,(k+1):(n+1))-a((k+1):n,k)/a(k,k)*a(k,(k+1):(n+1));
a((k+1):n,k) = zeros(n-k,1);
end
x = zeros(n,1);
x(n) = a(n,n+1)/a(n,n);
for k = n-1:1
x(k,:) = (a(k,n+1)-a(k,(k+1):n)*x((k+1):n))/a(k,k);
end
2)列主元素高斯-约当消去法:
function x = agui_gaussJodon(a,b)
n = length(a);
a = [a,b];
for k = 1:n
m = a(k,k);
for j = k:n+1
a(k,j) = a(k,j)/m;
end
for i = 1:n
w = a(i,k);
for j = k:n+1
if(i~=k)
a(i,j) = a(i,j)-w*a(k,j);
end
end
end
end
x = zeros(n,1);
for i = 1:n
x(i) = a(i,n+1)/a(i,i);
end
想要深入了解高斯消去法的更多细节和应用?可以参考以下资源:数值分析高斯消去法、数值分析高斯消去法matlab、实验3.1高斯消去法的数值稳定性实验。这些链接将为您提供更全面的解答和相关实验案例。
五、实验结果:
通过实验,我们可以看到,列主元素高斯消去法和列主元素高斯-约当消去法都可以解决线性方程组Ax=b。但是,它们在计算效率和数值稳定性方面存在一定的差异。我们可以通过实验结果来比较这两种方法的优缺点。
六、结论:
暂无评论