基于GUI对干涉衍射的研究_第1页
基于GUI对干涉衍射的研究_第2页
基于GUI对干涉衍射的研究_第3页
基于GUI对干涉衍射的研究_第4页
基于GUI对干涉衍射的研究_第5页
已阅读5页,还剩20页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

西安文理学院物理与机械电子工程院本科毕业论文(设计)题 目基于 GUI的干涉衍射的实验教学研究 专业班级 物理学 1001 学 号 07101100108 学生姓名 强帅 指导教师 张雷 设计所在单位 西安文理学院 2014年 5 月基于 GUI的干涉衍射的实验教学研究摘要:光学是重要的专业基础课程, 波动理论, 特别是干涉和衍射理论 , 无论在理论研究还是在高校教学中都占有重要的地位。本文基于光的衍射和干涉理论,通过Matlab软件编程对杨氏双缝干涉和单缝衍射进行了计算机仿真,这为光学的理论分析与实验教学提供了方便,并为相关课件设计提供了新的途径。在教学中, 利用直观的图样, 由图释义 , 在一个界面中可以比较各种光学现象, 方便学生进行比较学习,从而为光学理论和实验教学做了补充。关键词:MATLAB;GUI;干涉;衍射Interference and Diffraction Method Based on GUIAbstract:Optics is an important professional basic course, wave theory, especially the interference and diffraction theory, whether in theoretical research or in the teaching in Colleges and universities occupy an important position. In this paper, based on the theory of optical diffraction and interference, through the Matlab software programming for the youngs double slit interference and diffraction by computer simulation, the optical theory analysis and experiment teaching provides a convenient, and provides a new way for the courseware design. In teaching, using visual patterns, by definition, can compare the various optical phenomena in one interface, convenient for students to compare learning, so do the supplement for the optical theory and experiment teaching.Key words:MATLAB;GUI ;Interference ;iffraction目录第 1 页目录第 1章 绪论 .11.1 选题的目的与意义 .11.2 干涉与衍射的联系与特点 .11.3 MATLAB的特点与应用 .2第 2章 用 Matlab实现杨氏双缝干涉现象 .42.1 双缝理论分析及编程流程图 .42.2 双缝干涉计算机模拟 .5第 3章 用 Matlab实现单缝衍射现象 .83.1 单缝理论分析及编程流程图 .83.2 单缝衍射计算机模拟 .8第 4章 图形用户界面(GUI) .114.1 GUI的简介 .114.2 GUI的创建方法概述 .114.3 GUI的设计流程 .124.4 GUI界面设计的原则 .124.4.1 简洁性 .124.4.2 规范性 .124.4.3 合理性 .124.4.4 人性化 .134.5 利用 GUIDE设计 GUI.134.5.1 添加控件 .134.5.2 设置回调函数 .14结束语 .16致谢 .17参考文献 .18附录 .19西安文理学院本科毕业设计(论文)第 1 页第 1章 绪论1.1 选题的目的与意义波动光学课程中包含有重要的光学图像和光学过程, 许多重要的规律都是建立在这些现象上的。在光学教学中需要采用现代化的教学手段千方百计地为学生提供观察物理现象的机会, 提高学生学习兴趣 , 培养学生思维水平和创新能力 , 但目前很多教学过程中只简单采用了文本投影式教学, 对光学现象和规律缺乏科学而形象的描述。我们都知道,光学实验需要稳定的环境和精密的仪器, 而这有时会使实验变得困难。在光学实验教学中,避免不了各种典型现象的装置搭建, 仪器之间距离的调整, 各仪器内部的调整等, 而这个过程耗时长 , 准确性还经常打折扣。部分学生对实验不重视, 且光学现象又在一瞬间完成 , 捕捉不到就完成不了实验内容 , 学生就不能学到应有的知识, 教学效果将会大打折扣。波动光学的教学效果往往困扰着许多教师。对教师来说,他们往往面临着把大量的光学情景以可视化的方式展现出来的艰巨任务。如果采用在黑板上手绘的方式,费时又费力,画出的图像是静态的,效果也不好;如果采用课堂做光学演示实验的方式,光学实验的器具往往比较笨重,搬动不方便,而且光学实验对场地的要求也比较高,理论课堂教室一般满足不了要求。这两种方式的单位课堂时间的利用率还很低。如何在有限的课堂时间内将清晰的光学场景展示在学生面前而又不耽误教学的进度,这个问题的解决显得尤为必要。信息技术的发展为这个问题的解决提供了可能。Matlab 作为一款优秀的集数值计算、符号计算、可视化功能于一体的大型科学计算软件,完全可以用来辅助大学物理中的波动光学教学。利用 Matlab,可以对波动光学中的各种光学实验进行模拟仿真,并将实验结果以图像的方式清晰直观地显示出来,而且可以在 Matlab 程序中更改相应的实验参数,得到动态的仿真图像 1。1.2 干涉与衍射的联系与特点光学是重要的专业基础课程, 波动理论, 特别是干涉和衍射理论 , 无论在理论研究还是在高校教学中都占有重要的地位。干涉和衍射现象是一切波动所特有的,也是用于判断某种物质是否有波动性的判据。从同一波阵面上互相分离的各点,发出的分列的波,在观察处振幅相加,就成干涉;从同一波阵面上有限大的面积上连续的各点,发出的许许多多子波,在观察处,振幅逐点连续相加,就成衍射 2。光的干涉与衍射既有联系又有区别,联系表现在:干涉和衍射都是波的叠加,都是空间明暗不均匀的现象,都不符合几何光学的规律。前者是有限光束的叠加,后者是无数小元振幅的叠加;前者的叠加用求和计算,后者的叠加用积分计算;前者不讨西安文理学院本科毕业设计(论文)第 2 页论单个不完整波面的问题,后者专门讨论单个不完整波面的传播问题。区别表现在:现象不同。光的干涉是满足相干条件的光的空间里相互叠加而形成的明暗相间的条纹,而光的衍射是光在传播空间里偏离直线传播而形成的明暗相间的条纹 3。产生的条件不同。要产生光的干涉,必须满足相干条件:频率相同、相差恒定、振动方向相同;要产生光的衍射需要满足的条件是:障碍物或孔的尺寸比光的波长小或差不多。产生的机理不同。干涉是双缝处发出的两列波在屏上叠加,当两列波到达屏上的某点的距离差等于波长的整数倍时,该点的振动加强点,因而出现明条纹;当两列波到达屏上某点的距离差等于半波长的奇数倍时,该点是振动减弱点,因而出现暗条纹。衍射是从单缝处产生无数多个子波,这些子波到达屏时相互叠加,它们在屏上不同点叠加时,其相互减弱的程度有规律地变轻或变重,在轻微处出现明条纹,在严重处出现暗条纹。图样不同。以单色光为例:干涉图样是互相平行的且条纹宽度相同,中央和两侧的条纹没有区别;而衍射条纹是平行不等距的,中央明条纹又宽又亮,两边条纹宽度变窄,亮度也明显减弱。光的干涉与衍射都可以得到明暗相间的色纹,都有力地证明了光的波动性 4。1.3 MATLAB的特点与应用随着计算机技术的发展, 计算机模拟在现代光学教学研究中发挥越来越重要的作用, 尤其是 Matlab 软件的使用。 “数字信号处理 ” 双语教学、毕业设计教学、光学教学等领域中都涉及到 Matlab 的应用。将 Matlab 强大的科学计算与图形图像功能的完美结合将解决许多现实问题, 所以 Matlab 的计算与仿真应用到教学中有着非常重要的意义。Matlab 的主要特点是: (1)Matlab 编程效率高,易学易用,人机交互好:Matlab 的语法结构简单,数据类型单一,命令表达式与数学、工程计算中常用的形式类似,Matlab 用户在短时间内就能掌握其主要内容和基本操作。Matlab 语言以解释方式工作,编程贴近人的思维特点,对每条语句进行解释后即运行,键入算式即得结果,无需编译,对错误可立即作出反应,大大减少了编程和调试的工作,使得Matlab 编写程序有如在便笺上列公式和求解。 (2)Matlab 具有强大的数值计算、作图和数据可视化功能:Matlab 能将数据以图示的方式显示出来,使数据间的关系清晰明了。Matlab 具有灵活的二维与三维绘图功能,在程序的运行过程中,可以方便地用图形、图像、动画等多媒体技术呈现数值计算结果,形象直观、生动,可视化效果好 5。本文 Matlab 引入光学教学,利用其可视化功能对光学实验现象比如光的干涉和衍射进行计算机模拟,这样就能在没有实验仪器的协助下完成精确地计算与显示,再现光的干涉和衍射现象。基于 GUI 的干涉衍射现象的实现方法,将多种光学现象的仿真集成在一个 GUI 界面上,使得操作简单,但是不能自行修改各种仿真参数。西安文理学院本科毕业设计(论文)第 3 页为此,设计了基于 GUI 的 Matlab 程序,不仅能够实现多种光学现象集成在同一个GUI 界面上,还可以任意修改仿真参数,得到的实验结果直观准确,并且于图形用户界面的使用,使其操作简单、使用方便,助于学生对各种干涉、衍射现象的理解,激发其研究性学习兴趣。 西安文理学院本科毕业设计(论文)第 4 页第 2章 用 Matlab实现杨氏双缝干涉现象2.1 双缝理论分析及编程流程图杨氏双缝干涉实验是利用分波振面法获得相干光束的典型例子,如图1 所示,在普通单色光光源后放一狭缝S,S后又放有与S平行且等距离的两平行狭缝S 1和S 2。单色光通过两个狭缝S 1,S 2射向屏幕,相当于位置不同的两个同频率同相位光源向屏幕照射的叠合,由于到达屏幕各点的距离(光程)不同引起相位差,叠合的结果是在有的点加强,在有的点抵消,造成干涉现象 6。d为双缝的间隔,D为屏幕到双狭缝平面的距离,y为O到P的距离。考虑两个相干光源到屏幕上任意点P的距离差为r1= (1)22)(dyr2= (2)r=r 2-r1 (3)引起的相位差为=2 (4) 设两束相干光在屏幕上P点产生振幅相同,均为A 0,则夹角为的两个矢量A 0的合成矢量的幅度为A=2A0 cos(/2) (5)光强B正比于振幅的平方,故P点光强为B=4B0 cos2(/2) (6)下面我们从理论上加以推导,由上面的式(12)可得r22-r12=(r 2+r1)(r 2-r1)=2dy (7)考虑到d,y很小,(r1+r2)2D,结合(7)式有r2-r1 = (8)yD这样就得点P处于亮条纹中心的条件为)(Dr西安文理学院本科毕业设计(论文)第 5 页y= ,k=0,1,2, (9)2kdD因此,亮条纹是等间距的。若采用红光,其波长=500 nm,屏幕到双狭缝平面的距离D1 m,双缝的间隔d2 mm,则相邻条纹间距为(10)m49105.20.1图1 杨氏双缝干涉示意图本文的设计思路是先通过Matlab 实现干涉、衍射中各部分的.m 文件, 然后通过GUI界面,实现对各个部分文件的调用并显示, 以期达到直观显示的效果。在干涉内容中,实现了杨氏双缝干涉内容, 并单独保存为.m 文件。这儿介绍一下杨氏双缝干涉的编程流程图 7。图 2 杨氏双缝干涉编程流程图2.2 双缝干涉计算机模拟编写程序如下,仿真结果如图 3 所示。西安文理学院本科毕业设计(论文)第 6 页clear all%Programl.mlam=500e-9;%输入波长a=2e-3;=1;ym=5*lam*D/a;xs=ym;%设定光屏的范围n=101;ys=linspace(-ym,ym,n);%把光屏的 y 的方向分成 101 点for i=1:nr1=sqrt(ys(i)-a/2).2+D2);r2=sqrt(y

温馨提示

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

评论

0/150

提交评论