作者magiclass (课堂上玩数学)
看板MATLAB
标题[问题] 计算特徵向量时有误差?
时间Thu Aug 2 09:51:26 2012
>> B=[0 0 6;1/2 0 0;0 1/3 0]
B =
0 0 6.0000
0.5000 0 0
0 0.3333 0
>> [v,d]=eig(B)
v =
0.8847 0.8847 -0.8847
-0.2212 - 0.3831i -0.2212 + 0.3831i -0.4423
-0.0737 + 0.1277i -0.0737 - 0.1277i -0.1474
d =
-0.5000 + 0.8660i 0 0
0 -0.5000 - 0.8660i 0
0 0 1.0000
以上是程式码。
可是特徵值是1时,特徵向量应该是[6 3 1]吧?
这和Matlab去解x^3=1时,会选择两个虚根有关吗?
但应该不至於影响到解实根的特徵向量才是啊?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.119.202.86
※ 编辑: magiclass 来自: 140.119.202.86 (08/02 09:51)
1F:→ GirlInBlack:他的特徵向量是看直的。最後一行是6:3:1没错啊 08/02 11:11
2F:→ magiclass:喔喔,了解了,只是他未必会化成整数比。谢谢楼上。 08/02 13:21
3F:→ GirlInBlack:它会把特徵向量normalize成单位向量喔 08/02 23:13
4F:→ GirlInBlack:不客气 :p 08/02 23:14