У меня есть квадратная матрица C, из которой я должен найти собственные значения и собственные векторы.Как вычислить собственные значения и векторы матрицы в matlab
C =
2 -1 -1 0
-1 3 -1 -1
-1 -1 3 -1
0 -1 -1 2
При использовании функции ГЦОС() таким образом, что, [V, D] = ГЦОС (С, 'nobalance') Это выходной сигнал V и D, что я получаю:
V =
-0.5000 0.7071 0.4914 -0.0924
-0.5000 -0.0000 -0.3607 0.7874
-0.5000 -0.0000 -0.6221 -0.6025
-0.5000 -0.7071 0.4914 -0.0924
D =
-0.0000 0 0 0
0 2.0000 0 0
0 0 4.0000 0
0 0 0 4.0000
Но когда я даю ту же матрицу C в интернет-матрицы калькулятор (http://www.bluebit.gr/matrix-calculator/), соответствующие собственные значения и векторы, которые я получаю следующим образом:
Eigenvalues:
(0.000,0.000i)
(2.000,0.000i)
(4.000,0.000i)
(4.000,0.000i)
Eigenvectors:
(0.500, 0.000i) (0.707, 0.000i) (0.500, 0.000i) (-0.308, 0.000i)
(0.500, 0.000i) (0.000, 0.000i) (-0.500, 0.000i) (-0.250, 0.000i)
(0.500, 0.000i) (0.000, 0.000i) (-0.500, 0.000i) (0.865, 0.000i)
(0.500, 0.000i) (-0.707, 0.000i) (0.500, 0.000i) (-0.308, 0.000i)
Можете ли вы сказать мне, почему существует разница в значениях в двух случаях? Правильны ли значения, возвращаемые функцией eig в matlab? Спасибо заранее.
Вы можете просто попытаться восстановить матрицу из V и D ... –
Я не получил вас –
Кстати, на страницах matlab говорится, что balanceOption игнорируется в случаях, когда матрица ввода симметрична http: //www.mathworks.co.uk/help/matlab/ref/eig.html#inputarg_balanceOption – mathematician1975