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