不化顽石 发表于 2007-5-9 10:57

[请教]请问关于矩阵特征值和特征向量的计算

请问,当我用
=eig(A);
求出特征值及特征向量之后,想对其排个序,如果两边一起进行呢?
因为对特征值的排序相对简单,但如果两者不对应的话,得到的结果就没意义了。
躹躬,请指教。

eight 发表于 2007-5-9 10:59

help sortrows

[ 本帖最后由 ChaChing 于 2010-7-5 20:51 编辑 ]

不化顽石 发表于 2007-5-9 11:38

请问楼上,我用了这个函数,还是那个问题,特征值矩阵是搞定了
之后呢?如何把刚才算好的特征向量与排好了序的特征值矩阵联系起来?

eight 发表于 2007-5-9 11:55

原帖由 不化顽石 于 2007-5-9 11:38 发表
请问楼上,我用了这个函数,还是那个问题,特征值矩阵是搞定了
之后呢?如何把刚才算好的特征向量与排好了序的特征值矩阵联系起来?

>> a=
a =
   2   5   1    -2   0   7   9    10
>> =sort(a)
b =
    -2   0   1   2   5   7   9    10

c =
   4   5   3   1   2   6   7   8
>> sortrows()
ans =
   1   2
   2   5
   3   1
   4    -2
   5   0
   6   7
   7   9
   8    10


我这里的 b,c 就相当于你的特征向量和特征值。

建议下次自己稍微动手help一下

sffei 发表于 2007-5-9 17:52

如求出的特征值里面有实数和复数,有没有什么命令可以选出实数呢

w89986581 发表于 2007-5-9 18:37

index = find(imag(xx)<eps);
判断实数下标

sffei 发表于 2007-5-9 20:35

谢谢w89986581 提醒

eight 发表于 2007-5-9 23:08

原帖由 sffei 于 2007-5-9 17:52 发表
如求出的特征值里面有实数和复数,有没有什么命令可以选出实数呢
还可以用 isreal 命令

sffei 发表于 2007-5-10 00:59

isreal 好像是对矩阵所有元素进行判断,并不能得到实数的索引,除非对矩阵进行循环

rocwoods 发表于 2007-5-10 09:34

的确isreal是对整个矩阵进行判断,只要矩阵含有虚数,就返回false。
但是我们可以这样取出矩阵中的实数:
b=a(a-real(a)==0)

eight 发表于 2007-5-10 09:37

原帖由 sffei 于 2007-5-10 00:59 发表
isreal 好像是对矩阵所有元素进行判断,并不能得到实数的索引,除非对矩阵进行循环

对,谢谢提醒,没想到这个命令是全局的,呵呵
页: [1]
查看完整版本: [请教]请问关于矩阵特征值和特征向量的计算