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