下面的是Gauss顺序(不选主元)消去法解线性方程组的程序Matlab实现
function x=XXFC_Solve(A,b)
n=size(A);
if n(1)~=n(2)
error('不是方阵!');
end
n=n(1);
for k=1:n-1
for j=k+1:n
m=A(j,k)/A(k,k);
A(j,k:n)=A(j,k:n)-m*A(k,k:n);
b(j)=b(j)-m*b(k);
end
end
x=zeros(n,1);
x(n)=b(n)/A(n,n);
for k=n-1:-1:1
x(k)=(b(k)-A(k,k+1:n)*x(k+1:n))/A(k,k);
%%上句原来不小心写成了
%%x(k)=(b(k)-A(k,k+1:n)*b(k+1:n))/A(k,k);
%%呵呵……
end
例1解线性方程组,其系数矩阵及常向量分别如下:
A =
1.7296 1.3652 2.8441 5.1551 5.2982 4.6110
9.7975 0.1176 4.6922 3.3395 6.4053 5.6783
2.7145 8.9390 0.6478 4.3291 2.0907 7.9421
2.5233 1.9914 9.8833 2.2595 3.7982 0.5