矩阵分解的Matlab指令大全 |
您所在的位置:网站首页 › matlab指令大全 › 矩阵分解的Matlab指令大全 |
矩阵分解的 Matlab 指令大全
矩阵分解的 Matlab 指令大全
(2011-09-03 10:37:08) [ 转 ]
矩阵分解是指根据一定的原理用某种算法将一个矩阵分解成若干 个矩阵的乘积。常见的矩阵分解有可逆方阵的三角( LU )分解、任意 满秩矩阵的正交三角( QR )分解、对称正定矩阵的 Cholesky 分解, 以及任意方阵的 Schur 分解、 Hessenberg 分解、 EVD 分解、 SVD 分 解、 GMD 分解等。
(1) 可逆方阵的 LU 分解
矩阵的 LU 分解就是将一个矩阵表示为一个交换下三角矩阵和一个 上三角矩阵的乘积形式。线性代数中已经证明,只要方阵 A 是非奇异 的(即可逆的), LU 分解总是可以进行的。
当 L 为单位下三角矩阵而 U 为上三角矩阵时,此三角分解称为杜 利特 (Doolittle) 分解。当 L 为下三角矩阵而 U 为单位上三角矩阵时, 此三角分解称为克劳特 (Crout) 分解。显然,如果存在,矩阵的三角分 解不是唯一的。
( PS :方阵 A 可唯一地分解为 A=LDU( 其中 L , U 分别为单位下, 上三角矩阵, D 为对角矩阵 ) 的充分必要条件为 A 的前 n-1 个顺序主子 式都不为 0 。特别:对 n 阶对称正定矩阵,存在一个非奇异下三角矩阵 L ,使得 A=LL' 成立。)
MATLAB 提供的 lu 函数用于对矩阵进行 LU 分解,其调用格式为:
[L,U]=lu(X) :产生一个上三角阵 U 和一个变换形式的下三角阵 L( 行交换 ) ,使之满足 X=LU 。注意,这里的矩阵 X 必须是方阵。
[L,U,P]=lu(X) :产生一个上三角阵 U 和一个下三角阵 L 以及一个 置换矩阵 P ,使之满足 PX=LU 。当然矩阵 X 同样必须是方阵。
(2) 满秩矩阵的 QR 分解
对矩阵 X 进行 QR 分解,就是把 X 分解为一个正交矩阵 Q 和一个 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |