高斯消元法的原理详见于线性代数课本,其MATLAB代码如下:
function[x]=gauss_elim(A,b)
% A为系数矩阵且必须为方阵
% b为常数项向量
n=size(A,1);
x=zeros(1,n);
j=0;
for i=1:n-1
if(A(i,j)==0)
t=min(find(A(i+1:n,1)~=0+i);
if(isempty(t))
disp('Gauss_elim error:A matrix is signular');
return
end;
temp=A(i,:);tb=b(i);
A(i,:)=A(t,:);b(i)=b(t);
A(t,:)=temp;b(t)=tb;
end;
for j=i+1:n
m=-A(j,i)/A(i,i);
A(j,i)=0;
A(j,i+1:n)=A(j,i+1:n)+m*A(i,i+1;n);
b(j)=b(j)+m*b(i);
end
end
x(n)=b(n)/A(n,n);
for i=n-1:-1:1
x(i)=(b(i)-sum(x(i+1:n).*A(i,i+1:n)))/A(i,i);
end