Я собираюсь запрограммировать PCA, но для этого мне нужно вычислить собственный вектор и собственное значение.
Мой вопрос заключается в вычислении собственного значения, которое мы должны вычислить определителем матрицы, которая все (диагональное значение - лямбда).
В этом случае можно считать, что количество лямбдов зависит от размерности матрицы.
Могу запрограммировать вручную для матриц до вычитания диагонали лямдой.
Но для диагонали после вычитания лямды, как ее вычислить??
Потому что, в конце концов, нам придется провести факторизацию, чтобы получить лямбду (x1,x2,..,xn).
Вот пример:
Matriks =[ 3 5 6
5 7 4
3 8 9]
Затем мы должны вычесть диагональное значение с собственным значением, в этом случае, поскольку мы его не знали, мы будем рассматривать его как x.
Matrix_New=[ 3-x 5 6
5 7-x 4
3 8 9-x]
И определитель равен (3-x)(7-x)(9-x).
Я уже пробовал умножать, но матлаб выдает ошибку. Знаете ли вы, как выполнять вычисления (3-x)(7-x)(9-x) ??
Я знаю, что есть функция Matlab, но мне не разрешено ее использовать!
Я действительно ценю любую помощь :)