数值分析matlab程序lu分解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、程序

function [ L,U,zhibiao ] = LU_Decom( A )

%求矩阵A的LU分解,其中,

%A为要分解的矩阵

%L为单位下三角阵

%U为单位下三角阵

%flag为指标向量,zhishi='failure'表示计算失败,zhibiao='OK'表示计算成功[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);zhibiao='OK';

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))

zhibiao='failure';

return;

end

for i=k+1:n

z=0;

z=z+L(i,q)*U(q,k);

end

L(i,k)=(A(i,k)-z)/U(k,k);

end

end

运算结果:

A=[1 2 3;4 5 6;7 8 0]

[ L,U,zhibiao] = LU_Decom( A )

OK

zhibiao U L =⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=1300650

321

12.17

010

001

2、库函数

A=[1 2 3;4 5 6;7 8 0]

[L,U,P]=lu(A) 运算结果:

⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦

⎤⎢⎢⎢⎣⎡=010*******.40038571.0008715.05714.0011429.0001P U L

相关文档
最新文档