程序清单:
%%求解任意线性方程组的解
clc;
clear all;
format long e
disp('线性方程组求解,请输入参数');
n=input('维数n=');
A=input('矩阵A=');
b=input('右端项b=');
eps=input('控制精度eps=');
b=b'; %%变为列向量
A=[A b]; %%矩阵增广
for k=1:n-1
B=A(k:n,k); %%先将第k列可能作为主元的元素取出方至矩阵B
P=max(abs(B)); %%选主元P
if(P<eps) %%控制小主元
disp('无解');
break;
else
u=find((abs(B))==P); %%计算主元所在行相对与k行的位置
if(u~=1)
A([k,u],:)=A([u,k],:); %%换行
end
m=A(k+1:n,k)/A(k,k); %%求出各行行乘数并放至矩阵m
for i=1:lengt