%矩阵LU分解
%2018 09 25
%by wu penghao
A=rand(10,10);
u=zeros(10,10);
l=zeros(10,10);
n=length(A);
%u(1,j)=A(1,j)
for i=1:1:n
u(1,i)=A(1,i);
end
%a(k,1)=A(k,1)/u(1,1)
for j=1:1:n
l(j,1)=A(j,1)/u(1,1);
end
for i=2:1:n
%u(i,j)=a(i,j)-sigma(l(i,t)A(t,j)),t in range(1,i-1)
for j=i:1:n
sum1=0;
for t=1:1:i-1
sum1=sum1+l(i,t)*u(t,j);
end
u(i,j)=A(i,j)-sum1;
end
%l(k,i)=1/u(i,i)*(A(k,i)-sigma(l(k,t)*u(t,i)),t in range(1,i-1)
for k = (i+1):1:n
sum2=0;
for t=1:1:i-1
sum2=sum2+l(k,t)*u(t,i);
end
l(k,i)=(A(k,i)-sum2)/u(i,i);
end
end
%l的主对角线元素是1
for j=1:1:n
l(j,j)=1;
end