行业知识
高斯列主元消去法(matlab两种实现方法)
2026-11-09 16:00:52
来源:互联网转载
function x=LGauss(A,b)%高斯列主元消去法%A:系数矩阵%b:非齐次项[n,m]=size(A);x=zeros(n,1);for k=1:n-1%选定列主元 max=0; for i=k:n if abs(A(i,k))>max max=abs(A(i,k)); r=i; end end if maxk%交换两行位置 for j=k:n z=A(k,j); A(k,j)=A(r,j); A(r,j)=z; end z=b(k); b(k)=b(r); b(r)=z; end%消元for i=k+1:n m1=A(i,k)/A(k,k); for j=k+1:n A(i,j)=A(i,j)-m1*A(k,j); end b(i)=b(i)-m1*b(k);endendfor k=n:-1:1 for j=k+1:n b(k)=b(k)-A(k,j)*x(j); end x(k)=b(k)/A(k,k);endend
function [X,det]=LGauss_new(A,b)%input%A:nxn非奇异系数矩阵,b是列向量%output:%X:AX=b的解%det:A的行列式[n,n]=size(A);det=1;for k=1:n-1 %寻找列主元 [T,i]=max(abs(A(k:n,k)));ik=i+k-1; %判断矩阵的奇异性 if T
下一篇:怎么建服务器大厅教程视频?