基于MATLAB单摆运动_第1页
基于MATLAB单摆运动_第2页
基于MATLAB单摆运动_第3页
基于MATLAB单摆运动_第4页
基于MATLAB单摆运动_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Matlab仿真技术作品报告题目: MATLAB在单摆实验中的应用系 (院): 专 业: 班 级: 学 号: 姓 名: 指导教师: 学年学期: 20122013 学年 第 1 学期2012年11月18日设计任务书课题名称MATLAB在单摆实验中的应用设计目的1. 单摆问题,小球在来回摆动的过程中不仅受到外界阻力等环境影响,而且其摆动过程中的角度也是很难确定的,通过Matlab来模拟这个过程,这为实际物理实验的展开提供了方便;2. 综合运用专业及基础知识,解决实际工程技术问题的能力;3. 学习资料的收集与整理,学会撰写报告。实验环境1. 微型电子计算机(PC);2. 安装Windows 2000

2、以上操作系统,MATLAB等开发工具。任务要求1. 借助MATLAB , 研究无阻尼状态下单摆的大摆角运动2. 设计一个可以动态输入数据的图形用户界面。3. 编写GUI界面,实现人机交互的各项功能。4. 输入数据后能显示小球水平位移和竖直位移随时间的变化图像,仿真小球做单摆的过程。5. 利用课余时间去图书馆或上网查阅课题相关资料,深入理解课题含义及设计要求,注意材料收集与整理;6. 结束后,及时提交作品报告(含纸质稿、电子稿),要求格式规范、内容完整、结论正确,正文字数不少于1500字(不含代码)。摘要借助MATLAB 计算软件, 研究无阻尼状态下单摆的大摆角运动, 给出了任意摆角下单摆运动周

3、期的精确解。同时利用MATLAB 函数库中的ode45 函数, 求解出大摆角下的单摆的运动方程。并利用其仿真动画形象的展现出单摆的运动规律, 为单摆实验中大摆角问题的讲解提供了较好的教学辅助手段。关键词单摆模型;周期;MATLAB;Matlab仿真技术作品报告目录一、问题的提出2二、方法概述22.1问题描述22.2算法基础32.2.1单摆运动周期32.2.2单摆做简谐运动的条件4三、基于MAT LAB的问题求解53.1单摆大摆角的周期精确解53.2、单摆仿真(动画)73.3单摆仿真整个界面如下:10四、结论12五、课程体会12参考文献13一、问题的提出 在工科物理教学中,物理实验极其重要,它担

4、负着训练学生基本实验技能、验证学生所学知识、提高学生综合实力的重要职责。通过一系列的物理实验,学生可在一定程度上了解并掌握前人对一些典型物理量的经典测量方法和实验技术,并为以后的实验工作提供有价值的借鉴,进而培养学生的动手实践能力和综合创新能力。然而,物理实验的优劣很大程度受限于物理实验条件的制约。当前,受限于以下条件(很多情况下物理实验环境都是难以有效构造的),物理实验的效果并不理想:1)一些实验设备比较复杂并且昂贵,难以普及应用;2)有效实验环要求非常苛刻,是现实环境中难以模拟,甚至根本无法模拟;3)除此以外,有些实验的实验环境即使可以有效构造,它的实验结果却仍然是难以直接、完整观察获取的

5、,如力场、电场、磁场中的分布问题等。鉴于以上原因,物理仿真实验已引起了大家的关注,出现了一些软件。但很多是基于Flash、Photoshop 、3D Studio MAX之类的图形图像软件制作。这些软件可以制作逼真的实验环境和生动的实验过程动画,还可以制作出实际实验所无法达到的效果。但这类软件本身是制作卡通动画的,对物理实验规律和过程很少涉及,很难做到真正的交互使用,及精确的计算分析同时开发也很困难。因此,基于这些软件的仿真在工科物理实验教学中应用很少。本文利用MATLAB 计算软件及其仿真功能对单摆实验过程进行模拟、仿真及后期分析,对物理实验教学改革提供一种新思路。具体地,本文将描述一种新颖

6、的单摆实验方法, 其主要的意义在于给学生以综合性实验技能训练。一个综合性实验, 它必须涉及多方面的知识和实验技能。本文描述的单摆实验方法即具备这样的特征。它的实验原理虽然简单, 但所涉及到的知识点极为丰富: 力学振动, 计算机编程等。学生通过这样的实验不仅可以得到综合性的实验技能训练, 而且可以在如何将现代技术改造传统实验、理论联系实际等方面得到很多启示。另外,本文引入计算机技术分析法, 对单摆实验进行了改造, 既实现了基础物理实验的现代化, 又为MATLAB课程实验提供了很好的应用落足点, 可以使学生得到多方面的实验技能训练。二、方法概述2.1问题描述单摆问题是高中物理及大学普通物理实验教学

