没有高斯列主元消去法稳定性高。Det函数求解方程组系数矩阵的行列式所得到的结果和三角法所得到的结果相同,有方便快捷明了的特点。
七、附录
列主元消去法
function [RA,RB,n,X]=liezhuY(A,b)
B=[A b];n=length(b);RA=rank(A); D=det(A)
RB=rank(B);zhica=RB-RA; if zhica>0, return
warning off MATLAB:return_outside_of_loop end if RA==RB if RA==n
X=zeros(n,1);C=zeros(1,1+n); for p=1:n-1
[Y,j]=max(abs(B(p:n,p)));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 else end end
LU分解法
function h1=zhjLU(A) [n n]=size(A);RA=rank(A); D=det(A) if RA~=n return end if RA==n for p=1:n
h(p)=det(A(1:p,1:p)); end
h1=h(1:n); for i=1:n
if h(1,i)==0 return end end
if h(1,i)~=0 for j=1:n
U(1,j)=A(1,j); end for k=2:n for i=2:n for j=2:n
L (1,1)=1;L(i,i)=1; if i>j
L(1,1)=1;L(2,1)=A(2,1)/U(1,1);L(i,1)=A(i,1)/U(1,1); L(i,k)=(A(i,k)-L(i,1:k-1)*U(1:k-1,k))/U(k,k); else
U(k,j)=A(k,j)-L(k,1:k-1)*U(1:k-1,j);
end end end end h1;RA,U,L end end

