欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Matlab ----- 查找矩阵特征多项式和特征值

最编程 2024-03-09 09:12:11
...

求矩阵的特征多项式

J =

     1     0     0

     0     2     0

     0     0     3

 poly(J)

得到系数结果

ans =
     1    -6    11    -6

转化就是:

x^3-6x^2+11x-6=0


求特征值:

eig(J)


ans =
     1
     2
     3


---------------------------------------------------------------------------------------

(1) E=eig(A):求矩阵A的全部特征值,构成向量E。
(2) [V,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成

V的列向量。
(3) [V,D]=eig(A,'nobalance'):与第2种格式类似,但第2种格式中先对A作相似

变换后求矩阵A的特征值和特征向量,而格式3直接求矩阵A的特征值和特征向量。

(4) E=eig(A,B):由eig(A,B)返回N×N阶方阵A和B的N个广义特征值,构成向量E

。
(5) [V,D]=eig(A,B):由eig(A,B)返回方阵A和B的N个广义特征值,构成N×N阶对

角阵D,其对角线上的N个元素即为相应的广义特征值,同时将返回相应的特征向

量构成N×N阶满秩矩阵,且满足AV=BVD。

eig

Find eigenvalues and eigenvectors
Syntax

d = eig(A)
d = eig(A,B)
[V,D] = eig(A)
[V,D] = eig(A,'nobalance')
[V,D] = eig(A,B)
[V,D] = eig(A,B,flag)


d = eig(A)和 [V,D] = eig(A)最为常用 注意,第一列为对应第一个特征值的特征向量,比如:

B=rand(4)

B =

    0.5653    0.7883    0.1365    0.9749
    0.2034    0.5579    0.3574    0.6579
    0.5070    0.1541    0.9648    0.0833
    0.5373    0.7229    0.3223    0.3344

>> [a,b]=eig(B)

a =

   -0.6277   -0.3761   -0.7333    0.7110
   -0.4304   -0.5162    0.2616   -0.2155
   -0.4297    0.1563    0.6049   -0.6471
   -0.4859    0.7534   -0.1672    0.1713


b =

    1.9539         0         0         0
         0   -0.3623         0         0
         0         0    0.3937         0
         0         0         0    0.4370

则1.9539对应的特征向量为:

   -1.2265
   -0.8410
   -0.8396
   -0.9494