matlab求广义特征值问题
求解(p.*A+B)*x=0的特征值和特征向量,下面是我的程序,可是算出来的特征向量总是有问题,请各位帮我找下问题,多谢各位大虾A=
B=[-2 0 0 0;0 -2 0 0;0 0 6000 -2000;0 0 -2000 6000]
C=B*inv(A)
=eigs(-C)
这是第一个程序,后来算出来的特征向量有问题,验证的时候带进去算出来的值不是零,所以我换了个方法是这个
A=
B=[-2 0 0 0;0 -2 0 0;0 0 6000 -2000;0 0 -2000 6000]
=eig(B,-A)
可是算出来的还是和书上的结果不太一致。。。
本帖最后由 Happy99 于 2010-11-8 14:22 编辑
xjyhuijia 发表于 2010-11-8 10:13 http://www.chinavib.com/static/image/common/back.gif
...后来算出来的特征向量有问题,验证的时候带进去算出来的值不是零 ...
什麼问题?
记住数值计算要完全等於零, 是不可能的!
只要误差比率可以就好了:@)
Happy99 发表于 2010-11-8 14:18 static/image/common/back.gif
什麼问题?
记住数值计算要完全等於零, 是不可能的!
只要误差比率可以就好了
其实是导师让我针对书上的一个例题编程,计算一般粘性阻尼系统的系统极点和特征向量,最后通过我写的这个方程获得,我算出来的极点是对的,和例题上一样,可是极点对应的特征向量却和书上的不一样,差的有点多,我换了几个函数算都不一样,可是我觉得我的算法应该是没有什么错误的,不知道问题出在哪里 本帖最后由 Happy99 于 2010-11-8 23:26 编辑
xjyhuijia 发表于 2010-11-8 16:19 http://www.chinavib.com/static/image/common/back.gif
...算出来的极点是对的,和例题上一样,可是极点对应的特征向量却和书上的不一样,差的有点多 ...差的有点多? 方便列出来看看吗!?
理论上极点(特征值)对了, 特征向量不应该不对! 回复 3 # xjyhuijia 的帖子
我对你的两个矩阵有点疑惑,因为如果是有阻尼系统,正常的特征值应该是det(Ms^2+Cs+K)=0,即使写成状态空间det(A-sI)=0,A 也应该是,即A第一行第三个数和第二行第四个数应该是1啊。我有点不明白了 Happy99 发表于 2010-11-8 23:25 static/image/common/back.gif
差的有点多? 方便列出来看看吗!?
理论上极点(特征值)对了, 特征向量不应该不对!
A=
B=[-2 0 0 0;0 -2 0 0;0 0 6000 -2000;0 0 -2000 6000]
C=B*inv(A)
=eigs(-C)
结果是下面这个,特征值和书上的答案一样,可是特征向量不一样
C =
1.0e+003 *
0.0020 -0.0005 -0.0010 0
-0.0005 0.0025 0 -0.0010
3.0000 -1.0000 0 0
-1.0000 3.0000 0 0
v =
-0.0001 - 0.0112i-0.0001 + 0.0112i 0.0002 + 0.0158i 0.0002 - 0.0158i
0.0003 + 0.0112i 0.0003 - 0.0112i 0.0000 + 0.0158i 0.0000 - 0.0158i
-0.7070 - 0.0056i-0.7070 + 0.0056i 0.7070 0.7070
0.7070 0.7070 0.7067 + 0.0158i 0.7067 - 0.0158i
d =
-1.3750 -63.2296i 0 0 0
0 -1.3750 +63.2296i 0 0
0 0 -0.8750 -44.7135i 0
0 0 0 -0.8750 +44.7135i
书上给出了p1= -0.8750 +44.7135i和P2=-1.3750 +63.2296i的特征向量,分别是
y1=
y2=[-9.1825*10^(-2)+7.0097*10^(-1)*i;1.0291*10^(-1)+6.9954*10^(-1)*i;1.1112*10^(-2)+1.2106*10^(-3)*i;-1.1094*10^(-2)-1.3864*10^(-3)*i] appleseed05 发表于 2010-11-8 23:35 static/image/common/back.gif
回复 3 # xjyhuijia 的帖子
我对你的两个矩阵有点疑惑,因为如果是有阻尼系统,正常的特征值应该是det(Ms^ ...
这是一个二自由度系统,质量、刚度、阻尼矩阵分别是
M=
C=
K=
书上推导是{X(p)}=(p^2.*M+p.*C+K)*{X(p)}={F(p)},然后为了将其转化为一般特征值问题。引入方程,(p.*M-p.*M){X(p)}={0}
最后得到:(p.*A+B)*{Y}={F'}
A=[ M;M C],B=[-M ; K],{Y}={p.*{X};{X}},{F'}={{0};{F}}
所以就变成了det(p.*A+B)=0
这就是整个推导过程 Happy99 发表于 2010-11-8 23:25 static/image/common/back.gif
差的有点多? 方便列出来看看吗!?
理论上极点(特征值)对了, 特征向量不应该不对!
这是一个二自由度系统,质量、刚度、阻尼矩阵分别是
M=
C=
K=
书上推导是{X(p)}=(p^2.*M+p.*C+K)*{X(p)}={F(p)},然后为了将其转化为一般特征值问题。引入方程,(p.*M-p.*M){X(p)}={0}
最后得到:(p.*A+B)*{Y}={F'}
A=[ M;M C],B=[-M ; K],{Y}={p.*{X};{X}},{F'}={{0};{F}}
所以就变成了det(p.*A+B)=0
这就是整个推导过程 理论上极点(特征值)对了, 特征向量不应该不对!
个人以为是一样的, LZ比较下
abs(v)
页:
[1]