计算方法B_LU分解

%矩阵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

  

posted @ 2018-09-25 20:44  FireFox_xjtu  阅读(443)  评论(0)    收藏  举报