高斯消去法的基本思想是:先逐级消去变量,将原方程变换为同解的上三角方程组,此过程称为消元过程。然后按方程组的相反顺序求解上三角方程组便得到原方程组的解,此过程称为回代过程。
如果n阶矩阵A的顺序主子式均不为零,
则用高斯消去法求解方程组 Ax=b时的主元素为
主元素高斯消去法是为了控制舍入误差的扩大和传播而提出的。
列主元素高斯消去法MATLAB编码实现
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);
a
end
%回代
x=zeros(n,1);
x(n)=a(n,n+1)/a(n,n);
for k=n-1:-1:1
x(k,:)=(a(k,n+1)-a(k,(k+1):n)*x((k+1):n))/a(k,k);
end