我有一个矩阵100x100,我发现它是最大的特征值。现在我需要找到对应于这个特征值的特征向量。我怎么能这样做?
答案 0 :(得分:9)
eigen
功能无法满足您的需求?
> B <- matrix(1:9, 3)
> eigen(B)
$values
[1] 1.611684e+01 -1.116844e+00 -4.054214e-16
$vectors
[,1] [,2] [,3]
[1,] -0.4645473 -0.8829060 0.4082483
[2,] -0.5707955 -0.2395204 -0.8164966
[3,] -0.6770438 0.4038651 0.4082483
答案 1 :(得分:3)
阅读$vectors
所针对的特征函数状态的实际帮助:
“a p * p 矩阵,其列包含x的特征向量。”
对应于最大特征值的实际向量是$vectors
的第1列。
直接得到它:
> B <- matrix(1:9, 3)
> eig <- eigen(B)
> eig$vectors[,which.max(eig$values)]
[1] -0.4645473 -0.5707955 -0.6770438
# equivalent to:
> eig$vectors[,1]
[1] -0.4645473 -0.5707955 -0.6770438
请注意,@ user2080209的答案不起作用:它将返回第一行。