lu_decom.m

来自「%Jacobi迭代法求方程组等程序」· M 代码 · 共 34 行

M
34
字号
function[L,U,index]=LU_Decom(A)
% 求矩阵A的LU分解,其中,
% A为要分解的矩阵;
% L为单位下三角阵;% U为单位上三角阵;% index 为指标变量,index=0表示计算失败,index=1表示成功.
[n,m]=size(A);
% 要求所分解的矩阵是方阵;否则停止计算,并输出出错信息,
if n~=m
    error('The rows and columns of matrix A must be equal!');
    return;
end
L=eye(n);U=zeros(n);index=1;
for k=1:n
    for j=k:n
        z=0;
        for q=1:k-1
            z=z+L(k,q)*U(q,j);
        end
        U(k,j)=A(k,j)-z;
    end
    if abs(U(k,k))<eps
        index =0;return;
    end
    for i=k+1:n
        z=0;
        for q=1:k-1
            z=z+L(i,q)*U(q,k);
        end
        L(i,k)=(A(i,k)-z)/U(k,k);
    end
end
U
     

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?