声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 7437|回复: 27

[转子动力学] 求助:有阻尼时MATLAB中求固有频率以及振型

  [复制链接]
发表于 2007-5-19 08:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
[求助]请教有阻尼时MATLAB中求固有频率以及振型


当有阻尼时(M——质量矩阵;C—— 阻尼矩阵;K——刚度矩阵)

M*X''+CX'+KX=0


该怎么求系统的固有频率和振型啊

我会牢牢记住大家的帮助的!!!
回复
分享到:

使用道具 举报

发表于 2007-5-22 09:10 | 显示全部楼层

回复 #1 zhaoqinquan 的帖子

固有频率和振型时是不考虑阻尼的
用[vec,val]=eig(inv(M)*K);
计算出特征向量阵vec和特征值val,再排序即可得到振型矩阵和频率

评分

1

查看全部评分

发表于 2007-5-23 16:21 | 显示全部楼层
有阻尼时,要把阻尼分类分别处理,人还没研究清楚,matlab也无能为力啊。可参照二楼求出无阻尼固有频率
发表于 2007-5-23 18:03 | 显示全部楼层

回复 #1 zhaoqinquan 的帖子

好像记得有人问过,但找了半天没找到,:@L
有一个近似算法是现在常用的,就是先求出无阻尼系统的固有频率及相应振型矩阵,用命令eig(K,M,'qz')或者eig(K,M),将系统正则化,求出正则阻尼矩阵,其可能不是对角矩阵,但取其对角元素即可,那么阻尼系统固有频率为wr=w*sqrt(1-c),其中c为正则阻尼矩阵对角线上元素,而系统的振型不变,因此原来地振型矩阵中各列向量仍对应阻尼系统各固有频率

[ 本帖最后由 咕噜噜 于 2007-5-23 18:05 编辑 ]

评分

1

查看全部评分

发表于 2007-5-24 16:25 | 显示全部楼层

下面是程序,输入M,D,K

function [v,w,zeta]=vbr_sf(m,d,k)
%vbr_sf  vbr_sf(m,d,k)
%        [v,w,zeta]=vbr4(m,d,k)
%        function vbr_sf finds the mode shapes and natural frequencies of
%        a linear second order matrix equation.  
%        [v,w]=vbr_sf(m,k) finds the mode shapes and natural frequencies
%        for the undamped case.
if nargin==2
  k=d;
  [v,w]=eig(m\k);
  w=sqrt(w);
end
if nargin==3
  if norm(d/m*k-k/m*d) < 1e-8*norm(k/m*d)
    %disp('Damping is proportional, eigenvectors are real.')
    [v,w]=eig(m\k);
    w=sqrt(w);
    zeta=(v'*m*v)\(v'*d*v)/2/w;
   else
    %disp('Damping is non-proportional, eigenvectors are complex.')
    a=[0*k eye(length(k));-m\k -m\d];
    [v,w1]=eig(a);
    w=abs(w1);
    zeta=-real(w1)/w;
  end
end
w=diag(w);zeta=diag(zeta);

评分

1

查看全部评分

 楼主| 发表于 2007-6-1 15:30 | 显示全部楼层
:victory:

[ 本帖最后由 zhaoqinquan 于 2007-6-1 15:34 编辑 ]
发表于 2010-9-7 20:36 | 显示全部楼层
回复 xuhuaibing 的帖子

牛人啊
怀兵,那么巧啊,我是Ye Xijun啊
发表于 2010-10-10 22:46 | 显示全部楼层
转换到状态空间,系统矩阵的零点就是特征值~~
发表于 2010-10-28 11:31 | 显示全部楼层
回复 20052731 的帖子

请教了,这方面不是很懂,能不能解释具体一点?
无阻尼时[U,S]=eig(M,k);
有阻尼时怎么就变成[U,S]=eig(inv(M)*K)了?
发表于 2010-11-9 11:21 | 显示全部楼层
回复 9 # secondye 的帖子

你会不会求控制理论中系统矩阵啊 ?
发表于 2010-11-12 05:37 | 显示全部楼层
发表于 2011-12-20 10:54 | 显示全部楼层
回复 5 # gxc8208 的帖子

此处为对称系统的复模态
发表于 2012-2-9 14:59 | 显示全部楼层
回复 4 # 咕噜噜 的帖子

如果引用结构阻尼,E=E(1+iy),y为loss factor,matlab中有无专门的命令求这个形式下的固有频率啊,谢谢~~~
发表于 2012-2-25 10:36 | 显示全部楼层
>> m=[1 0 0;0 1 0;0 0 2];
>> k=[1 1 1;1 2 2;1 2 2.5];
>> d=[1 1 2;1 2 4;1 2 5];
>> vbr sf(m,d,k)
??? Undefined function or method 'vbr' for input arguments of
type 'char'.
我怎么出现这样的情况呢 ?有谁帮忙看看问题出在哪里呢
发表于 2012-2-25 10:37 | 显示全部楼层
gxc8208 发表于 2007-5-24 16:25
function [v,w,zeta]=vbr_sf(m,d,k)
%vbr_sf  vbr_sf(m,d,k)
%        [v,w,zeta]=vbr4(m,d,k)

>> m=[1 0 0;0 1 0;0 0 2];
>> k=[1 1 1;1 2 2;1 2 2.5];
>> d=[1 1 2;1 2 4;1 2 5];
>> vbr sf(m,d,k)
??? Undefined function or method 'vbr' for input arguments of
type 'char'.
我运行程序怎么出现这种情况呢   怎么情况呀 ?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-7 07:22 , Processed in 0.058857 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表