资源描述:
《第4讲(4)Matlab中的矩阵分解命令》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、(1)矩阵的LU分解(2)矩阵的QR分解4—6矩阵分解的Matlab命令(3)矩阵的Cholesky分解(4)矩阵的奇异值分解(5)矩阵的特征值分解(6)矩阵的Schur分解(7)矩阵的Jordan标准型分解12[L,U,P]=lu(X)(1)矩阵的LU分解说明:返回的P矩阵是置换矩阵,矩阵U是上三角矩在Matlab中用函数lu来实现矩阵的LU分解,阵,矩阵L满秩矩阵,满足L*U=P*X.其命令格式为:[L,U]=lu(X)说明:U矩阵为上三角矩阵,满足X=L*U.34例4.1c=>>a=[1,2,4;2,-1,5;-
2、1,10,4];2.0000-1.00005.0000>>[b,c,p]=lu(a)09.50006.5000运行结果:00-0.2105b=p=1.000000010-0.50001.000000010.50000.26321.000010056(2)矩阵的QR分解例4.2在Matlab中,矩阵的QR分解可由函数qr来实现,其>>a=[1,2,4;2,-1,5;-1,10,4];常用的调用格式如下:>>[b,c,e]=qr(a)①[B,C]=qr(A)运行结果:说明:返回的C矩阵为上三角矩阵,矩阵B为满秩矩b=阵。-
3、0.1952-0.5068-0.8397[Q,R,E]=qr(A)0.0976-0.86190.4976说明:返回的矩阵E是置换矩阵,矩阵R是上三角矩-0.97590.01520.2177阵,矩阵Q是满秩矩阵,上述矩阵满足关系A*E=Q*R.78c=(3)矩阵的Cholesky分解-10.2470-4.19640.9759在Matlab中用函数chol对矩阵进行Cholesky分解,函数chol的调用格式为:0-6.2762-2.24581.R=chol(X)00-0.0622说明:矩阵X必须是正定矩阵,否则会返回错误
4、信e=息,返回的矩阵R是上三角矩阵。0012.[R,p]=chol(X)100说明:此调用格式不管矩阵X是否正定,都不会返010回错误信息。如果矩阵X正定,则返回上三角矩阵R,p为零;如果矩阵X非正定,则返回的矩阵R也是上三角矩阵,但p为正数。910例4.4(4)矩阵的奇异值分解>>a=[3,-1,1;-1,5,2;1,2,4];在Matlab中,矩阵的奇异值分解则由函数svd来实现,其调用格式为:>>b=chol(a)[b,c,d]=svd(A)运行结果:说明:返回的矩阵b为左奇异矩阵,矩阵d为右奇异b=矩阵,矩阵c
5、为奇异值矩阵。1.7321-0.57740.5774例4.502.16021.0801>>a=[1,2,4;2,-1,5;-1,10,4];001.5811>>[b,c,d]=svd(a)1112运行结果:d=b=-0.02910.3954-0.91800.32490.4385-0.83800.8640-0.4518-0.22200.13930.85420.50100.50260.79970.32850.9354-0.27950.2164c=11.41700006.13590000.05711314(5)矩阵的特征值分
6、解4.[V,D]=eig(A,‘nobalance’)Matlab中求矩阵的特征值的函数是eig和eigs,其中说明:‘nobalance’表示在求矩阵A的特征值矩阵和函数eigs主要用于稀疏矩阵。函数eig主要有以下几特征向量矩阵时禁止“平衡”程序的运行。当矩阵A种调用格式:中有元素小到与截断误差相当时,这样做可以减少1.D=eig(A)计算的误差。说明:矩阵D为矩阵A的特征向量矩阵。5.[V,D]=eig(A,B)2.D=eig(A,B)说明:矩阵V,D为矩阵A,B的广义特征值矩阵和特征向量矩阵,满足A*V=B*V
7、*D.说明:矩阵D为矩阵A,B的广义特征向量矩阵。3.[V,D]=eig(A)说明:矩阵V,D为矩阵A的特征值矩阵和特征向量矩阵。15166.[V,D]=eig(A,B,flag)例4.6说明:使用某种确定的分解算法来计算矩阵的特征>>B=[3,-2,-0.9,2*eps;-2,4,-1,-eps;-eps/4,eps/2,-1,0;-值和特征向量,参数flag可以取”chol”或”qz”。当0.5,-0.5,0.1,1];参数flag取”chol”时,表示对B使用乔累斯基分解算>>[VB,DB]=eig(B)法来计算
8、矩阵A,B的特征值和特征向量,若矩阵A为运行结果:对称矩阵,矩阵B为对称正定矩阵,此算法为默认算法;当参数flag取”qz”时,则忽略对称性。VB=0.6153-0.4176-0.0000-0.3305-0.7881-0.3261-0.0000-0.2949-0.0000-0.00000.0000-0.81360.01890.84