应物11-1变摆长单摆运动的模拟
- 格式:pdf
- 大小:533.52 KB
- 文档页数:15
东北石油大学课程设计2015年3月16日东北石油大学课程设计任务书课程计算物理和MATLAB课程设计题目变摆长单摆运动的模拟专业应用物理学姓名王士愚学号110901340107主要内容、基本要求、主要参考资料等主要内容:设计基于MATLAB的变摆长单摆运动的模拟。
单摆是一种理想的物理模型,它由理想化的摆球和摆线组成.摆线由质量不计、不可伸缩的细线提供;摆球密度较大,而且球的半径比摆线的长度小得多,这样才可以将摆球看做质点,由摆线和摆球构成单摆。
基本要求:1.贯彻事件驱动的程序设计思想。
2.功能明确,操作方便;可以增加其他功能或修饰。
3.代码应适当缩进,并给出必要的注释,以增强程序的可读性。
主要参考资料:[1]Steven E.Koonin,秦克诚译.计算物理学.北京:高等教育出版社,1993.[2]马文淦等.计算物理学.合肥:中国科学技术大学出版社,1992.[3]张志涌.精通MATLAB6.5.北京:北京航空航天大学出版社,2003.完成期限2015.3.27指导教师董向国专业负责人2015年3月16日目录第1章绪论 (1)1.1基本概念 (1)1.2设计分析 (1)第2章基本设计 (2)2.1完全理想条件下单摆的数学模型 (2)2.2现实情况下单摆的数学模型 (4)2.3理想条件下特殊摆动的数学模型 (5)第3章结论 (7)参考文献 (8)附录 (9)第1章绪论1.1基本概念单摆是一种理想的物理模型,它由理想化的摆球和摆线组成.摆线由质量不计、不可伸缩的细线提供;摆球密度较大,而且球的半径比摆线的长度小得多,这样才可以将摆球看做质点,由摆线和摆球构成单摆。
在满足偏角<10°的条件下,单摆的周期:()g=1-12πLT/用一根绝对挠性且长度不变、质量可忽略不计的线悬挂一个质点,在重力作用下在铅垂平面内作周期运动,就成为单摆。
模拟单摆运动,主要是使单摆能够在最低点左右摆动动,用来在物理课的时候让同学能够更直接的感受到单摆的运行轨迹以及运行周期与初始角。
对于单摆运动,在大学物理和理论力学教材中有很多例子,主要研究了包括摆长和摆角的不同以及存在的阻尼对单摆运动的影响。
1.2设计分析首先根据理想条件,摆线质量忽略不计,空气阻力忽略不计。
设摆线长度为l,摆球质量为m,重力加速度为g,系统的初始时刻为t=0,在任意t≥0时刻摆球的线速度为v(t),角速度为ω(t),角位移θ(t),以单摆的固定位置为坐标原点建立直角坐标系,水平方向为x轴方向。
示意图1-1所示:图1-1在t时刻,摆锤所受切向力()t f t是重力mg在其运动圆弧切线方向上的分力,即()()t=1-1sinmgtf tθ第2章基本设计2.1完全理想条件下单摆的数学模型根据牛顿第二运动定律,切向加速度为:()()t g t a θsin =2-1因此得到单摆的运动微分方程组:()t g dt t dv θsin )(=2-2lt v t dt t d )()()(-=-=ωθ2-3使用欧拉算法求解:将d v (t )= v (t + d t )- v (t )和d θ(t )= θ(t + d t )-θ(t )代入式2-2及式2-3中,并以仿真步进量Δ作为d t 的近似,得到基于时间的递推方程:()()()∆+=∆+t g t v t v θsin 2-4()()()∆-=∆+lt v t t θθ2-5注:本递推方程仅适合于摆角θ≤2π,也就是要求无论初始速度多少,摆角的最大幅度不能超过90度,如果超过90度比并且初始速度为0时放手小球会自由下落一段时间才能摆动,本递推方程无法描述。
据此编写仿真程序:(程序见附录)在以上假设条件下得到仿真图形如图2-1:图2-1完全理想条件下单摆的运动模拟在其他条件不变的情况下,仅仅改变细线的长度L=3,再次进行仿真,仿真图象如图2-2:图2-2完全理想条件下L=3单摆的运动模拟对比两幅图象可以看出,在理想条件下,同样摆角下,单摆的摆臂变化,影响单摆的最大线速度以及单摆的周期,当摆臂增加时,最大线速度增加,同时单摆的周期也增加,此结论正好与最初单摆理想条件下的试验结论一致。
θ),单摆的摆动可以看作是简谐运动,现在实际情况中,当摆幅很小(05<更改单摆的初始摆角为05情况,也就是令th0=0.011,L依然为1.8,仿真结果如图2-3:图2-3摆幅很小条件下单摆的运动模拟2.2现实情况下单摆的数学模型现实情况下,绳子的质量,摆球的半径,空气的阻力等等都对单摆的摆动有影响。
这些影响的主要作用就是阻止单摆的摆动,为简单起见,可设单摆在摆动中受到阻力f z ,显然阻力与摆锤的运动速度有关,即阻力是单摆线速度的函数:()()()t kv t f v f f z z -==,2-6上式中,k >0为阻力比例系数,式中的负号表示阻力方向与摆锤运动方向相反。
切向加速度由切向合力f t -f z 产生,根据牛顿第二运动定律,有()()()t kv t g t a -=θsin 2-7因此得到修正后的单摆运动微分方程组:()()()m t kv t g dt t dv -=θsin 2-8()()lt v dt t d -=θ2-9仍然使用欧拉算法求解:将()()()t v dt t v t dv -+=和d θ(t )()()()t dt t t d θθθ-+=代入式2-8及式2-9中,并以仿真步进量∆作为d t 的近似,得到基于时间的递推方程:()()()()∆⎥⎦⎤⎢⎣⎡-+=∆+m t kv t g t v t v θsin 2-10()()()∆-=∆+lt v t t θθ2-11据此编写仿真程序见附录其它条件不变,令阻力比例系数k=1.5,将两次仿真的图形放在一起。
结果如图2-4:图2-4不同阻尼条件下单摆的运动模拟对比其它条件不变,令阻力比例系数k=0,将将两次仿真的图形放在一起,结果如图2-5:图2-5有无阻尼条件下单摆的运动模拟对比由上图可以看出,在理想状态下,当线速度最大的时候,角位移为0,当线速度为0时角位移最大,两个同时发生没有滞后。
非理想状态下,角位移与线速度0值和最大值发生会有一定的延迟,这是由于各方面阻力综合原因造成的。
2.3理想条件下特殊摆动的数学模型这里所说的特殊摆动,指的是在理想条件下,θ=π的情况下,摆球有一个很大的初始速度,可以使摆球围绕悬点不停的旋转(垂直方向,重力能够起到作用),此时已经不能称之为单摆了,但是在理想条件下,小球的转动依然符合一定的规律,先对其进行数学物理分析,再进行MATLAB仿真。
理力学原理的分析同理想状态下的单摆分析完全一样,只是单摆是来回摆动,而此时是围绕悬点来回旋转,摆动的时候角位移是在一个范围内变化,而旋转的情况下角位移是不停的增加的,如果时间无限长,则角位移无线长,图象显示就是一条上升的曲线,没有很直观的感受,因此我们只考虑线速度的变化规律。
基于时间的递推方程依然如下:()()()()∆⎥⎦⎤⎢⎣⎡-+=∆+m t kv t g t v t v θsin 2-12()()()∆-=∆+lt v t t θθ2-13只是在MATLAB 仿真中不需要图象显示角位移θ的图象,仅仅显示线速度v 的图象就好。
MATLAB 仿真程序见附录,仿真图象如图2-6示:图2-6特殊摆动下单摆的运动模拟由上图可以看出,单摆围绕悬点做圆周运动,速度在最高点的时候最低,在最低点的时候最大,现在验证最大速度值:gl v v 420max +=带入仿真初始值:v0=10g =9.8L =1.8从而得出6.15max ≈v ,与仿真结果明显一致。
由此还可以引出许多特殊情形,比如用硬制木棍代替细摆线,力学原理就发生了很大的改变,仿真的曲线也会有所不同。
第3章结论当摆长线性增长时,摆幅减小,频率变小。
反之,摆长线性减小时,摆幅增大,频率变大。
但是,非线性时,比如如上取三角函数或指数函数时,情况却不相同。
三角函数时,无论摆线增长或减小,频率大致不变,摆幅缓慢增大,摆幅变化的周期与三角函数类似。
指数函数时,无论摆线增长或减小,频率大致不变,摆幅都缓慢减小,摆幅减小的趋势类似指数函数。
据推测可能与共振有关,当摆线变化的规律与摆的规律相似时,摆的能量会增强。
反之亦然。
参考文献[1]Steven E.Koonin,秦克诚译.计算物理学.北京:高等教育出版社,1993.[2]马文淦等.计算物理学.合肥:中国科学技术大学出版社,1992.[3]张志涌.精通MATLAB6.5.北京:北京航空航天大学出版社,2003.[4]郭军.网络管理与控制技术.北京:人民邮电出版社,2006.[5]苏金明,王永利MATLAB7.0实用指南[M].电子工业出版社,2004.[6]罗建军,杨琦.精讲多练MA TL AB[M].西安:西安交通大学出版社,2004.附录完全理想条件下单摆的MATLAB模拟:在MALAB命令窗口输入以下命令:dt=0.0001;%仿真步进T=16;%仿真时间长度t=0:dt:T;%仿真计算时间序列g=9.8;L=1.8;th0=1.1;%初始摆角设置,不能超过π/2,即要求球摆动开始时绳子就要有拉力,如果初始摆角超过π/2,则球会经过一阵自由落体后才能进行摆动,上面的递推方程不能满足该情形。
v0=0;%初始摆速设置v=zeros(size(t));%程序存储变量预先初始化,可提高执行速度。
th=zeros(size(t));v(1)=v0;th(1)=th0;for i=1:length(t)%仿真求解开始v(i+1)=v(i)+g*sin(th(i)).*dt;th(i+1)=th(i)-1./L.*v(i).*dt;end%使用双坐标系统来作图[AX,B1,B2]=plotyy(t,v(1:length(t)),t,th(1:length(t)),'plot');set(B1,'LineStyle','--');%设置图线型set(B2,'LineStyle',':');set(get(AX(1),'Ylabel'),'String','线速度v(t)m/s');%作标注set(get(AX(2),'Ylabel'),'String','角位移\th(t)/rad');xlabel('时间t/s');legend(B1,'线速度v(t)',2);legend(B2,'角位移\th(t)',1);现实情况下单摆的MATLAB模拟:在MALAB命令窗口输入以下命令:subplot(2,1,1)dt=0.0001;%仿真步进T=16;%仿真时间长度t=0:dt:T;%仿真计算时间序列g=9.8;L=1.8;m=8;k=3;th0=1.1;%初始摆角设置,不能超过π/2v0=0;%初始摆速设置v=zeros(size(t));%程序存储变量预先初始化,可提高执行速度th=zeros(size(t));v(1)=v0;th(1)=th0;for i=1:length(t)%仿真求解开始v(i+1)=v(i)+(g*sin(th(i))-k./m.*v(i)).*dt;th(i+1)=th(i)-1./L.*v(i).*dt;end%使用双坐标系统来作图[AX,B1,B2]=plotyy(t,v(1:length(t)),t,th(1:length(t)),'plot');set(B1,'LineStyle','-');%设置图线型set(B2,'LineStyle',':');set(get(AX(1),'Ylabel'),'String','线速度v(t)m/s');%作标注set(get(AX(2),'Ylabel'),'String','角位移\th(t)/rad');xlabel('时间t/s');legend(B1,'线速度v(t)',2);legend(B2,'角位移\th(t)',1);理想条件下特殊摆动的MATLAB模拟:dt=0.0001;%仿真步进T=16;%仿真时间长度t=0:dt:T;%仿真计算时间序列g=9.8;L=1.8;m=8;k=0;%空气阻力比例系数th0=pi/3;%初始摆角设置v0=10;%初始摆速设置v=zeros(size(t));%程序存储变量预先初始化,可提高执行速度。