проблема нахождения собственных векторов матрицы в MATLAB - PullRequest
0 голосов
/ 16 августа 2011

у меня симметричная матрица с элементами A=[8.8191,0,1.0261; 0,3,0; 1.0261,0,3.1809]; Я использовал функцию eig(A) в MATLAB, собственные значения и собственные векторы даны:

eigvect =

0.1736         0    0.9848
     0   -1.0000         0
-0.9848         0    0.1736


eigval =

3.0000         0         0
     0    3.0000         0
     0         0   9.0000    

Собственные значения верны, но собственные векторы не те, которые я ожидаю, потому что я думаю, что 2 из них должны быть равны. Правильно ли рассчитывает MATLAB собственные векторы?

Ответы [ 2 ]

2 голосов
/ 16 августа 2011

Определение собственного значения можно найти в любом месте на сети

A*v = lam*v

v является собственным вектором с lam, соответствующим ему собственным значением.

Итак, проверьте свои результаты:

i =1;
A*eigvect (:,i)-eigval(i,i)*eigvect(:,i) %which should be approx [0;0;0]
0 голосов
/ 25 декабря 2012

Нет необходимости, чтобы каждое из повторяющихся собственных значений имело свой (независимый) связанный собственный вектор.Это означает, что матрица nxn с собственным значением, повторяющимся более одного раза, имеет меньше или равно n линейно независимых собственных векторов.

Пример 1: Matrix 2 0;0 2 имеет собственное значение 2 (повторяется дважды), но имеет два линейно независимых собственных вектора, связанных с собственным значением 2

Пример 2 : матрица A = 1 1 1 -2;0 1 0 -1;0 0 1 1;0 0 0 1

имеет собственное значение 1 (повторяется четыре раза), но имеет только два независимых собственных вектора, связанных с собственным значением 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...