单自由度系统的振动及matlab分析.docx
- 文档编号:1933866
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:6
- 大小:296.39KB
单自由度系统的振动及matlab分析.docx
《单自由度系统的振动及matlab分析.docx》由会员分享,可在线阅读,更多相关《单自由度系统的振动及matlab分析.docx(6页珍藏版)》请在冰点文库上搜索。
单自由度系统的振动及matlab分析
摘要:
以弹簧—质量系统为力学模型,研究单自由度系统的特性有着非常普遍的实际意义。
根据单自由度振动系统数学模型,利用Matlab软件设计了单自由度振动系统的数学仿真实验。
通过实验可以得到单自由度振动方程的数值
关键字:
有阻尼自由振动、有阻尼自由振动、matlab
正文:
无阻尼自由振动:
如图所示的单自由度振动系统可以用如下微分方程描述:
图1
(1-1)
令,方程的通解为
(1-2)
式(1-2)表示了图示
(1)中质量m的位置随时间而变化的函数关系,反映了振动的形式与特点,称为振动函数。
式(1-2)中,a、b为积分常数,它决定于振动的初始条件。
如假定t=0时,质量块的位移x=x0,其速度,则
即
(1-3)
或写成
(1-4)
,
其中A为振幅,为振动圆频率,为相位角,(赫兹)称为固有频率。
固有频率与外界给予的初始条件无关,它是系统本身所具有的一种重要特性。
有阻尼自由振动
图2
图1所示的自由振动中,由于系统的能量守恒,如果振动一旦发生,它就会持久的,等幅的一直进行下去。
但是,实际上所遇到的自由振动都是逐渐衰减而至最终停止的,即系统存在阻尼。
阻尼有相对运动表面的摩擦力,液体与气体的介质阻力,电磁阻力以及材料变形时的内阻力等。
图2所示为考虑了阻尼的单自由度振动系统模型。
其运动微分方程为
(2-1)
令,则
(2-2)
其通解为
(2-3)
式中c1、c2为积分常数,由振动初始条件确定。
令,称为相对阻尼系数或阻尼率。
则式(2-3)可写为
(2-4)
由此可以讨论阻尼对系统的自由振动产生的影响。
一、当时,称为弱阻尼状态
此时,为虚数,式(2-4)变为
(2-5)
利用欧拉公式,式(2-5)可写为
(2-6)
括号内为两个简谐振动相加,即式(2-5)可写为
(2-7)
由式(2-7)可以看出,弱阻尼自由振动具有如下几种特性:
它是一个简谐振动,振动的频率为,这是为无阻尼时系统的固有频率。
一般情况下,常在0.1左右,因此对固有频率的影响不大,即认为。
2.振动的振幅为,其中、、皆为定值。
所以振幅随时间变化的规律是一条指数递减曲线(图3)。
二、当时,称为强阻尼状态
此时,式(1.2.2-4)可写成
图3
(2-8)
由于,故式(2-8)中二项指数皆为实数。
又因为,故二项之指数皆为负值,所以,式(2-8)所表示的是一根指数递减曲线。
这表示系统将不再产生前面所述的振动,而是产生一按指数规律衰减的曲线。
三、当时,称为临界阻尼状态
由于,,则有
(2-9)
这里cc为临界阻尼状态下的阻尼系数,称为临界阻尼系数。
显然它是系统本身所具有的特性之一。
由及,有。
也就是说,相对阻尼系数(阻尼率)反映了系统的实际阻尼与临界阻尼的关系。
在临界阻尼状态下,有
(2-10)
其中。
显然,在这种状态下不能形成振动。
有阻尼自由振动响应计算与MATLAB实现
根据式(2-7)、(2-8)、(2-10)编写的程序如下:
functionVTB1(m,c,k,x0,v0,tf)
%VTB1用来计算单自由度有阻尼自由振动系统的响应
%VTB1绘出单自由度有阻尼自由振动系统的响应图
%m为质量;c为阻尼;k为刚度;x0为初始位移;v0为初始速度;tf为仿真时间
%VTB1(zeta,w,x0,v0,tf)绘出单自由度有阻尼自由振动系统的响应图
%zeta为阻尼系数;ωn为固有频率
%程序中z为阻尼系数;A为振动幅度;phi为初相位
clc
%该循环确定输入方式是VTB1(m,c,k,x0,v0,tf),还是%VTB1(zeta,w,x0,v0,tf)
ifnargin==5
z=m;wn=c;tf=v0;v0=x0;x0=k;m=1;c=2*z*w;k=w^2;
end
wn=sqrt(k/m);%固有频率
z=c/2/m/wn;
wd=wn*sqrt(1-z^2);
fprintf('固有频率为%.3g.rad/s.\n',wn);
fprintf('阻尼系数%.3g.\n',z);
fprintf('有阻尼的固有频率%.3g.\n',wd);
t=0:
tf/1000:
tf;
ifz<1
A=sqrt(((v0+z*wn*x0)^2+(x0*wd)^2)/wd^2);
phi=atan2(x0*wd,v0+z*wn*x0);
x=A*exp(-z*wn*t).*sin(wd*t+phi);
fprintf('A=%.3g\n',A);
fprintf('phi=%.3g\n',phi);
elseifz==1
a1=x0;
a2=v0+wn*x0;
fprintf('a1=%.3g\n',a1);
fprintf('a2=%.3g\n',a2);
x=(a1+a2*t).*exp(-wn*t);
else
a1=(-v0+(-z+sqrt(z^2-1))*wn*x0*wn*x0)/2/wn/sqrt(z^2-1);
a2=(v0+(z+sqrt(z^2-1))*wn*x0)/2/wn/sqrt(z^2-1);
图4
fprintf('a1=%.3g\n',a1);
fprint('a2=%.3g\n',a2);
x=exp(-wn*t).*(a1*exp(wn*sqrt(z^2-1)*t)
+a2*exp(wn*sqrt(z^2-1)*t));
end
plot(t,x),grid
xlabel('时间(s)')
ylabel('位移')
title('位移相对时间的关系')
运行该程序时,只需要给出相应参数,例如
>>VTB1(1,0.05,1,1,1,100)
则显示固有频率为=1(rad/s),阻尼系数=0.03,幅值为A=1.43相位角为phi=0.773。
其响应曲线如图(4)所示。
程序中if语句就是判断ξ大小的,即判断是弱阻尼状态、强阻尼状态还是临界阻尼状态。
如果运行>>VTB1(1,2,1,0.1,1,20),则显示固有频率为=1(rad/s),阻尼系数=1。
其响应曲线如图(5)所示。
如果要想求出振动的速度(=xd)和加速度(=xdd),只要式(2-1)、式(2-2)、式(2-10)分别进行求导,在程序中加入相应的内容,最后增加plot(t,xd),plot(t,xdd)即可给出速度和加速度图。
图5
参考文献:
【1】倪振华振动力学
【2】刘习军、张文德工程振动与测试技术
【3】百度文库单自由度体系的振动
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自由度 系统 振动 matlab 分析
![提示](https://static.bingdoc.com/images/bang_tan.gif)