matlab用lu函数实现ldu分解,基于Matlab 的 n阶非奇异方阵的LU分解实现

基于Matlab 的n阶方阵的LDU分解实现

1.引言

矩阵的LDU分解是“矩阵理论与方法”课程中非常重要的一部分。LDU分解在实际工程应用中也非常广泛。LDU分解可以将一个矩阵分解为一个下三角矩阵和一个对角矩阵和一个上三角矩阵的乘积。LDU分解主要应用在数值分析中,用来解线性方程、求反矩阵或计算行列式。

将系数矩阵A转变成等价两个矩阵L和U和对角矩阵的乘积,其中L和U 分别是下三角和上三角矩阵,D为对角矩阵。当A的所有顺序主子式都不为0时,矩阵A可以分解为A=LDU。即:

Matlab 是很好的处理矩阵的工具。它的功能非常强大,包括创建矩阵,对矩阵求逆,转置等操作非常简单,使其成为图像处理,信号分析等领域常用的工具。Matlab 官方已经包括了对非奇异矩阵的LU分解函数[L,U]=lu(A),为了加深对矩阵分解的理解,本文不采用Matlab 官方的LU分解函数对矩阵A进行LDU 分解,而是根据理论推导和编程实现LDU分解。

2.程序设计

2.1.输入合法检验

LU分解需要被分解矩阵A满足如下条件:

1)矩阵A为方阵

2)A的顺序主子式

全故LU分解需先检验A为n阶方阵,然后检验A的n-1个顺序主子式D

k 不为0,才可进行LU分解。而检验主子式D

可以在n-1次循环LU分解中

k

进行,故先检验矩阵是否为方阵。

代码如下

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值