7、中的一个基础问题。单摆在摆角比较小时,其运动规律近似为准简谐振动。但是当摆角比较大时, 即单摆在大摆角情况下运动时,这种近似已不再成立,其运动方程满足非线性微分方程。因此,对摆角大小的限制成为该实验中必须满足的条件。不同的实验条件下,最大摆角的取值不同,其中包括3, 5,10,10.75,15甚至20等。这就为在实验过程中对摆角的统一取值造成困难,给实验带来较大的误差。同时,学生对单摆在大摆角情况下运动时其运动周期及运动规律的理解也存在困难。利用先进的计算机仿真技术模拟单摆运动、分析单摆运动规律为学生理解、掌握单摆运动规律具有积极的意义。就单摆问题而言,小球在来回摆动的过程中不仅受到外界阻力等

8、环境影响,而且其摆动过程中的角度也是很难确定的(单摆在小于等于五度时才能验证其周期),这就为实际物理实验的展开制造了巨大的困难。本文将借助于MATLAB 这个强大的数学软件, 计算任意摆角下单摆运动周期的精确解,以消除摆角问题带来的误差;同时利用该软件, 仿真出大摆角时单摆的运动情况,为单摆测重力加速度实验中大摆角问题的讲解提供较好的手段。通过本问题的模拟、仿真、分析为大学物理实验其它问题的求解提供借鉴。2.2算法基础2.2.1单摆运动周期单摆是一种物理模型。设质量为m、摆长为l的单摆在重力场中作无阻尼振动,由牛顿第二定律得,单摆的运动方程为:d2dt+glsin=0 (1)当摆角较小时, s

9、in与 无限接近,方程( 1) 化简为:d2dt+gl = 0 (2)这是一个简单的谐振动方程,其解析解为:= A cos(cos0t + 0 ) (3)其中固定角频率 0=gl ;其周期为:T0=2gl (4)当摆角较大时, 这种近似sin=不再成立。公式( 1) 是一个非线性微分方程, 其解析解很难求出。但是通过积分的方法,作变量代换,就可得到大摆角运动时单摆的周期的积分形式: T=2T002d1-sin202sin2 (5) 其中0为单摆的最大摆角。此公式适用于任意摆角下单摆运动周期的计算。2.2.2单摆做简谐运动的条件在力学的实验中,我们讨论单摆只讨论它的小角度摆动,单摆在摆角很小(小

10、于5)的情况下,可以看作间谐振动。研究摆球沿圆弧的运动情况时,要以不考虑与摆球运动方向垂直的力,而只考虑沿摆球运动方向的力,如图1所示。图1 单摆运动中力的分析因为垂直于,所以,我们可将重力G分解到速度的方向及垂直于的方向.且1sinmgsin2Gcosmgcos。说明:正是沿运动方向的合力1mgsin提供了摆球摆动的回复力。推导:在摆角很小时,sin回复力mgsinmg (表示摆球偏离平衡位置的位移,表示单摆的摆长)在摆角很小时,回复力的方向与摆球偏离平衡位置的位移方向相反,大小成正比,单摆做简谐运动。简谐运动的图象是正弦(或余弦曲线),那么在摆角很小的情况下,既然单摆做的是简谐运动,它振动

11、的图象也是正弦或余弦曲线。设摆线与垂直线的夹角为,在正下方处时=0,逆时针方向为正,反之为负。则摆的角速度为(角度对时间t的一次导数),角加速度为(角度对时间t的二次导数)。对摆进行力学分析,由牛顿第二运动定律,有: ml = - mgsin 即: + lgsin = 0 令 = (g/l)1/2 ,有: + 2sin = 0 当 很小时, sin (这就是考虑单摆运动时通常强调“微”摆的原因)这时,有: + 2 0该方程的解为: = Asin(t+)这是个正弦函数,其周期为: T = 2/ = 2lg SinQ=Q M=-mglQ三、基于MAT LAB的问题求解3.1单摆大摆角的周期精确解利

12、用MATLAB计算软件, 对0,2区间的0 , 每隔0.2827计算一个积分值, 得到2 000 个不同摆角的TT0的精确解。然后以摆角为横轴, TT0为纵轴, 利用绘图函数polt ( x , y ) 绘制出任意摆角下单摆周期的精确解的曲线。程序如下:%单摆周期与摆角的关系a= 0;b= pi/ 2;n= 1000;s1= 1: n;h= ( b-a) / n;h1= pi/ ( 2* n) ;c= 0: h1: pi/ 2x= a;s= 0;for i1= 1: ( n+ 1)f0= 2/ sqrt ( 1-( sin( c( i1) / 2) ) 2* ( sin( x ) ) 2) /

13、 pi;for i2= 1: nx= x+ h;f1= 2/ sqrt ( 1-( sin( c( i1) / 2) ) 2* ( sin( x ) ) 2) / pi;s= s+ ( f0+ f1) * h/ 2;f0= f1;enddisp( 1/ s) ;s1( i1) = s;s= 0;endplot( c, s1) ;xlabel( theta0/rad ) ;ylabel( T/T0 ) ;运行结果后,得图2。如图2所示,随着摆角的增大,单摆的运动周期T 与T0比值TT0越来越大,即单摆运动周期随着摆角增大变大。当摆角01.6rad单摆的运动周期会急剧增加。TT0图2 单摆周期的精

