Matlab计算LU分解及其代码

LU分解

  • LU分解的目的
  • LU分解代码算例

LU分解的目的

LU分解主要应用在数值分析中,用来解线性方程和计算行列式,例如求解AX=b,如果把A分为LU的乘积,L是下三角矩阵,U是上三角矩阵,计算的过程就会非常简便

LU分解代码算例

Matlab计算LU分解及其代码_第1张图片
代码部分

A = [1 0 0 0;
     1 4 1 0;
     0 1 4 1;
     0 0 0 1];
b = [0;3; -6; 0];
%求解三角方阵
U=zeros(4);
L=zeros(4);
for i=1:4
    L(i,i)=1;
end
U(1,1)=A(1,1);
for r = 1 : n
    for j = r : n%计算U矩阵
        if r > 1;
            for k = 1 : r-1
                U(r,j) = A(r,j) - L(r,k)*U(k,j);
            end
        end
    end
    for i = r+1 : n%计算L矩阵
        if r < n;
            for k = 1 : r-1
                A(i,r) = A(i,r) -L(i,k)*U(k,r);
            end
            L(i,r) = A(i,r)/A(r,r);
        end
    end
end

计算结果,L=
1 0 0 0
1 1 0 0
0 0.250000000000000 1 0
0 0 0 1
U=
1 0 0 0
0 4 1 0
0 0 3.75000000000000 1
0 0 0 1

你可能感兴趣的:(Matlab,线性代数,matlab,矩阵)