定义法进行矩阵LU分解

论坛 期权论坛 脚本     
匿名技术用户   2020-12-28 21:21   11   0

矩阵的LU分解是常见的矩阵分解形式,主要用于解线性方程组。分解原理虽然简单,但是对于初学者还是有一定的难度,因此在此分享自己的一点学习心得。

对于很多初学者,最难理解是参数的求解顺序以及如何累加,其实总结起来就是一层层的向右下角求解,即先求上三角的第一行参数,然后下三角的第一列,接着上三角的第二行,然后下三角的第二列,以此类推。具体的公式可以参考教科书,用matlab程序编写程序如下:

function [ L U ] =JLU( A )
%UNTITLED Summary of this function goes here

%其中A为需要分解的矩阵,L为上三角矩阵,U为下三角矩阵
% 根据矩阵LU分解定义进行分解
hang=length(A);
L=zeros(hang,hang);
L=L+eye(hang,hang);
U=zeros(hang,hang);
for i=1:hang
U(1,i)=A(1,i);
end
for j=2:hang
L(j,1)=A(j,1)/U(1,1);
end
for m=2:hang
for k=m:hang
U(m,k)=A(m,k)-sum(L(m,1:m-1)*U(1:m-1,k));
end
for h=m+1:hang
L(h,m)=(A(h,m)-sum(L(h,1:m-1)*U(1:m-1,m)))/U(m,m);
end
end

end

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP