2013-05-20 3 views

ответ

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 
+0

нет, думаю нет. Например, для вашей матрицы я знаю собственное значение 1.611684e + 01 и I, что найти собственный вектор для этого собственного значения, а не все три – user2080209

+2

@ user2080209: Что заставляет вас думать, что собственные векторы находятся не в том же порядке, что и собственные значения? –

+0

@ user2080209, 'eig <- собственный (B); eig $ vector [eig $ values ​​== 1.611684e + 01] 'выберет подходящий собственный вектор – huon

3

Чтение фактической помощи государства на собственные функции, что $vectors является: «а р * р матрица, столбцы которой содержат собственные векторы х.» Фактическим вектором, соответствующим самому большому собственному значению, является 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 не работает: она возвращает первую строку.

 Смежные вопросы

  • Нет связанных вопросов^_^