列主元消去法求解线性方程组_matlab代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
disp('The equation set has no solution.')
end
if rA==rB,
if rA==n,%满秩,方程组的解唯一
disp('The equation set has only one solution.')
X=zeros(n,1);
C=zeros(1,n+1);
for p=1:n-1
[~,j]=max(abs(B(p:n,p)));%选出第p列中绝对值最大的元素,其行数为j
C=B(p,:);
B(p,:)=B(j+p-1,:);
B(j+p-1,:)=C;%通过初等行变换把绝对值最大的元素换到主对角元位置上
for k=p+1:n%消元计算
m=B(k,p)/B(p,p);
B(k,p:n+1)=B(k,p:n+1)-m*B(p,p:n+1);
end
end
b=B(1:n,n+1);
A=B(1:n,1:n);
X(n)=b(n)/A(n,n);%回代求解
for q=n-1:-1:1
X(q)=(b(q)-sum(A(q,q+1:n)*X(q+1:n)))/A(q,q);
end
end
else%A不满秩,方程组有无穷多解
disp('The equation set has countless solutions.')
function [rA,rB,n,X] = zhuyuan(A,b)
%用列主元消去法求解线性方程Ax=b
%输入:系数矩阵A,方程组右端项向量b
%输出:系数矩阵A与增广阵B的秩,方针A的阶数,方程组的解X
B=[A b];
n=length(b);
rA=rank(A);
rB=rank(B);
ifBiblioteka BaidurB>rA,%判断方程组是否有解
end
end
相关文档
最新文档