声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2031|回复: 6

[综合讨论] 【求助】多自由度 有阻尼系统的自由振动 如何求解

[复制链接]
发表于 2012-4-20 09:44 | 显示全部楼层 |阅读模式

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

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

x
现在正做一个八自由度系统的振动分析,
[M]{x''}+[C]{x'}+[K]{x}=0
M是主对角线矩阵
K,C都是非对称的8x8矩阵

求助:
1. 此系统的固有频率和主振型是否与无阻尼系统的计算方法相同,?
2. 已知初始条件t=0时的{x'}和{x},如何求解系统响应?
回复
分享到:

使用道具 举报

发表于 2012-4-20 16:07 | 显示全部楼层
本帖最后由 博大广阔 于 2012-4-20 16:13 编辑

转化成状态方程。用matlab 中的initial()函数即可

Plot the response of the state-space model
jar:file:///D:/MATLAB/R2011b/help/toolbox/control/help.jar%21/ref/eqn1255716302.gif
to the initial condition
jar:file:///D:/MATLAB/R2011b/help/toolbox/control/help.jar%21/ref/eqn1255716659.gif
a = [-0.5572   -0.7814;0.7814  0];c = [1.9691  6.4493];x0 = [1 ; 0]sys = ss(a,[],c,[]);initial(sys,x0)
发表于 2012-4-20 16:47 | 显示全部楼层
回复 2 # 博大广阔 的帖子

1.先改写成状态方程,后用eig函数求解;
2.数值方法很多,Newmark法,Wilson法等等。

评分

1

查看全部评分

发表于 2012-4-23 15:45 | 显示全部楼层
能不能写出个详细步骤来呢,我现在急需要一份,用增量谐波法解的matlab程序,谢谢了
发表于 2012-4-26 14:27 | 显示全部楼层
回复 4 # meiqiuchixiaoji 的帖子

给你一个自编的四阶龙格计算方法
function a=R_K()
%%%%%%%%%%%%%%%%%%%%%%%%%%%%计算初始值及计算时间长%%%%%%%%%%%%%%%%%%%%%%
u=0; %控制规律
t=0; tmax=10; h=0.01;
x10=[0;0];       %初始条件
%%%%%%%%%%%%%%%%%%%%%四阶龙格计算%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

n=1;        %循环程序需要的初始值
%%%%%%%%%%%%%%%%%%%%%%%主程序%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
while t<tmax   
[u,dX]=derives(t,x10,u);
       m1=h*dX;             t=t+0.5*h;X=x10+0.5*m1; %更新导数     
     [u,dX]=derives(t,X,u);
      m2=h*dX;            X=x10+0.5*m2;      %更新导数
    [u,dX]=derives(t,X,u);
     m3=h*dX;          t=t+0.5*h; X=x10+m3;     %更新导数
    [u,dX]=derives(t,X,u);
    m4=h*dX;        
     x10=x10+(1/6)*(m1+2*m2+2*m3+m4);
       y=x10(1);                                %输出
     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        
     XX(n)=y;  Time(n)=t;                 %用于保存
     n=n+1;  
   end
plot(Time,XX,'b');grid on;
end

%求导数
function [u,dX]=derives(t,X,u)
fi=10*exp(-0.5*t).*cos(3*t);          %振动系统对象
A=[-14.6254 0;1 0]; B=[1;0]; f=u+fi;
dX=A*X+B*f;   
end
发表于 2012-4-26 14:31 | 显示全部楼层
用matlab 查下initial命令怎么用就知道了、、、
发表于 2014-3-6 08:33 | 显示全部楼层
很有用的讨论。谢谢各位分享。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-28 21:45 , Processed in 0.075687 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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