在MATLAB中求矩阵的特征向量的问题

时间:2011-08-16 00:05:28

标签: matlab eigenvector eigenvalue

我有一个带有元素A=[8.8191,0,1.0261; 0,3,0; 1.0261,0,3.1809];的对称矩阵 我在MATLAB中使用了eig(A)函数,给出了特征值和特征向量:

eigvect =

0.1736         0    0.9848
     0   -1.0000         0
-0.9848         0    0.1736


eigval =

3.0000         0         0
     0    3.0000         0
     0         0   9.0000    

特征值是正确的,但特征向量不是我所期望的,因为我认为它们中的2个应该是相等的。 MATLAB是否正确计算了特征向量?

2 个答案:

答案 0 :(得分:2)

可以在web

的任何位置找到特征值的定义
A*v = lam*v

v是具有lam的特征向量,其对应的特征值。

所以测试你的结果:

i =1;
A*eigvect (:,i)-eigval(i,i)*eigvect(:,i) %which should be approx [0;0;0]

答案 1 :(得分:0)

每个重复特征值不必具有其(独立的)相关特征向量。这意味着,具有重复多次的特征值的nxn矩阵具有小于或等于n个线性独立的特征向量。

示例1:矩阵                 2 0;                 0 2 具有特征值2(重复两次),但它有两个与特征值2相关的线性无关的特征向量

示例2 :Matrix       A = 1 1 1 -2;          0 1 0 -1;          0 0 1 1;          0 0 0 1

具有特征值1(重复四次),但它只有两个独立的特征向量与特征值1相关联。