《毕业设计(论文)-基于MATLAB的光学实验仿真.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于MATLAB的光学实验仿真.doc(48页珍藏版)》请在金锄头文库上搜索。
1、 本科毕业论文题 目 基于MATLAB的光学实验仿真学 院 物理科学与技术学院 专 业 物 理 学(师 范) 年 级 2010级 学 号 姓 名 指 导 教 师 成 绩 2014年 月 日 目录摘要 2关键词2Abstract3引 言3第一章 绪论51.1 MATLAB的简介51.2 MATLAB用于仿真的优越性61.3 光学实验仿真研究的意义81.4 光学实验仿真的国内外研究状况9第二章 光的干涉实验仿真102.1 两束相干光叠加的强度和干涉条纹仿真102.1.1 建模102.1.2 MATLAB程序122.1.3 运行结果及结论132.2 劈尖等厚干涉条纹仿真142.2.1 建模142.2
2、.2 MATLAB程序152.2.3 运行结果及结论162.3 等倾干涉172.3.1 建模172.3.2 MATLAB程序182.3.3 运行结果及结论192.4 牛顿环192.4.1 建模192.4.2 MATLAB程序212.4.3 运行结果及结论21第三章 光的衍射实验仿真233.1 夫琅禾费单缝衍射233.1.1 建模233.1.2 MATLAB程序233.1.3 运行结果及结论243.2夫琅禾费光栅衍射263.2.1 建模263.2.2 MATLAB程序263.2.3 运行结果及结论273.3 夫琅禾费圆孔衍射293.4 夫琅禾费矩孔衍射30第四章 MATLAB GUI设计在光学中
3、的应用324.1等倾干涉32第五章 总结41参考文献42致谢43基于MATLAB的光学实验仿真杨云标西南大学物理科学与技术学院,重庆 400715摘要 :光学实验是物理教学和物理实验中重要组成部分,对于光学实验的研究,做传统的光学实验,对实验仪器和实验环境要求非常的高,但是得到的实验结论却并不一定理想。所以,引进了一种数学软件MATLAB,它是一种集符号运算、数值运算、图形可视化等多种功能于一体的科技应用软件。而利用MATLAB仿真出来的结果和理论吻合,图像清晰逼真,不受实验仪器的影响,可以极大地促进光学实验的课堂教学效果。本文主要介绍用MATLAB软件对典型的干涉和衍射现象建立了数学模型,对
4、干涉和衍射光强分布进行了编程运算,对实验进行了仿真,而且展示了仿真的结果。最后创建了交互式GUI界面,用户可以通过改变输入参数模拟不同条件下的干涉和衍射条纹。关键词:MATLAB;光学实验仿真;干涉 ;衍射 ; GUI界面Optical Experiment Simulations With MATLABYang YunbiaoSchool of Physical Science and Technology, Southwest University, Chongqing 400715, ChinaAbstract: Optical experiment is an important pa
5、rt of physics teaching and physics experiments, for the study of optics experiment, optical traditional experiment, the experimental apparatus and the environmental requirements are very high, but the results are not always ideal. Therefore, the introduction of a mathematical software MATLAB, it is
6、scientific and technological applications in one of a variety of set of symbolic computation, numerical computation, visualization and other functions. Anastomosis using MATLAB simulation results and theory, clear and vivid images, not affected by the experimental instrument, can greatly promote the
7、 optical experimental teaching. This paper mainly introduces the mathematical model of interference and diffraction phenomena typical is established with MATLAB software, the interference and diffraction light intensity distribution of the program, the experimental simulation, but also show the simu
8、lation results. Finally, to create interactive GUI interface, the user can change the input parameter simulation under different conditions of interference and diffraction patterns.Key word:MATLAB;Optical experiment simulations;Interference;Diffraction;The GUI interface 引 言而近年来,用计算机仿真模拟实现各种光学现象成为研究的
9、热点。由于在做光学实验过程中,需要稳定的环境、精密的仪器,而且其概念难懂,所用的仪器又非常的贵重,这有时使得实验变得非常的困难。但随着计算机仿真技术的发展,利用仿真虚拟技术展示客观物理现象,在现代光学研究中发挥着越来越重要的作用。在数字全息、数字干涉测量、衍射光学元件的设计制备等研究领域,都涉及到在计算机中对光学衍射过程进行数值计算或模拟的工作,所以选择能够准确、快速地模拟光学实验过程的算法有重要的实际意义。利用仿真实验的结果指导实际实验,减少和避免贵重仪器的损伤;通过仿真实验过程将抽象难懂的光学概念和规律直观地展现在学生面前,提升教学效果;突破实验仪器对教学和实验内容扩展和延伸的限制。而MA
10、TLAB就是一套高性能的科学计算与可视化软件,从而广泛应用于物理教学中。MATLAB是当今最优秀的科技应用软件之一,它以强大的科学计算与可视化功能、简单易用、开放式可扩展环境,特别是所附带的30多种面向不同领域的工具箱支持,使得它在许多科学领域中成为计算机辅助设计和分析、算法研究和应用开发的基本工具和首选平台。MATLAB具有其他高级语言难以比拟的一些优点,如编写简单、编程效率高、易学易懂等。例如:利用MATLAB程序画出函数y=sinx,y=cosx的图像MATLAB程序如下:图1subplot(1,2,1)fplot(cos,-pi,pi)grid onbox offset(gca,xgr
11、id,off) text(0,0,y=cosx)subplot(1,2,2)fplot(sin,-pi,pi)grid onbox offset(gca,xgrid,off)text(0,0,y=sinx) 因此MATLAB语言也被通俗地称为演算纸式科学算法语言。在控制、通信、信号处理及科学计算等领域中,MATLAB都被广泛地应用,已被认为能够有效提高工作效率、改善设计手段的工具软件,掌握MATLAB好比掌握了开启这些专业领域大门的钥匙。 本文主要分为四章,第一章主要介绍MTALAB软件和它在光学实验仿真应用的意义;第二章主要介绍MATLAB在光学干涉实验仿真,包括双缝干涉、牛顿环、薄膜等倾干
12、涉等实验仿真图像;第三章主要介绍MATLAB在光学衍射实验中的仿真,包括夫琅禾费单缝衍射、光栅衍射、夫琅禾费圆孔、矩孔衍射等;第四章主要介绍MATLAB GUI设计在光学中的应用 第一章 绪论1.1 MATLAB的简介 MATLAB是一种科学计算机软件,它是由美国Mathworks公司于1984年正式推出的,主要适用于矩阵运算及控制和信息处理领域的分析设计。MATLAB还包括了ToolBox(工具箱)的各类问题的求解工具,可用来求解特定学科的问题。它使用方便,输入简捷,运算高效,内容丰富,并且很容易由用户自行扩展,因此,当前已成为美国和其他国家大学教学和研究中最常用的软件之一。随着科技的发展,
13、MATLAB软件版本也不断的升级,内容不断扩充,功能更加强大。特别是在系统的仿真和实时运行等方面,有很多的新进展,更加扩大它的应用前景。 MATLAB是“矩阵实验室”(MATrix LABoratoy)的缩写,他是一种以矩阵运算为基础的交互式程序语言,专门针对科学、工程计算及绘图的需求。与其他计算机语言相比,其特点是简洁和智能化,适应科学研究人员的思维方式和书写习惯,从而使得编程和调试效果大大提高。它用解释方式工作,输入程序能够立即得到结果,人机交互式性能好,深得科技研究人员的喜爱。1.2 MATLAB用于仿真的优越性随着仿真技术的发展,在欧美高等院校,MATLAB已成为应用于线性代数、自动控
14、制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具:在研究单位、工业部门,MATLAB也被广泛用于研究和解决各种工程问题。因为MATLAB用于解决这些问题具有很大的优越性,它具有其他软件不具备的特点。它的特点可概括如下:(1) 编程效率高, MATLAB是一种面向科学与工程的高级语言,允许数字形式的语言编程,与BASIC、Fortran和C语言相比较的话,它更接近书写计算公式的思维方式。所以使得MATLAB编程效率高、智能化、编程简洁和易学易懂。(2) 用户使用方便 MATLAB语言是一种解释执行的语言(在没被专门的工具编译之前),它灵活、方便,其调试程序手段丰富,调试速度快,需要学习时间少。MATLAB能够把编辑、编译、链接和执行融为一体,而且它能在同一画面上进行灵活操作,可以对输入程序中的书写错误、语法错误以至语义错误立即作出反应,便于编程者马上改正。这些都可以大大减轻了编程和调试的工作量,使用户方便。(3)扩充能力强,交互性好高版本的的MATLAB语言有丰富的库函数,在进行复杂的数序运算时可以直接调用,而且MATLAB的库函数同用户文件在形成上一样,所以用户文件也可作为MATLAB的库函数来调用。因而,用户可以根据自己的需要方便地建立和扩充新的库函数,以便提高MATLAB