7

100x100 の行列があり、それが最大の固有値であることがわかりました。次に、この固有値に対応する固有ベクトルを見つける必要があります。これどうやってするの?

4

2 に答える 2

11

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
于 2013-05-20T14:27:48.343 に答える
3

固有関数状態の実際のヘルプを読むと、 $vectors「列に x の固有ベクトルが含まれるp*p行列」と書かれています。最大の固有値に対応する実際のベクトルは の 1 列目です$vectors。直接取得するには:

> 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 の回答は機能しないことに注意してください。最初の行が返されます。

于 2014-03-10T15:27:47.050 に答える