【发布时间】:2014-02-28 04:13:55
【问题描述】:
我有一个方阵 C,我必须找到其中的特征值和特征向量。
C =
2 -1 -1 0
-1 3 -1 -1
-1 -1 3 -1
0 -1 -1 2
当我使用函数 eig() 时, [V,D]=eig(C,'不平衡') 这是我得到的 V 和 D 的输出:
V =
-0.5000 0.7071 0.4914 -0.0924
-0.5000 -0.0000 -0.3607 0.7874
-0.5000 -0.0000 -0.6221 -0.6025
-0.5000 -0.7071 0.4914 -0.0924
D =
-0.0000 0 0 0
0 2.0000 0 0
0 0 4.0000 0
0 0 0 4.0000
但是当我在在线矩阵计算器(http://www.bluebit.gr/matrix-calculator/)上给出相同的矩阵C时,我得到的对应特征值和向量如下:
Eigenvalues:
(0.000,0.000i)
(2.000,0.000i)
(4.000,0.000i)
(4.000,0.000i)
Eigenvectors:
( 0.500, 0.000i) ( 0.707, 0.000i) ( 0.500, 0.000i) (-0.308, 0.000i)
( 0.500, 0.000i) ( 0.000, 0.000i) (-0.500, 0.000i) (-0.250, 0.000i)
( 0.500, 0.000i) ( 0.000, 0.000i) (-0.500, 0.000i) ( 0.865, 0.000i)
( 0.500, 0.000i) (-0.707, 0.000i) ( 0.500, 0.000i) (-0.308, 0.000i)
你能告诉我为什么这两种情况下的值存在差异吗?matlab中eig函数返回的值是否正确?提前谢谢。
【问题讨论】:
-
您可以通过尝试从 V 和 D 重构矩阵来找出...
-
顺便说一句,matlab 页面说在输入矩阵对称的情况下会忽略 balanceOption mathworks.co.uk/help/matlab/ref/eig.html#inputarg_balanceOption
-
是的,我可以重建矩阵 C。但是,我的项目再次处理基于符号计算的特征向量。因此,当我将输入 C 提供给 url 中提到的在线计算器时,可以看到数字的符号不同。那这不是问题吗?
标签: matlab eigenvector eigenvalue