kangarooli 发表于 2010-7-14 11:29

MATLAB求矩阵特征值排列问题

我用MATLAB求矩阵特征值和特征向量显示如下
evects =

[            .2180,   -.2003-1.566*i,            .7613,   -.2003+1.566*i]
[         -2.109,    .6427+1.521*i,            .7772,    .6427-1.521*i]
[      -.2140e-2, .2589+.8416e-1*i,       -.2919, .2589-.8416e-1*i]
[         -6.379,    1.849+3.373*i,            .4653,    1.849-3.373*i]
evalue =

[            -2.815,                0.,                        0.,                0          .]
[                0., -.9570e-5+.7971*i,                0.,               0         ]
[                0.,                0.,                  -9.185,                0.          ]
[                0.,                0.,                           0.,-.9570e-5-.7971*i]
它是怎么排列的呢,我想让它如下显示怎么办
evalue =
      0 - 0.7971i      0                  0                     0         
      0                  0 + 0.7971i      0                     0         
      0                  0               -2.8150                   0         

      0                  0                        0                -9.1850         
就是先显示复数形式的,因为下面我要用这个函数
=cdf2rdf(evects,evalue),像第一种那样是不行的,请高手指教,谢谢

wei_x 发表于 2010-7-15 12:47

用sort 函数
= eig(k,m);   %eig函数求解特征值问题
tempd=diag(d);               %记录特征值
=sort(tempd);%对特征值排序
v=v(:,sortindex);            %特征向量排序

kangarooli 发表于 2010-7-15 15:44

回复 沙发 wei_x 的帖子

研究中,谢谢
页: [1]
查看完整版本: MATLAB求矩阵特征值排列问题