我要编程PCA,但为此,我必须计算特征向量和特征值。
我的问题在于计算我们必须计算所有矩阵的行列式的特征值(对角线值 - lamda)。
在这种情况下,我们可以考虑在矩阵维度上取决于lamda的数量。
我可以在lamda减去对角线之前为matriks手动编程。
但是对于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功能,但我不允许使用它!!
我真的很高兴任何帮助:)
答案 0 :(得分:0)
如果有,可以使用符号工具箱。
http://www.mathworks.com/help/symbolic/mupad_ref/linalg-det.html
然后你必须找到多项式的根。
如果您没有符号工具箱,我认为您必须自己制作程序。一种选择是使用次要扩展。
PS:顺便说一下,你的行列式的值没有被正确评估。