1

我要编程 PCA,但为此,我必须计算特征向量和特征值。

我的问题是在计算特征值时,我们必须计算所有(对角线值 - lamda)的矩阵的行列式。

在这种情况下,我们可以考虑 lamda 的数量取决于矩阵维度。

我可以在 lamda 减去对角线之前为矩阵手动编程。

但是对于被lamda减去后的对角线,如何计算呢?

因为,最终我们必须进行因式分解才能得到 lamda (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)。

我已经尝试将它相乘,但 matlab 给出了错误。你知道如何计算 (3-x) (7-x) (9-x) 吗?

我知道有matlab函数,但我不允许使用它!

我真的很感谢任何帮助:)

4

1 回答 1

0

如果有的话,您可以使用符号工具箱。

http://www.mathworks.com/help/symbolic/mupad_ref/linalg-det.html

然后你必须找到多项式的根。

如果您没有符号工具箱,我认为您必须自己制作程序。一种选择是使用次要扩展。

PS:顺便说一句,您的行列式的价值没有被正确评估。

于 2014-02-16T03:15:53.620 回答