您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > 单自由度系统的振动及matlab分析
单自由度系统的振动及matlab分析摘要:以弹簧—质量系统为力学模型,研究单自由度系统的特性有着非常普遍的实际意义。根据单自由度振动系统数学模型,利用Matlab软件设计了单自由度振动系统的数学仿真实验。通过实验可以得到单自由度振动方程的数值关键字:有阻尼自由振动、有阻尼自由振动、matlab正文:无阻尼自由振动:如图所示的单自由度振动系统可以用如下微分方程描述:图10kxxm(1-1)令mkn2,方程的通解为tbtaxnncossin(1-2)式(1-2)表示了图示(1)中质量m的位置随时间而变化的函数关系,反映了振动的形式与特点,称为振动函数。式(1-2)中,a、b为积分常数,它决定于振动的初始条件。如假定t=0时,质量块的位移x=x0,其速度00Vxx,则00,xbVan即txtVxnnncossin00(1-3)或写成)sin(tAxn(1-4)2020)(xVAn,00tanVxan其中A为振幅,n为振动圆频率,为相位角,)2(/nnf(赫兹)称为固有频率。固有频率与外界给予的初始条件无关,它是系统本身所具有的一种重要特性。有阻尼自由振动图1所示的自由振动中,由于系统的能量守恒,如果振动一旦发生,它就会持久的,等幅的一直进行下去。但是,实际上所遇到的自由振动都是逐渐衰减而至最终停止的,即系统存在阻尼。阻尼有相对运动表面的摩擦力,液体与气体的介质阻力,电磁阻力以及材料变形时的内阻力等。图2所示为考虑了阻尼的单自由度振动系统模型。其运动微分方程为0kxxcxm(2-1)令2,2nmknmc,则022xxnxn(2-2)其通解为)2(22221nnnnntececex(2-3)式中c1、c2为积分常数,由振动初始条件确定。令nn,称为相对阻尼系数或阻尼率。则式(2-3)可写为)(121122tttnnnececex(2-4)由此可以讨论阻尼对系统的自由振动产生的影响。一、当1时,称为弱阻尼状态此时,12为虚数,式(2-4)变为)(221211tititnnnececex(2-5)利用欧拉公式,式(2-5)可写为]1sin1cos[22tatbAexnntn(2-6)图图2括号内为两个简谐振动相加,即式(2-5)可写为)1sin(2tAexntn(2-7))1arctan(,)1(1)(002022202020xVxxxVAnnnn由式(2-7)可以看出,弱阻尼自由振动具有如下几种特性:它是一个简谐振动,振动的频率为n21,这是n为无阻尼时系统的固有频率。一般情况下,常在0.1左右,因此对固有频率的影响不大,即认为nn21。2.振动的振幅为tnAe,其中A、、n皆为定值。所以振幅随时间变化的规律是一条指数递减曲线(图3)。二、当1时,称为强阻尼状态此时,式(1.2.2-4)可写成12)1(12)1(2020220201)1(2)1(122nnnnttxVcxVcececxnn(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由于1nn,nn,则有kmmkmmcnc222(2-9)这里cc为临界阻尼状态下的阻尼系数,称为临界阻尼系数。显然它是系统本身所具有的特性之一。由nnmcn2及ncmc2,有ccc。也就是说,相对阻尼系数(阻尼率)反映了系统的实际阻尼与临界阻尼的关系。在临界阻尼状态下,有)(21tccextn(2-10)其中00201,xVcxcn。显然,在这种状态下不能形成振动。有阻尼自由振动响应计算与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==5z=m;wn=c;tf=v0;v0=x0;x0=k;m=1;c=2*z*w;k=w^2;endwn=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;ifz1A=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==1a1=x0;a2=v0+wn*x0;fprintf('a1=%.3g\n',a1);fprintf('a2=%.3g\n',a2);x=(a1+a2*t).*exp(-wn*t);elsea1=(-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));endplot(t,x),gridxlabel('时间(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参考文献:【1】倪振华振动力学【2】刘习军、张文德工程振动与测试技术【3】百度文库单自由度体系的振动图5
本文标题:单自由度系统的振动及matlab分析
链接地址:https://www.777doc.com/doc-1785599 .html