function [L,U]=LUDecomp(A)
[n n]=size(A);
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
举例应用:
求线性方程组的根P147实验1
A=[27 6 -1;6 15 2;1 1 54];
b=[85;5;110];
[L,U]=LUDecomp(A)
x=inv(U)*inv(L)*b