在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)
轉自(
fvan的博客
)