我在VB中使用矩阵函数库MatrixVB的eig求特征值和特征向量,出现了这样的问题.特征向量与用matlab求的差了一个符号,这是为什么?
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/31 03:07:00
我在VB中使用矩阵函数库MatrixVB的eig求特征值和特征向量,出现了这样的问题.特征向量与用matlab求的差了一个符号,这是为什么?
我在VB中使用矩阵函数库MatrixVB的eig求特征值和特征向量,出现了这样的问题.
特征向量与用matlab求的差了一个符号,这是为什么?
我在VB中使用矩阵函数库MatrixVB的eig求特征值和特征向量,出现了这样的问题.特征向量与用matlab求的差了一个符号,这是为什么?
这个很正常.只要他们的比值不为0即是正确的.因为特征向量不唯一(注意,这里的不唯一意思是数值可以不一样).
比如:
a =
[ 49.1149203149206 97.9007076462268 64.8480193060115 59.1380427866886
9.92842577860152 45.0340597634362 71.1042780294569 95.5807427855119
5.97813730406488 13.2087267531123 51.5637772397901 69.9634000519120
29.4063646017603 81.5903472162738 45.2419125685663 7.64844753204307 ]
eig(a)//求方阵a的特征值
ans =
[ -55.389186280347 0.00000000000000
183.978892172887 0.00000000000000
12.3857494788251 -5.5701135151234
12.3857494788251 5.57011351512347 ]
eigtor(a,-55.389186280347)//a方阵特征值-55.389186280347的特征向量
ans =
[ 0.33052953655254
-0.5569048790626
-0.6038481263522
1.00000000000000 ]
//对于上面这个特征向量,可以乘以一个不为0的数,它还是其特征向量,比如像你说的,差一个符号,那我们乘以-1得其特征向量如下
ans =
[ -0.3305295365525
0.55690487906263
0.60384812635228
-1.0000000000000 ]