单自由度系统的振动及matlab分析

  • 格式:docx
  • 大小:187.75 KB
  • 文档页数:6

精品好资料——————学习推荐

1 / 6

单自由度系统的振动及matlab分析

摘要:

以弹簧—质量系统为力学模型,研究单自由度系统的特性有着非常普遍的实际意义。根据单自由度振动系统数学模型,利用Matlab软件设计了单自由度振动系统的数学仿真实验。通过实验可以得到单自由度振动方程的数值

关键字:

有阻尼自由振动、有阻尼自由振动、matlab

正文:

无阻尼自由振动:

如图所示的单自由度振动系统可以用如下微分方程描述:

图1

0••kxxm (1-1)

令 mkn2 ,方程的通解为

tbtaxnncossin (1-2)

式(1-2)表示了图示(1)中质量m的位置随时间而变化的函数关系,反映了振动的形式与特点,称为振动函数。

式(1-2)中,a、b为积分常数,它决定于振动的初始条件。如假定t=0时,质量块的位移 x=x0,其速度 00Vxx••,则

00,xbVan

txtVxnnncossin00(1-3) 精品好资料——————学习推荐

2 / 6 或写成

)sin(tAxn (1-4)

2020)(xVAn,00tanVxan

其中A为振幅,n为振动圆频率, 为相位角,)2(/nnf(赫兹)称为固有频率。固有频率与外界给予的初始条件无关,它是系统本身所具有的一种重要特性。

有阻尼自由振动

图1所示的自由振动中,由于系统的能量守恒,如果振动一旦发生,它就会持久的,等幅的一直进行下去。但是,实际上所遇到的自由振动都是逐渐衰减而至最终停止的,即系统存在阻尼。阻尼有相对运动表面的摩擦力,液体与气体的介质阻力,电磁阻力以及材料变形时的内阻力等。

图2所示为考虑了阻尼的单自由度振动系统模型。其运动微分方程为

0•••kxxcxm(2-1)

令2,2nmknmc,则

022•••xxnxn (2-2)

其通解为

)2(22221nnnnntececex

(2-3)

式中c1、c2为积分常数,由振动初始条件确定。

令 nn,称为相对阻尼系数或阻尼率。则式 (2-3)可写为

)(121122tttnnnececex (2-4)

由此可以讨论阻尼对系统的自由振动产生的影响。

一、当1时,称为弱阻尼状态

此时,12为虚数,式 (2-4) 变为

)(221211tititnnnececex (2-5)

利用欧拉公式,式(2-5)可写为

]1sin1cos[22tatbAexnntn (2-6)

图图2 精品好资料——————学习推荐

3 / 6 括号内为两个简谐振动相加,即式 (2-5) 可写为

)1sin(2tAexntn (2-7)

)1arctan(,)1(1)(002022202020xVxxxVAnnnn

由式(2-7)可以看出,弱阻尼自由振动具有如下几种特性:

它是一个简谐振动,振动的频率为n21,这是n为无阻尼时系统的固有频率。一般情况下,常在0.1左右,因此对固有频率的影响不大,即认为 nn21 。

2. 振动的振幅为tnAe,其中A、、n皆为定值。所以振幅随时间变化的规律是一条指数递减曲线(图3)。

二、当1时,称为强阻尼状态

此时,式(1.2.2-4)可写成

12)1(12)1(2020220201)1(2)1(122nnnnttxVcxVcececxnn (2-8)

由于012,故式(2-8 )中二项指数皆为实数。又因为12,故二项之指数皆为负值,所以,式(2-8)所表示的是一根指数递减曲线。这表示系统将不再产生前面所述的振动,而是产生一按指数规律衰减的曲线。

三、当1时,称为临界阻尼状态 12345678910-40-30-20-1001020304050*exp(-0.1*wn*t)-50*exp(-0.1*wn*t)图3 精品好资料——————学习推荐

4 / 6 由于 1nn,nn,则有

kmmkmmcnc222(2-9)

这里 cc 为临界阻尼状态下的阻尼系数,称为临界阻尼系数。显然它是系统本身所具有的特性之一。

由nnmcn2及ncmc2,有ccc。也就是说,相对阻尼系数(阻尼率)反映了系统的实际阻尼与临界阻尼的关系。

在临界阻尼状态下,有

)(21tccextn (2-10)

其中00201,xVcxcn。显然,在这种状态下不能形成振动。

有阻尼自由振动响应计算与 MATLAB实现

根据式(2-7)、(2-8)、(2-10) 编写的程序如下:

function VTB1(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;

if z<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); 精品好资料——————学习推荐

5 / 6 fprintf('phi=%.3g\n',phi);

elseif z==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);

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)

则显示固有频率为n=1(rad/s),阻尼系数=0.03,幅值为A=1.43相位角为phi=0.773。其响应曲线如图 (4) 所示。程序中if语句就是判断ξ大小的,即判断是弱阻尼状态、强阻尼状态还是临界阻尼状态。如果运行>>VTB1(1,2,1,0.1,1,20),则显示固有频率为n=1(rad/s),阻尼系数=1。其响应曲线如图 (5)所示。如果要想求出振动的速度•x(=xd)和加速度••x(=xdd),只要式(2-1)、式(2-2)、式(2-10)分别进行求导,在程序中加入相应的内容,最后增加plot(t,xd),plot(t,xdd)即可给出速度和加速度图。 图4 精品好资料——————学习推荐

6 / 6

参考文献:

【1】 倪振华 振动力学

【2】 刘习军、张文德 工程振动与测试技术

【3】 百度文库 单自由度体系的振动

图5