14、确解3.2、单摆仿真(动画)我们在实验室做实验时一般情况下过程相对比较麻烦,而且很多实验所需要的条件难以控制,为此有时我们可以利用动画来进行仿真模拟实验。本文用MATLAB软件来进行动画仿真,设计以MATLAB程序来模拟单摆的仿真(制作一动画实现单摆),并通过仿真来回摆动的时间来测出单摆的周期。通过Matlab的仿真既能把实验中需要设置的条件编写入程序中,又能减小实验带来的误差。降低实验难度。程序如下:%制作动画%挂摆横梁plot(-0.2;0.2,0;0,color,y,linestyle,-,linewidth,10); %画初始位置的单摆g=9.86; %重力加速度,可以调节摆的速度l=

15、1;theta0=pi/4;x0=l*sin(theta0);y0=(-1)*l*cos(theta0);axis(-0.75,0.75,-1.25,0);axis(off); %不显示坐标轴%创建摆锤head=line(x0,y0,color,r,linestyle,.,erasemode,xor,markersize,40); %创建摆杆body=line(0;x0,0;y0,color,b,linestyle,-,erasemode,xor); %摆的运动t=0;dt=0.01;while 1 t=t+dt; theta=theta0*cos(sqrt(g/l)*t); x=l*sin(

16、theta); y=(-1)*l*cos(theta); set(head,xdata,x,ydata,y); set(body,xdata,0;x,ydata,0;y); drawnow;end 模拟实验结果如图4、图5所示,分别对应了单摆运动位于左右位置的状况。 图4 大角度单摆运动模拟截图一(右侧位置)图5 大角度单摆运动模拟截图二(左侧位置)3.3单摆仿真整个界面如下:代码如下:function varargout = SQ(varargin)gui_Singleton = 1;gui_State = struct(gui_Name, mfilename, . gui_Singleto

17、n, gui_Singleton, . gui_OpeningFcn, SQ_OpeningFcn, . gui_OutputFcn, SQ_OutputFcn, . gui_LayoutFcn, , . gui_Callback, );if nargin & ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);end if nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin

18、:);endfunction SQ_OpeningFcn(hObject, eventdata, handles, varargin)handles.output = hObject; axis(off); guidata(hObject, handles);function varargout = SQ_OutputFcn(hObject, eventdata, handles)varargout1 = handles.output; function edit1_Callback(hObject, eventdata, handles)function edit1_CreateFcn(hO

19、bject, eventdata, handles)if ispc & isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor) set(hObject,BackgroundColor,white);end function edit2_Callback(hObject, eventdata, handles)function edit2_CreateFcn(hObject, eventdata, handles)if ispc & isequal(get(hObject,BackgroundCol

20、or), get(0,defaultUicontrolBackgroundColor) set(hObject,BackgroundColor,white);end四、结论综合实验结果,结论如下:第一,如图2 所示,随着单摆摆角的增大,单摆的周期也会增加,这样很简单地就明白了为什么用单摆测量加速度时要求单摆的摆角要小于5。因此,借助MAT LAB 强大的绘图功能可以帮助学生更深入理解单摆大摆角运动下周期的变化规律。同时,如图3 中两根曲线表明:大摆角振动时, 单摆的运动轨迹并不是简单的正、余弦曲线( 虽然很相似),而且,最大摆角越小,两根曲线越相似;摆角越大,分离越明显。由于这种相似性,在粗略

21、研究单摆运动时,方程(1)可以采用一种近似求解方法余弦函数法将周期表示成如下方式: T=2lg1+122sinm22+1223242sinm24+其中m为单摆最大摆角。第二,利用MATLAB语言对单摆动画仿真模拟的分析我们不难得出:在单摆设计和试验过程中,需要对单摆进行运动分析进而求得周期,而要将单摆摆动的角度限定在5以内并不是很好控制,而在该运动范围内观察、记录其运动规律及全过程也非常复杂,如果运用手工计算不仅非常困难,而且极易出错,但是如若对这种复杂的系统进行仿真便能更好地解答在设计、制造、试验阶段以及其运行过程中出现的问题。因此可以利用MATLAB 强大的数值计算能力和绘图能力以及强大的

22、动画仿真功能,非常简便地解决单摆运动过程中大摆角导致的问题。这对于工科的物理实验教学提供了很多方便,同时也有利于学生深刻的理解单摆问题。在大学物理实验的很多问题都可以借助MATLAB 的优点方便地求解。五、课程体会通过这一学期的学习,我们认为MATLAB这一基于矩阵运算的软件,它具有强大的功能,比如:绘图,信号处理,自动控制原理,动态系统仿真,图像处理。虽然MATLAB和c+都是一种实用软件,但是相比之下MATLAB编程比c+较简单。所以大多数的科目都应用MATLAB来解决较难的问题。并且MATLAB作为一门实用工具它可以解决并应用在我们实际学习过程所遇到的难以解决的问题之中。因此,我们应该学习并熟练运用这门技术进而使得以后的学习更形象简单明理。而对于我来说通过对MATLAB课程的设计与实际运用,使我们不但熟悉了这门课程设计的流程,而且还掌握了许多MATLAB语言的基本语句 ,锻炼并提高了我们独立

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论