xinyuxf 发表于 2006-8-31 11:08

请教一个eig小问题

是结构动力分析方面的:
   计算固有频率时,我算出了和,也就是只剩解*U=λ**U了,我一开始的做法是
将上式转化成(inv)**U=λ*U,然后用eig((inv)*)求出频率和振型,但结果和ansys算出来的有很大出入,尤其是前几阶(我只需要用前4阶就可以了)。后来我感觉是不是我上面的转化一步错了,因为解出来的λ和U都是矩阵阿,那样就不能那样做了。由于我的数学不好,matlab又刚学,所以算到这一步我就卡住了。各位大虾帮帮忙阿,能不能指点一下,公式*U=λ**U在matlab里到底该怎么解阿?不胜感激,谢谢

我说得不够明白吗?请大家不惜笔墨,小弟心里挺着急的

[ 本帖最后由 ChaChing 于 2009-12-13 01:00 编辑 ]

toes 发表于 2006-8-31 16:02

不惜笔墨,呵呵。

机子上没有matlab,记得是这样的格式才对:
= eig(K,M);

V是特征向量矩阵,当然是没有归一化的。
D是一个对角化的特征值矩阵。取对角值,并对其开方根就是固有频率。

xinyuxf 发表于 2006-8-31 18:55

谢谢啦!我试试。十分感谢


我试了试,以下两种算法的结果一样:
    1. KM=inv(M)*K;
      =eig(KM);
    2.=eig(K,M);
很感谢toes的指点,至少我知道了我的程序里不是着出错了,而可能是K、M的求解错了。
多谢,我再看其他部分

[ 本帖最后由 ChaChing 于 2009-12-13 01:01 编辑 ]
页: [1]
查看完整版本: 请教一个eig小问题