lu_decom.m
来自「matlab具有强大的数值计算能力」· M 代码 · 共 32 行
M
32 行
function [L,U,index]=LU_Decom(A)
%求矩阵的分解,其中
%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
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?