资源描述:
《matlab语言矩阵处理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验六特征值与特征向量、若当标准形【实验目的】1.了解特征值与特征向量基本概念及其性质;2.了解若当标准型的基本概念;3.学习、掌握MATLAB软件有关的命令。【实验准备】1.特征多项式设A为n阶方阵,如果数“”和n维列向量x使得关系式成立,则称为方阵A的特征值,非零向量x称为A对应于特征值“”的特征向量。poly(A),返回矩阵A的特征多项式的向量表示形式,例如:>>clear>>A=[10;23];>>p=poly(A)%矩阵A的特征多项式的向量表示形式p=1-43>>f=poly2str(p,
2、'x')%矩阵A的特征多项式f=x^2-4x+3或者由定义出发,计算特征多项式.例如:>>clear>>A=[10;23];>>E=eye(2);%2阶单位阵>>symsx>>f=det(x*E-A)%矩阵A的特征多项式f=(x-1)*(x-3)2.特征值与特征向量eigenvalue求一个方阵的特征值与特征向量可以使用函数eig().d=eig(A),返回A所有特征值组成的列向量d.[V,D]=eig(A),返回A所有特征值组成的矩阵D和特征向量组成的矩阵V.[V,D]=eigs(A),返回A所有
3、特征值(按大小次序)组成的对角矩阵D和特征向量组成的矩阵V,且满足D=V-1AV.d=eig(A,B),返回复数矩阵A+Bi所有特征值组成的向量d.[V,D]=eig(A,B),返回复数矩阵A+Bi所有特征值组成的矩阵D和特征向量组成的矩阵V.例如:>>clear(>>format)(>>formatrat)6-8>>A=[0100;1000;0001;0010];>>d=eig(A)%求矩阵A的特征值d=1-11-1>>%特征值以列向量的形式输出,例如:>>[V,D]=eig(A)%求矩阵A的特征
4、值与特征向量所组成的矩阵V=-0.7071000.70710.7071000.70710-0.70710.7071000.70710.70710D=-10000-10000100001>>%说明(1)矩阵D的主对角线上的元素为特征值,所以方阵A的特征值为-1(二重),1(二重).>>%说明(2)特征值-1对应的特征向量为V中的第1、2列,即(-0.70710.707100)T(00-0.70710.7071)T,其中为任意常数,特征值1的特征向量为V中的第3、4列,即(000.70710.7071)
5、T(0.70710.707100)T,其中为任意常数。>>V=sym(V)%以符号的形式输出矩阵VV=[-sqrt(1/2),0,0,sqrt(1/2)][sqrt(1/2),0,0,sqrt(1/2)][0,-sqrt(1/2),sqrt(1/2),0][0,sqrt(1/2),sqrt(1/2),0]>>V^-1*A*V%验证D=V^-1AVans=[-1,0,0,0][0,-1,0,0]6-8[0,0,1,0][0,0,0,1]3.提高特征值的计算精度函数balance格式[T,B]=bala
6、nce(A)%求相似变换矩阵T和平衡矩阵B,满足。B=balance(A)%求平衡矩阵B4.实对称矩阵的对角化实对称矩阵的对角化[P,D]=eig(A)D为对角化后的矩阵,P为正交阵.在Matlab中,我们运用函数eig求出二次型矩阵A的特征值矩阵D和特征向量矩阵P,所求的矩阵D即为系数矩阵A的标准形,矩阵P即为二次型的变换矩阵.例如:>>clear>>A=[22-2;25-4;-2-45];%实对称矩阵A>>[P,D]=eig(A)%矩阵A的对角化P=-0.29810.89440.3333-0.5
7、963-0.44720.6667-0.74540-0.6667D=1.00000001.000000010.00004.若当标准形若当标准型可用函数jordan()来求.J=jordan(A),其中J为A的若当标准型。例如matlab代码:>>clear>>A=[210;-100;-112];%矩阵A>>jordan(A)%矩阵A的若当标准形运算结果为:ans=200011001注意:Matlab中若当块是按上三角形定义的。5.其他相关函数矩阵的迹trace(A)将复对角矩阵转换为实对角矩阵[V,D
8、]=cdf2rdf(v,d)在对角线上用2*2实数块代替共轭复数对.矩阵元素求和函数sum(A,dim),dim=1则按列求和,dim=2则按行求和sum(sum(A,1),2)返回矩阵A的所有元素之和.矩阵元素求积函数prod(A,dim),dim=1则按列求积,dim=2则按行求积。prod(prod(A,1),2)返回矩阵A的所有元素之积.6-8【实验内容】例6-1:求矩阵的特征值与特征向量,并将其对角化. 解一:相应的matlab代码及运算结果如下:>>cle