clear
clc
A=input('请输入矩阵A=')
b=input('请输入b=')
n=length(A(1,:));%求A矩阵第一行的长度,即矩阵维数
for k=1:n
if (det(A(1:k,1:k))==0) %n阶矩阵A,若A的顺序主子式均不为零,则矩阵A存在唯一Doolittle分解,使得A=LU
input('A矩阵不满足顺序主子式均不为零,请重新运行程序')
end
end
%分解A
for k=1:n
t1=0; %中间变量t1
for j=1:k-1
t1=t1+L(k,j)^2;
end
L(k,k)=sqrt(A(k,k)-t1);
for i=k+1:n
t2=0; %中间变量t2
for j=1:k-1
t2=t2+L(i,j)*L(k,j);
end
L(i,k)=(A(i,k)-t2)/L(k,k);
end
end
L
U=L'
%%
%created by TGU cuienen1912