《基于MATLAB GUI的大学物理实验仿真平台设计.docx》由会员分享,可在线阅读,更多相关《基于MATLAB GUI的大学物理实验仿真平台设计.docx(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、华南农业大学珠江学院毕业设计基于MATLAB GUI的大学物理实验仿真平台设计吴宇浩学号:201525280135手机号:13808872379指导教师:邱广萍(讲师)系:信息工程系年级专业:15级电子信息工程(嵌入式)提交日期:2019年4月11日答辩日期:2019年5月10日答辩委员会主席(签名):评阅人(签名):年月日摘要大学物理实验是我们大学物理课程非常重要的一部分,它可以让学生对物理理论知识有一个更加深刻的了解,而现在的物理实验仪器要求比较高。越来越多的学校用MATLAB仿真而不是使用传统的物理仪器做实验,这样不仅降低了学校做物理实验的成本,也使实验变得容易操作,安全性更高,节约资源
2、。本设计是通过计算机软件MATLAB的视图直观性以及交互性,来仿真出物理实验。当修改物理实验的时候可以直接修改参数,不需要重新再做一次实验,方便操作,得到的结果也比较清晰深刻,但是学生比较难独自操作,所以我们把仿真得来的现象通过GUI界面集成。我们使用MATLAB GUI程序就可以修改仿真的参数,这样就能得到清晰的实验现象了。关键词:MATLAB;GUI界面;操作简单;大学物理AbstractCollege physics experiment is a very important part of our college physics course. It can enable stude
3、nts to have a deeper understanding of the theoretical knowledge of physics, and now the requirements of physical experiment instruments are relatively high. More and more schools use MATLAB simulation instead of traditional physical instruments to do experiments, which not only reduces the cost of p
4、hysical experiments in schools, but also makes the experiments easier to operate, safer and save resources.This design simulates the physical experiment through the visual intuition and interaction of the computer software MATLAB. When modifying the physical experiment, we can directly modify the pa
5、rameters, and do not need to do another experiment. It is convenient to operate, and the results are clear and profound. But it is difficult for students to operate alone. So we integrate the simulation phenomena through GUI interface. We can use the MATLAB GUI program to modify the simulation param
6、eters, so that we can get clear experimental phenomena.Keywords: MATLAB; GUI interface; Simple operation; University physics设计说明大学物理是学生时代非常重要的一门课程,它的物理实验基于大学物理的基础知识,其中有物体抛物线的轨迹,还有光的干涉。这两样都是需要有物理实验的仪器才能做到的,这往往需要耗费大量的资源和人力去完成,而大部分的学校并没有那么多的人力与资源,并且大部分大学的物理实验仪器都不能重复使用。而我们的基于MATLABGUI的大学物理实验仿真平台设计却可以重复操
7、作这个实验,并且操作简单容易,大部分学生都可以自己独立完成并且观察这个实验的整个现象。这样不仅节约了资源,而且节约了人力时间,让我们的实验更加简易方便。特别是MATLAB程序他具有的特点是观察容易,操作简单,并且很多大学不能完成的大学物理实验可以在这个平台中完成并且展示给学生观察学习,效率非常的高。我们通过使用MATLAB的GUI用户界面来编写这个实验的程序与代码,可以轻松修改他的数据并且演示出来。将智能模式的产品嵌入到人们生活的细节之中,在信息高速发展的当代,我们能能看见的不仅仅是软件嵌入的手机支付,各种由人们手动控制的智能化操作模式已经渐渐进入我们的生活。而GUI界面也可以在我们的未来日常
8、生活中带来更多的便捷,可能最先没有运用到日常生活中,但是随着科技的发展,时间的推移,我们可以更多的使用高科技去取代传统的落后的实验方式,这难道不是一种好的进步吗?我们的弹道轨迹也有运用到日常生活中,类似于森林防火的防火弹就是运用了相关的知识去完成的,我们再GUI界面中直接进行轨道的模拟与演示,得到直观的轨迹就可以知道防火弹的下落地点,让我们的防火弹更加精准。关键词:大学物理;MATLAB软件;GUI界面;操作简单;观察方便目录1引言11.1研究背景11.2研究的目的与意义11.3国内外相关研究情况21.3.1国内研究情况21.3.2国外研究情况22 主要内容22.1大学物理实验仿真平台设计的主
9、要内容22.2虚拟实验的理论基础52.2.1单缝双缝衍射实验理论基础62.2.2双缝衍射82.2.3物体抛射实验理论基础92.3MATLAB及GUI简介102.4本章小结123 物理虚拟实验平台设计与开发123.1系统需求分析123.2系统设计133.3系统框架设计153.4本章小结184 实验仿真系统及演示194.1功能简介194.2光学衍射实验功能仿真194.3物体抛射实验功能仿真214.4本章小结235 总结与展望235.1论文总结235.2前景展望24参考文献26致谢27附录28附录A GUI面板生成代码28附录B 物体曲线抛射仿真代码28附录C光学衍射仿真代码291引言我们的大学教学
10、任务非常繁重,特别是大学物理教学,有许多物理基础知识是通过物理实验来展示的,然而在实验仪器不满足条件的情况下我们该怎么办呢?在科技飞速发展下,我们应用MATLAB软件仿真物理实验就解决了许多物理实验方面不满足条件的学校也能让学生直观的观察到物理实验的过程,让我们在学习物理的过程变得更加方便,容易操作并且记忆深刻。1.1研究背景我们的科技发展越来越快,课堂上的实验对学生的学习是越来越重要的,然而我们的物理实验却需要大型的设备,不仅要维护还要修理,所以越来越多的人们选择用仿真的方式来做物理实验。在近年来,高中和大学都投入资源去让学校的实验条件得到改变,也开始取到了一定的效果,不过现在这种方法对于实
11、验条件的要求远远不如使用计算机技术来仿真,既省时方便,而且还可以省去不少的财力,我们把计算机仿真作为虚拟的实验方式,它有很多的优点,例如较好的重复性,容易操作,经济节约,不会浪费资源,还不会对实验室造成破坏。然后我们使用的是MATLAB,它是一种非常强大的软件,这个语言的编程有简练又非常的精确,有迅速把图像、图形、视频和动画的方式来表达出我们实验的能力。1.2研究的目的与意义我们以前的教学方式大多数都是使用在黑板上教学写字画图来完成的,可是这样的教学方法其实也会影响课程的效果,不能很好的把实验表达出来。所以现在教学方式需要更新换代了,特别是物理实验方面,我们需要有直观的还有深刻的教学模式,我这
12、个设计就是通过MATLAB来改变传统的教学方式。首先我们可以利用MATLAB的来解毒大学物理课程的概念和理论知识,并且通过仿真来完成大学物理实验,让学生可以直观的了解这个课程,加深学生的印象,激发学生们的学习兴趣。这样就能做到提高大学物理课程的质量,让课堂的效率变得更加高。1.3国内外相关研究情况1.3.1国内研究情况在大学里面,我们有非常重要的一部分,那就是我们的大学物理教学以及大学的物理的实验,特别是大学物理实验它可以让学生更加深刻的对大学物理的知识有一个了解,可是大学物理实验一般需要很大体型的实验仪器。这让我们非常的需要使用其他方式来取代,然后随着科技的发展与进步,使用MATLAB来仿真
13、大学的物理实验变成了一个非常适用的方式,它通过展现出视图的方式,还有程序里面的语言工具对实验进行仿真,而且仿真的界面非常简洁丰富,能够直接在界面里做到很多事情,例如输入和改变参数,还不用改变原来的程序。1.3.2国外研究情况在这些年一来,MATLAB使用了非常多的实验的仿真平台的构建,有非常出名的杨氏双缝干涉实验,还有森林的灭火弹弹道轨迹实验等等。现有的仿真平台可以分为主界面和辅助界面两个模块。你可以从主界面进入二级界面,然后您可以更改辅助界面中的参数以模拟另一组图像,这些图像可以与之前的图像进行比较。2 主要内容2.1大学物理实验仿真平台设计的主要内容本次设计的主要任务是在大学物理的知识的基
14、础上,通过MATLAB GUI仿真出大学物理的实验。有光的衍射和干涉以及物体抛射轨迹的实验,本设计是依靠计算机、大学物理的基础的相关知识和MATLAB软件的使用方法来实现大学物理实验的仿真平台的设计。首先,我们先用MATLAB制作一个GUI界面,一般用户界面有一级界面跟次级界面。打开MATLAB软件,虽然MATLAB有很多个版本,但是大致都是两种方式进入GUI界面:1.在CommandWindow命令框中输入guide并回车;2.在上方菜单栏中点击guide按钮。然后在新建的GUIDE文件界面选择创建空白文件BlankGUI,点击OK则成功生成一个GUI文件。在上方点击保存按钮保存,注意保存的
15、文件名必须以字母开头,并且不可以使用中文。设计图形用户界面,我们可以在左侧文本框输入数据,在点击按钮之后,MATLAB将在右侧文本框输出。通过选择EditText和PushButton可以绘制所需的图形用户界面。图1是属于光学的干涉程序的流程图,这个仿真实验之前有过非常多的经典实验,我们是为了方便做仿真的程序,尽量去调写好而且做好简化,在图1中我们可以看到那是一个实验的流程图了,只需要运行MATLAB并且编写仿真的数据即可。我们为了可以任意的改变物理实验的数据使得可以仿真,我们应用了MATLAB的GUI程序,这样我们想改变数据的时候就直接可以改变,操作可以多变并且简单。上图为光的干涉程序流程图
16、当我们要经常的去修改我们的数据时,利用其他方法来仿真就会变得非常的麻烦,因为难以修改参数,特别是一些经验少的学生更是难改。所以我们使用了GUI的用户界面,只需要修改数据,不许用户重新做一个较难的设计,就可以实现光的干涉,这样会是非常有实用价值的事情。我们让光学干涉可以在课堂上做教学,让更多的学生可以操作跟观察,在MATLAB程序加了一个GUI的界面,这个界面采用非常直观的一些图案的方式来把我们电脑上的操作反馈出来,然后很多参数都可以方便修改,我们还能够用GUIDE的工具来编写,GUIDE将GUI界面放进去一个FIG的文件里面,然后我们就可以同时得到一个可以控制和修改代码的M文件了。这样就非常方
17、便我们修改和调写数据,让M文件来把数据调写,将我们想要的结果给展示给学生。我们通过光的干涉的现象,来研究光的波动对光的干涉成象的影响。我们可以在GUI界面上修改波长,还有修改它的缝隙数来得到不同的光学干涉现象,由此让学生得到充分的了解,更加懂得光学干涉的现象。另外一个是弹道轨迹的仿真,我们也是可以使用MATLAB程序里的GUI界面去完成它。首先,我们也是设置好GUI界面,得到了一个M文件以后,我们就可以很方便的修改以及编写它的初速度,射角,加速度。设置好了以后可以进行轨迹仿真,当然我们在设置GUI界面的时候是需要去调整按钮的,也要在按钮上编写好字符,这样学生就容易明白操作的过程是怎么进行的。我
18、们先用一个编写好初速度,射角,加速度的界面,如下图所示:我们的防火弹就是类似与这种的弹道轨迹,我们可以使用它来对弹道轨迹做出一个大概的了解并且仿真,这对于我们的物理实验有着预测性的现实意义,能够让弹道更加精准,提高弹道的准确性。不过很多时候防火弹是拥有外界因素的影响到,类似空气阻力等,所以实验结果跟仿真结果会有微小的偏差。我们根据建模可以根据直角坐标系表示的质心运动来得到方程组:式1其中x,y分别是弹道射出后的t时刻的坐标(x,y)的水平和垂直距离。c是弹道的系数;为弹道倾角;vx,vy分别为水平分速度和铅直分速度;g为重力加速度;H(y)为空气密度函数;G(v,cs)为阻止力函数。我们相关的
19、数据确定,首先是要知道弹射的丸子自身的重量以及它跟空气直接的阻力加速度的关系。他的算式应该是:式子当中i是我们的弹性数值,d弹丸的直径,m是弹丸的质量,就可以得到式子的数值了,然后把他们编写进去GUI用户的界面中。在开始仿真之前必须把该设置的都设置好,例如我们弹丸的初始速度,发射的角度,地心引力的加速度。我们通过设置好fig文件中的函数,然后打开GUI的用户界面把这个是把弹丸的初始速度设置为100,把弹丸的发射角度设置为30度,再设置好地心引力的重力加速度9.8米一秒。2.2虚拟实验的理论基础虚拟的实验在我们生活中应用广泛,它取代了传统的实验台操作,学生不仅可以在虚拟的实验仪器上动手操作,还可
20、以自主的设计实验,这样对于学生的操作能力有提升意义,还增加了学生的学习兴趣,提高他们的创新意识,在学生自己动手操作的过程中,自己发现问题解决问题,让知识更加牢固,增加学生的分析能力和诊断能力。在虚拟的实验里,学生可以比较轻易的得到相应的专业知识,科学的知道还有直观的反馈。所以虚拟实验是我们未来的生活中现实实验的发展方向。在虚拟的实验环境里面,我们就不用在浪费那么多的人力资源还有物力资源去做一些复杂而又难以观察到现象的实验。我们通过在学习的知识的基础上面,做一个相应的学习的实验,通过虚拟的实验我们用电脑里的软件去仿真出来,只要过程跟数据结果都是相应的,那就可以取代现实的实验了。然后我们的虚拟实验
21、是可以把做过的实验保存下来的,然后再给学生去参考跟学习。它能够快速的给予学生指导,帮他们了解实验的难点,并且有帮助他们解决难点的能力。然后老师只需要教导学生们怎么去操作,以及解决一些学生不懂的步骤即可,这样就节约了很多的资源,还让学生得到更加清晰的实验过程,提高了他们的学习兴趣以及动手能力。我们要给学生提供一个过去没有的实验环境,让学生更加喜爱学习,拥有更帮的学习氛围。这要通过我们的虚拟实验去完成,它增加了学生跟专业知识和实验过程的交流,学习是一件枯燥的事情,但是通过与以往完全不同的学习方式去学习也是一件有趣的事情。所以我们的虚拟实验旨在让学生可以自主的去学习,更加贴近实验过程,得到他们的实验
22、结果。虚拟实验同时也是一种可以节能省人力并且可以代替了其他要用很多资源的实验。不过要想完成虚拟实验还需要为这个实验的学习背景,专业知识,学习的各种书籍的资料去做准备。而且实验的过程必须可以简易的操作并且修改它的数据达到重复实验的能力。令学生可以自主去创造自己想完成的实验,在一个不同以往的学习平台里面遨游,这样他们的学习过程和记忆会非常的深刻,并且通过自己不断的探究得到的新的知识,他们形成的观点和观点才更有可能被我们利用。因此,虚拟实验平台将对提高学生的学习积极性,帮助学生积极构建自己的知识体系起到重要作用,更是促进学生增加学习能力还有他们的专业的兴趣的重要的一个环节。本文开发的模拟实验工具不仅
23、可以为学生提供一个独立探究的实验平台,而且可以产生与初中光学教科书密切相关的实验教学资源,为教师提供帮助。2.2.1单缝双缝衍射实验理论基础衍射是一种非常重要的现象对于我们的研究,它跟干涉也是一样的重要,对于波运动来说它们都是重要的特征。在遇到一些物障的时候,波动传播也会因此改变移动轨迹,它们会绕着障碍物的边缘移动,然后就不在直线上传播了。菲涅耳发展了惠更斯原理,为衍射理论奠定了基础。菲涅耳的假设是,在波传播过程中,同一波前上所有点发射的子波都被传播,在空间中相遇时发生相干叠加。这种发展起来的惠更斯原理被称为惠更斯-菲涅尔原理。在我们的现实中的实验里,我们对于单缝衍射用以半导体激光器来作为光源
24、。由于激光束它具有一个特性。就是它拥有一个良好的方向性,而且它的平行度比较飞,因此我们就可以省去准直透镜L1。并且,如果要使得观察屏幕原理狭缝,缝隙的宽度应该远远小于缝隙到屏幕的距离(即满足远场条件),所以我们的透镜L2也就可以忽略掉。在简化后的光路如图3所示。通过实验证明,当Z约等于100cm,a约等于810-3cm的时候,便可以得到比较满意的衍射花样。zaDSqP0Pq图3图3中,设屏幕上P0(P0位于光轴上)处是中央亮条纹的中心,其光强为I0,屏幕上与光轴成q角(q在光轴上方为正,下方为负)的Pq处的光强为Iq,则理论计算得出:(1)其中式中q为衍射角,l为单色光的波长,a为狭缝宽度,由
25、式(1)可以得到:(1) 当即()时,光强最大,称为中央主极大。在其他各种因素都不改变的情况之下,当光的强度越大则可知狭缝的宽度也是越大,所以他们之间有正向关系。(2) 当时(k=1,2,3),出现暗条纹。在q很小时,可以用q代替sinq。因此,暗纹出现在的方向上。显然,主极大两侧两暗纹之间的角距离,为其他相邻暗纹之间角距离的两倍。(3) 除了中央主极强以外,两相邻暗纹之间都有一次极强出现在位置上,要求b值为:1.43p,2.46p,3.47p,对应的sinq值,,各次极强的强度依次为0.047I0,0.017I0,0.008I0,-p-2p-3pp2p3p1Iq/I0b0.0470.0170
26、.0080.0470.0170.0081.43p2.46p3.47p-1.43p-2.46p-3.47p图4以上是单缝夫琅禾费衍射的理论结果,其光强分布曲线如图4所示。2.2.2双缝衍射将图1中的单缝D换成双缝,每条缝的宽度仍为a,中间隔着宽度为b的不透明部分,则两缝的间距为d=a+b,如图5所示。理论计算得出,屏幕上Pq处的光强分布为:(2)其中afsL1DL2SqP0Pq图5式(2)表明,双缝衍射图样的光强分布由两个因子决定:其一是,即单缝夫琅禾费衍射图样的光强分布;其二是4I0cos2v,它表示光强同为I0而相位差2v的两束光所产生的干涉图样的光强分布。因此双缝夫琅禾费衍射图样是单缝衍射
27、和双缝干涉这两个因素联合作用的结果。由式(2)可以得出:(1)只有这两个因子中有一个为零,则光强为零。就第一个因子而言,光强为零的条件是:(3)即(k=1,2,3)就第二个因子cos2v而言,光强为零的条件是:即(m=1,2,3)(4)(2)出现双缝干涉光强极大值的条件是:即(n=0,1,2,3)(3)当确定的干涉极大正好与由确定的衍射极小的位置重合时,那么第n级干涉极大将不会出现,这称为缺级。即当:时发生缺级。例如,则缺少3,6,9,各级,其光强分布曲线如图8所示。2.2.3物体抛射实验理论基础在中学的物理只是里面就有讲到过,某一个物体抛射在空中的水平方向的运动可以当做是速度恒定的匀速运动。
28、然后垂直方向是有一个重力的自由落体的运动,所以可以把它当做一个点在做抛射运动,抛射曲线是可以通过数值计算得出的,它的参数方程是其中g是重力加速度,物体初始速度为,发射角度为。当发射角度在区间内变化时,每一个不同的发射角度都可以行程一条不一样的抛射曲线,由解之,得弹落点所对应的参数值2.3 MATLAB及GUI简介MATLAB是一种科学的计算软件,计算机的专业大部分都会学习MATLAB去作为编程的基础,因为它使用简单,容易操作。由于它的软件特性,现在它已经被广泛应用与科学的计算,实验的仿真、航空的领域等等。MATLAB集成了2D以及3D图形的功能,用以完成相应的数值可视化工作。而MATLAB G
29、UI就是图形用户界面,即通过图形的方式去显示电脑操作用户的界面。由于它拥有比较好的操作环境,每个窗口都由很多元素组成、一屏多用性、任务切换简单、资源共享和信息共享。所以使用GUI界面给我们的仿真带来更多的便利。更让我们的用户少花一点时间去解决一大堆烦杂的代码,简化程序,而且同样可以实现向决策者提供图文并茂的一个界面,甚至达到多媒体的效果,这样就能够在大学的课堂上让学生直观的学习整个过程。总的来说,MATLAB提供了一个简单而且容易操作的开发环境,让开发人员能够快速启动、节约时间,提高了开发人员的效率。以下是本次设计主要的两个物理实验的仿真界面:2.4本章小结本章介绍了本次设计的实验所需要用到的
30、软件以及其特性和功能,并为本次物理实验的进行做出了基础知识,提供理论去设计本次的实验并完成实验仿真。3 物理虚拟实验平台设计与开发3.1系统需求分析万事开头都是非常重要的,而软件开发有着至关重要的一件事。那就是我们的软件需求的分析,同样的,它又是软件的寿命的周期里特别的重要的一个步骤。软件需求的分析能不能成功就跟整个软件开发能不能成功是挂钩的。所以要完成一个软件的开发,我们必须明白它背后的原理,做好基础工作。首先我们了解到光学的一些基本定理。例如光的直线传播定理:在同行的均匀介质里面,光是沿着直线去传播的。光的独立传播定理:不同的光源发出的光线从不同方向通过某点时候,彼此不影响,各光线的传播不
31、受其他光线的影响。还有光的反射定理和光的折射定理等四个光学基本定理。除此之外,还有光学实验上需要用到的各种仪器以及他们的原理,要了解到的基本仪器有目镜,物镜,折射仪,分光仪,放大镜,显微镜以及望远镜,了解好他们的原理跟使用好这些仪器可以使得我的实验更加利于观察以及操作。光学实验里面有很多种分类,而里面最重要的一类则是光源。光源的重要性因为它是属于光学实验里重要的组成部分。光学实验的实验现象基本上都是通过光源和场景的交互区域里面的光学装置相互发生作用来显示的。根据我们物理光学模拟实验的要求,平行光源,点光源,复合光源还有特殊光源都是属于光源的四大分类。平行光束就是我们的平行光源,基本光学的所有实
32、验都会应用到。平行光源在光学的实验中起到关键作用,任何光学的实验都跟平行光源不能够分离。一个点向周围空间均匀发出的光源则是点光源,平行光指的是一组没用衰减的平行的光线,类似太阳光的效果。点光源的光线发出来是比较分散的,所以有时候会发生一些偏离直线轨迹的情况,例如它进入到其他的介质时。例如玻璃,这时折射的光线就会开始向中心去聚集。与此同时,另一种光线平行透过被测量的材料时,它的光线方向是不会改变的,而且几乎没有衰减,它就是平行光源所发出的光线。这两者的区别就是点光源跟平行光源经过介质时不同的效果。在物理实验中会用到许多的设备类仪器,它们是进行实验必不可少的一部分,降低实验的复杂性,增加实验的看操
33、作性。设备类包含许多独立的光学仪器。每个光学仪器可以与平行光源和点连接。光源和复合光源相互作用,每个光源也可以与不同的光学仪器相互作用,这增加了实验平台的灵活性。学生可以通过自主研究实验所需的设备去操作,了解并使用好物理仪器能够更有效的完成每一个实验。在我们本次的光学实验仿真里面,我们最需要研究的就是光的波长以及缝隙的数量,在根据光学的物理基础,模拟出来的一次比较抽象的实验,就不需要使用光学仪器,可以更之光的把实验展现给学生学习。3.2系统设计在过去,人们每次做实验都需要经过繁杂的设计,然后一旦实验的数据要修改时,又要重复的去修改整个设计,而现在我们通过使用一个可以修改数据的用户界面来做实验,
34、减少了人力,提高了软件的可重复性。本文根据软件设计目的及相应功能要求,需要选用相应MATLAB GUI内的坐标轴、按键、编辑框等各类组件。以下为相应各个组件的介绍在MATLAB命令窗口输入guide指令,打开MATLABGUI创建窗口,如下图3.1所示图3.1MATLAB GUI创建窗口通过点击确定按键,创建如下图3.2所示的GUI面板,通过从其左侧的控件组上,拖拉相应控件到面板上,便可形成相应的软件控制界面。点击运行保存便可以生成相应MATLAB GUI框架代码如下所示:图3.2GUI面板functionvarargout=untitled1(varargin)gui_Singleton=1
35、;gui_State=struct(gui_Name,mfilename,.gui_Singleton,gui_Singleton,.gui_OpeningFcn,untitled1_OpeningFcn,.gui_OutputFcn,untitled1_OutputFcn,.gui_LayoutFcn,.gui_Callback,);ifnargin&ischar(varargin1)gui_State.gui_Callback=str2func(varargin1);endifnargoutvarargout1:nargout=gui_mainfcn(gui_State,varargin:
36、);elsegui_mainfcn(gui_State,varargin:);endfunctionuntitled1_OpeningFcn(hObject,eventdata,handles,varargin)handles.output=hObject;guidata(hObject,handles);functionvarargout=untitled1_OutputFcn(hObject,eventdata,handles)varargout1=handles.output;通过相应页面布局形成如图3.3所示界面框架图图3.3系统软件界面设计图通过双击文本框,便可以弹出相应文本属性编辑
37、器,在属性编辑器中string输入相应数据,便可完成相应属性的初始化。其具体如图3.4所示图3.4文本属性编辑器3.3系统框架设计这个系统的总体通过两大个方面来组成的,实验的时候可以很好的切换两个功能。即它的工具栏,还有实验要用到的操作区域,都是可以很好的融合在一起,并且自由切换。然后在用户使用的时候直接在实验的操作区域里面去填写实验的数据还有修改它的数据,提高了用户的使用效率,用户就可以操作和演示实验,观察实验现象。实验完成之后,保存相应实验参数。如果需要下次再次使用的时候,只需要在相应的菜单栏中输入相应的参数。便可以复现出上次实验的演示实验结果。图3.5系统框架运行结构图通过在图3.4各个
38、参数属性编辑框上分别输入如图3.6图3.7所示的相应参数。点击运行仿真,系统便会将其初始参数代入程序中运行处相应仿真结果。图3.6物体抛射曲线轨迹仿真以下为相应物体抛射曲线轨迹仿真程序代码:functionpushbutton1_Callback(hObject,eventdata,handles)%获取相应初始速度v0=str2double(get(handles.edit1,string);%获取相应抛射角度a=str2double(get(handles.edit2,string);%分别计算xy方向分速度vy=v0*sin(a*pi/180);vx=v0*cos(a*pi/180);%
39、获取相应加速度g=str2double(get(handles.edit3,string);%计算运行时间t=2*vy/g;%计算空中运行各个点位置t0=0:0.1:t;wx=vx*t0;wy=(2*vy-g*t0).*t0/2;%绘制相应抛物曲线plot(wx,wy,.-)xlabel(水平距离)ylabel(竖直距离)axis(110000500)图3.7光学衍射仿真以下为相应光学衍射仿真程序代码:functionpushbutton1_Callback(hObject,eventdata,handles)%仿真波长lamda=str2double(get(handles.edit1,st
40、ring)*10-6;%缝数可以根据仿真需要任意更改N=str2double(get(handles.edit2,string);a=2e-4;D=5;d=5*a;ym=2*lamda*D/a;xs=ym;n=1001;ys=linspace(-ym,ym,n);fori=1:nsinphi=ys(i)/D;alpha=pi*a*sinphi/lamda;beta=pi*d*sinphi/lamda;B(i,:)=(sin(alpha)./alpha).2.*(sin(N*beta)./sin(beta).2;B1=B/max(B);end%确定灰度的等级NC=256;Br=(B/max(B)
41、*NC;axes(handles.axes1)image(xs,ys,Br);%色调处理colormap(hot(NC);axes(handles.axes2)plot(B1,ys,k);3.4本章小结本章从物理虚拟实验平台的开发技术出发,首先进行了相应软件系统需求端的分析,根据相应软件系统需求设计出相应软件系统设计模式,基于MATLAB GUI虚拟化技术,提出相应光学衍射仿真及物体抛射曲线仿真实验设计实验思路。并对不同模块进行相应分析设计,通过对实际物理现象分析建模,将相应系统模型带入软件仿真框架中,从而实现相应软件仿真分析。4 实验仿真系统及演示这一章首先是为读者介绍系统是怎么将功能拼凑起
42、来然后运行的,然后用户用起来就可以明白它的功能有哪些,它的运行方式是怎么样,还有最后面介绍了这些系统的功能模块然后举例子进行了说明。本章的主要目的是展示系统的整体功能,结合仿真实验的案例展示系统的主要功能和操作步骤。4.1功能简介本系统主要用于大学物理虚拟仿真平台测试,主要包含光学单缝多缝衍射仿真实验及物体抛射曲线轨迹仿真实验。其中在光学单缝多缝衍射仿真实验中用户只需要输入相应光波长度及缝隙数量便可进行相应光学衍射仿真测试。而对于物体抛射曲线轨迹仿真实验测试,对于用户来说仅需要用户输入仿真初始速度,入射角度以及相应加速度值便可以仿真出相应物体抛射曲线轨迹。通过软件仿真,其仿真实验测试简洁,操作
43、过程简单,容易上手,简化相应实验参数便于用户改变参数得到不同的仿真结果以及直观的观察出仿真的相应效果。4.2光学衍射实验功能仿真在MATLAB中运行相应光学衍射实验仿真实验模块,出现如图4.1所示的光学衍射仿真界面,在相应输入框中输入光学仿真参数。当波长为0.5um缝隙数为1时,点击运行仿真,出现如图4.2所示的仿真界面。从图4.2仿真结果中我们可以看出,当缝隙数为1时,光源发生相应衍射,且光源强度最高。当波长为0.5um缝隙数为2时,点击运行仿真我们可以发现中小光源处光强发生了明显的降低。并同时出现多股独立明暗相应光线如图4.3所示。当波长为0.5um缝隙数为4时,我们可以发现此时光强曲线强
44、度明显下降。如图4.4所示。由此可得,当波长为0.5um时,缝隙数小的时候,光源强度就高。当缝隙输增加的时候,中小光源出的光强就低。图4.1光学衍射仿真界面图4.2波长为0.5缝隙数为1光学仿真界面图4.3波长为0.5缝隙数为2光学仿真界面图4.4波长为0.5缝隙数为4光学仿真界面4.3物体抛射实验功能仿真在MATLAB中运行相应物体抛射曲线轨迹仿真实验模块时,出现如图4.5所示的物体抛射轨迹曲线仿真界面。当初始在界面中输入相应初始速度为100m/s,射角为30,加速度为相应9.8m/s2时(即地球的重力加速度),点击相应轨迹仿真按键进行相应仿真,出现如图4.6所示的抛射轨迹仿真界面。从图4.
45、6中我们可以看出物体抛射曲线整体在空中为相应抛物线,当在界面中输入相应初始速度为100m/s,射角为45,加速度为相应9.8m/s2时,我们可以发现此时物体抛射距离达到理论上最远距离。其相应具体仿真界面如图4.7所示。当在界面中输入相应初始速度为100m/s,射角为80,加速度为相应9.8m/s2时,我们可以发现此时物体抛射曲线呈现为高抛物曲线,其相应抛射距离较短,但是射高整体而言相对较高。其相应具体仿真界面如图4.8所示。图4.5物体抛射轨迹曲线仿真界面图图4.6初始速度为100m/s射角为30加速度为相应9.8m/s2时抛射轨迹仿真界面图4.7初始速度为100m/s射角为45加速度为相应9
46、.8m/s2时抛射轨迹仿真界面图4.8初始速度为100m/s射角为80加速度为相应9.8m/s2时抛射轨迹仿真界面由此可得,物体抛射的轨迹曲线,当初速度不变的情况下,射角越大时,物体的水平距离就越短,则同样的道理下,射角不变的情况下,初始速度越大时,物体的水平距离就越远。4.4本章小结本章主要介绍了使用MATLAB GUI仿真平台,分别对光学衍射仿真以及物体抛射轨迹曲线仿真进行相应仿真演示说明。通过改变相应仿真初始参数,让用户可以直观的感受到当改变其相应仿真结果参数时,仿真软件输出结果将发生巨大的改变。通过操作仿真实验软件,可以使得相应用户更加直观了解到相应实验参数的重要性及相应物理实际参数意
47、义。通过展示仿真案例让用户更进一步了解大学物理仿真实验平台的操作性和全面性,还展示了仿真平台操作的简易性。5 总结与展望5.1论文总结这篇文章结合了仿真层面以及物理层面的两大板块,通过在物理知识的基础下将实验仿真出来。从而设计出相应大学物理虚拟仿真实验平台,从而通过该平台仿真实验,提高相应学生的感官能力认知。进而加深学生对物理实验各方面知识的理解与认知,培养相应学生的主动探索的学习能力。本文在将大学物理演示实验与计算机仿真技术的结合上进行了一些实践和探索。本文所提出的虚拟仿真实验教学可避免相应传统物理学上的一些弊端,有利于学生快速掌握相应物理学参数实际意义。使得相应学生深刻理解将计算机仿真技术引入大学物理仿真平台的实际意义。同时分析了国内外