Matlab_中的矩阵分解函数

上传人:洪易 文档编号:39942633 上传时间:2018-05-21 格式:DOCX 页数:6 大小:22.94KB
返回 下载 相关 举报
Matlab_中的矩阵分解函数_第1页
第1页 / 共6页
Matlab_中的矩阵分解函数_第2页
第2页 / 共6页
Matlab_中的矩阵分解函数_第3页
第3页 / 共6页
Matlab_中的矩阵分解函数_第4页
第4页 / 共6页
Matlab_中的矩阵分解函数_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《Matlab_中的矩阵分解函数》由会员分享,可在线阅读,更多相关《Matlab_中的矩阵分解函数(6页珍藏版)》请在金锄头文库上搜索。

1、Matlab 中的矩阵分解函数中的矩阵分解函数矩阵分解是指根据一定的原理用某种算法将一个矩阵分解成若干个矩阵的乘积。常见的矩阵分解有 LU 分解(三角分解) 、QR 分解(正交变换) 、Cholesky 分解,以及 Schur 分解、Hessenberg 分解、奇异分解等。(1)(1) LULU 分解(三角分解)分解(三角分解)lu 函数函数L,U=lu(X):产生一个上三角阵 U 和一个变换形式的下三角阵 L(行交换),使之满足 X=LU。注意,这里的矩阵 X 必须是方阵。实现 LU 分解后,线性方程组 Ax=b 的解 x=U(Lb)或 x=U(LPb),这样可以大大提高运算速度。L,U,P

2、=lu(X):产生一个上三角阵 U 和一个下三角阵 L 以及一个置换矩阵 P,使之满足 PX=LU。当然矩阵 X 同样必须是方阵。(设 P 是一个 mn 的 (0,1) 矩阵,如 mn 且 P*P=E,则称 P 为一个 mn 的置换矩阵。)例 1 用 LU 分解求解例 1 中的线性方程组。命令如下:A=2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4;b=13,-9,6,0;L,U=lu(A);x=U(Lb)或采用 LU 分解的第 2 种格式,命令如下:L,U ,P=lu(A);x=U(LP*b)(2)(2) QRQR 分解(正交变换)分解(正交变换)对矩阵 X 进行

3、QR 分解,就是把 X 分解为一个正交矩阵 Q 和一个上三角矩阵 R 的乘积形式。QR 分解只能对方阵进行。MATLAB 的函数 qr 可用于对矩阵进行 QR 分解,其调用格式为:Q,R=qr(X):产生一个一个正交矩阵 Q 和一个上三角矩阵 R,使之满足 X=QR。Q,R,E=qr(X):产生一个一个正交矩阵 Q、一个上三角矩阵 R 以及一个置换矩阵 E,使之满足 XE=QR。实现 QR 分解后,线性方程组 Ax=b 的解 x=R(Qb)或 x=E(R(Qb)。例 2 用 QR 分解求解例 1 中的线性方程组。命令如下:A=2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,

4、-4;b=13,-9,6,0;Q,R=qr(A);x=R(Qb)或采用 QR 分解的第 2 种格式,命令如下:Q,R,E=qr(A);x=E*(R(Qb)(3) Cholesky 分解分解如果矩阵 X 是对称正定的,则 Cholesky 分解将矩阵 X 分解成一个下三角矩阵和上三角矩阵的乘积。设上三角矩阵为 R,则下三角矩阵为其转置,即 X=RR。MATLAB 函数 chol(X)用于对矩阵 X 进行Cholesky 分解,其调用格式为:R=chol(X):产生一个上三角阵 R,使 RR=X。若 X 为非对称正定,则输出一个出错信息。R,p=chol(X):这个命令格式将不输出出错信息。当 X

5、 为对称正定的,则 p=0,R 与上述格式得到的结果相同;否则 p 为一个正整数。如果 X 为满秩矩阵,则 R 为一个阶数为 q=p-1 的上三角阵,且满足RR=X(1:q,1:q)。实现 Cholesky 分解后,线性方程组 Ax=b 变成 RRx=b,所以x=R(Rb)。例 3 用 Cholesky 分解求解例 1 中的线性方程组。命令如下:A=2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4;b=13,-9,6,0;R=chol(A)? Error using = cholMatrix must be positive definite命令执行时,出现错误信息,说

6、明 A 为非正定矩阵。(4) 任意方阵的任意方阵的 Schur 分解分解任意一个 n 阶方阵 X 可以分解为 X=URU,其中 U 为酉矩阵,R 为上三角 schur 矩阵且其主对角线上的元素为 X 的特征值。酉矩阵的相关性质: 设有 A,B 矩阵 (1)若 A 是酉矩阵,则 A 的逆矩阵也是酉矩阵 (2)若 A,B 是酉矩阵,则 AB 也是酉矩阵 (3)若 A 是酉矩阵,则|detA|=1(4)A 是酉矩阵的充分必要条件是,它的 n 个列向量是两两正交的单位向量U,R=schur(X)(5) 任意方阵的任意方阵的 Hessenberg 分解分解任意一个 n 阶方阵 X 可以分解为 X=PHP

7、, 其中 P 为酉矩阵, H 的第一子对角线下的元素均为 0,即 H 为 Hessenberg 矩阵。P,H=hess(X)(6) 任意方阵的特征值分解任意方阵的特征值分解 EVD任意一个 n 阶方阵 X 可以分解为 XV=VD,其中 D 为 X 的特征值对角阵,V 为 X 的特征向量矩阵。V,D=eig(X)V,D=eig(X,Y)计算广义特征值矩阵 D 和广义特征值向量矩阵 V,使得 XV=YVD。(7)任意矩阵的奇异值分解任意矩阵的奇异值分解 SVD任意一个 m*n 维的矩阵 X 可以分解为 X=USV,U,V 均为酉矩阵,S 为 m*n 维的对角矩阵,其对角线元素为 X 的从大到小排序

8、的非负奇异值。U,V 为正交阵,S 为对角阵,svd(A)恰好返回 S 的对角元素,而且就是 A 的奇异值(定义为:矩阵 A*A 的特征值的算数平方根)U,S,V=svd(X)(8) 任意矩阵的几何均值分解任意矩阵的几何均值分解 GMD任意矩阵 m*n 维的矩阵 X 可以分解为 X=QRP, Q,P 均为酉矩阵,R 为 k*k 维的实正线上三角矩阵,其主对角线元素均等于 X 的所有 K 个正奇异值的几何均值,k=rank(X)。(PS: 一个 n n 的实对称矩阵 M 是正定的当且仅当对于所有的非零实系数向量z,都有 zTMz 0。其中 zT 表示 z 的转置。对于复数的情况,定义则为:一个 n n 的埃尔米特矩阵 M 是正定的当且仅当对于每个非零的复向量 z,都有 z*Mz 0。其中 z* 表示 z的共轭转置。由于 M 是埃尔米特矩阵,经计算可知,对于任意的复向量 z,z*Mz 必然是实数,从而可以与 0 比较大小。因此这个定义是自洽的。正定方阵 M 的所有的特征值 i 都是正的。)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号