Для этой проблемы, я думаю, что я получил большую часть кода правильно. Однако правильный собственный вектор содержит отрицательные значения того, что у меня есть.Поиск ассоциированного собственного вектора в Matlab
Инструкции:
Мой код:
clear all; close all;
M = [0 1/4 1/4 0 0 0 0 0 0 0;
1/2 0 1/4 1/4 1/6 0 0 0 0 0;
1/2 1/4 0 0 1/6 1/4 0 0 0 0;
0 1/4 0 0 1/6 0 1/2 1/4 0 0;
0 1/4 1/4 1/4 0 1/4 0 1/4 1/4 0;
0 0 1/4 0 1/6 0 0 0 1/4 1/2;
0 0 0 1/4 0 0 0 1/4 0 0;
0 0 0 1/4 1/6 0 1/2 0 1/4 0;
0 0 0 0 1/6 1/4 0 1/4 0 1/2;
0 0 0 0 0 1/4 0 0 1/4 0];
[Y, Z] = eig(M) % pull the first column of T
A8 = Y(:,1) % P
M*A8 % check
save ('A8.dat', 'A8', '-ascii')
Я использую,
[Y, Z] = eig(M)
найти соответствующий собственное 1 в Z с соответствующим собственным вектором из Y. Это дает P (или A8):
0.1667
0.3333
0.3333
0.3333
0.5000
0.3333
0.1667
0.3333
0.3333
0.1667
И когда я умножаю M на P, я получаю P, который проверяет. По-видимому, правильные значения должны быть отрицательными значениями того, что я получил. Может кто-нибудь уточнить?