Matlab eig没有输出已知的输出向量

时间:2018-12-01 20:56:37

标签: matlab

我需要在下面找到矩阵的特征向量。我知道输出应该是lamda = 1,我们应该看到输出(12,4,9,6),但是V输出对我来说毫无意义。

A=[0 0 1 1/2 ; 
    1/3 0 0 0 ; 
    1/3 1/2 0 1/2 ;
    1/3 1/2 0 0 ];

[V,D] = eig(A)

输出:

    V =
             628/871    +    0i           543/719    +    0i           543/719    +    0i           820/1619   +    0i      
             771/3208   +    0i          -215/708    -  163/471i      -215/708    +  163/471i     -1178/1945   +    0i      
             471/871    +    0i          -200/2147   +   64/233i      -200/2147   -   64/233i     -1641/4301   +    0i      
             314/871    +    0i          -472/1317   +  150/2101i     -472/1317   -  150/2101i      461/959    +    0i      


        D =

               1        +    0i             0        +    0i             0        +    0i             0        +    0i      
               0        +    0i         -1643/4556   +  337/820i         0        +    0i             0        +    0i      
               0        +    0i             0        +    0i         -1643/4556   -  337/820i         0        +    0i      
               0        +    0i             0        +    0i             0        +    0i          -635/2278   +    0i

在Wolfram和另一个来源中, v_1 =(12、4、9、6)

如何在matlab中获得(12,4,9,6)作为特征向量?

3 个答案:

答案 0 :(得分:1)

本征向量不是唯一的,这意味着只要它们具有相同的方向,它们就可以为任意大小。如果我没记错的话,Matlab可以对特征向量进行归一化,因此,如果将提供的向量matlab与v_1的幅值相乘以使它们具有相同的幅值,则可以获得类似的结果。

答案 1 :(得分:1)

V的第一列对应于Wolfram中的(12,4,9,6)。大小不同,但方向相同。

如果将V缩放为:

V*871/628*12

您将获得:

ans =
   1.2000e+01 + 0.0000e+00i   1.2569e+01 + 0.0000e+00i   1.2569e+01 + 0.0000e+00i   8.4296e+00 + 0.0000e+00i
   4.0000e+00 + 0.0000e+00i  -5.0541e+00 - 5.7598e+00i  -5.0541e+00 + 5.7598e+00i  -1.0080e+01 + 0.0000e+00i
   9.0000e+00 + 0.0000e+00i  -1.5504e+00 + 4.5716e+00i  -1.5504e+00 - 4.5716e+00i  -6.3501e+00 + 0.0000e+00i
   6.0000e+00 + 0.0000e+00i  -5.9648e+00 + 1.1882e+00i  -5.9648e+00 - 1.1882e+00i   8.0006e+00 + 0.0000e+00i

请注意第一列是(12,4,9,6)

答案 2 :(得分:0)

您还可以通过使用Symbolic Math Toolbox获得等于[2, 2/3, 3/2, 1]的有理特征向量[12, 4, 9, 6]/6

[v,d]=eig(sym(A));
simplify(v)

结果是

ans =
[   2, 2^(1/3) + 2^(2/3)/2 - 1, (2^(1/3)*3^(1/2)*1i)/2 - (2^(2/3)*3^(1/2)*1i)/4 - 2^(1/3)/2 - 2^(2/3)/4 - 1, - (2^(1/3)*3^(1/2)*1i)/2 + (2^(2/3)*3^(1/2)*1i)/4 - 2^(1/3)/2 - 2^(2/3)/4 - 1]
[ 2/3,                -2^(1/3),                                             -(2^(1/3)*(- 1 + 3^(1/2)*1i))/2,                                                  (2^(1/3)*(1 + 3^(1/2)*1i))/2]
[ 3/2,              -2^(2/3)/2,                                                (2^(2/3)*(1 + 3^(1/2)*1i))/4,                                               -(2^(2/3)*(- 1 + 3^(1/2)*1i))/4]
[   1,                       1,                                                                           1,                                                                             1]

(向量[2, 2/3, 3/2, 1]在结果的第一列中)