在MATLAB中,计算矩阵A的特征值和特征向量的函数是eig(A),常用的调用格式有

5种:

(1) E=eig(A):求矩阵A的全部特征值,构成向量E。

想求最大特征值用:max(eig(A))就好了。

(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

归一化处理:

用Excle就能做,原理很简单,举例:

将以下特征向量归一化

-1.2265

-0.8410

-0.8396

-0.9494

-------在Excle表格里输入:----------

=-1.2265/sum(-1.2265,-0.8410,-0.8396,-0.9494)

=-0.8410/sum(-1.2265,-0.8410,-0.8396,-0.9494)

=-0.8396/sum(-1.2265,-0.8410,-0.8396,-0.9494)

=-0.9494/sum(-1.2265,-0.8410,-0.8396,-0.9494)

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