基于MATLAB的多光学现象仿真可视化设计_徐春芳
基于Matlab的光学实验仿真

基于Matlab的光学实验仿真基于Matlab的光学实验仿真一、引言光学是研究光的传播、反射、折射和干涉等现象的学科,广泛应用于光学器件、光通信等领域。
在光学实验中,通过搭建实验装置来观察和研究光的行为,以验证光学理论并深入理解光的特性。
然而,传统的光学实验不仅设备复杂,成本高昂,而且需要大量的实验时间和实验设计。
因此,基于计算机仿真的方法成为了一种重要的补充和替代。
Matlab作为一种强大的数值计算和仿真工具,具有强大的数学运算能力和友好的图形界面,被广泛应用于科学研究和工程设计。
在光学实验中,Matlab可以模拟光的传播、折射、干涉等各种光学现象,使得研究人员可以在计算机上进行光学实验,加速实验过程并提高实验效率。
二、光的传播仿真在光学实验中,光的传播是一项重要的研究内容。
通过Matlab的计算能力,我们可以模拟光线在不同介质中的传播情况,并观察其光程差、折射等现象。
光的传播可以用波动光学的理论来描述,其中最经典的是亥姆霍兹方程。
在Matlab中,我们可以利用波动光学的相关工具箱,通过求解亥姆霍兹方程来模拟光的传播。
例如,我们可以模拟光在一特定系统中的衍射效应。
在Matlab中,衍射效应可以通过菲涅尔衍射和弗雷涅尔衍射来模拟。
我们可以设定特定的光源和障碍物,通过Matlab的计算能力计算光的传播、衍射和干涉等现象,得到不同条件下的衍射效应,并可视化展示。
三、光的折射仿真光的折射是光学领域中的另一个重要现象,研究光的折射对于理解光在不同介质中的传播行为至关重要。
通过Matlab的仿真,我们可以模拟光的折射行为,并研究不同介质对光的影响。
在Matlab中,我们可以利用光学工具箱中的折射相关函数,输入光线的入射角度、折射率等参数,模拟光线在不同介质中的折射行为。
通过改变不同介质的折射率、入射角度等参数,我们可以观察到光的全反射、折射偏折等现象,并进行定量分析和比较。
四、光的干涉仿真光的干涉是光学领域的重要研究课题之一,通过模拟光的干涉行为,可以深入理解光的相干性、波动性质等特性。
基于Matlab的光学实验仿真

C++codes.then a suitable application program interface are designed by using Visual C++.
Keywords:Optical experiment simulations;Interference;Difhaction;Aberrations;
本文在仿真实验的基础上系统地探讨了利用Matlab实现光学实验仿真的理论和 方法,并详细给出了光学实验的各种仿真结果。具体内容有:
(1)光的干涉实验仿真。用光波波前叠加的方法实现了对两列球面波干涉、多 光束干涉等实验的仿真;用传播矩阵描述衍射光波波前传播的方法对杨氏双缝和双孔 干涉实验进行了仿真,并具体详细地分析了单缝衍射对双缝干涉的影响;另外还分析 了光场的时间相干性对干涉条纹反衬度的影响。
利用MATLAB语言进行光学衍射现象的仿真

利用MATLAB语言进行光学衍射现象的仿真储林华(安庆师范学院物理与电气工程学院安徽安庆246011)指导教师:张杰摘要:光的衍射是光的波动性的一种重要表现,因此对光的衍射现象的研究,不仅具有重要的理论意义,而且在光学仪器研制和成像分析等诸多实际应用方面均有重要价值,但是其衍射光强的计算非常复杂,对实验条件的要求非常高,通常情况下很难得到满意的效果,严重影响了光学的教学。
本文从衍射的相关理论知识出发,首先介绍了惠更斯--菲涅耳原理及其数学表示形式,然后重点讨论了单色光经各种对称光学衍射元件(单缝,双缝,光栅,圆孔)的夫琅和费衍射情况,并分别给出了它们在焦平面上的衍射光强计算公式,最后利用科学计算软件MA TLAB对光的衍射现象进行了仿真,所得到的图样细致逼真,使整个物理过程变得直观形象,且与实验所得到的衍射图样进行了比较,两者吻合得很好,从而为光学的理论分析和实验教学提供了一种新的途径。
关键词:光的衍射,光栅衍射,圆孔衍射,Matlab,计算机仿真0 引言光的衍射现象是光具有波动性的重要特征,因此对衍射现象的研究无论在理论上还是在实践中都有很重要的意义。
对光的衍射现象的研究,始于17世纪,当时著名的荷兰科学家惠更斯提出了光是一种波的假说,并根据波动理论提出了光的传播理论——即惠更斯原理[1],根据这一原理,他解释了光的反射定律和折射定律,给出了折射率的意义,光在两种介质中的速度比。
到了19世纪,法国年轻的科学家菲涅耳,根据叠加原理把惠更斯原理进一步具体化,给出了光在传播过程中光强学计算公式,这就是著名的惠更斯-菲涅耳原理[2]。
但由于在实际应用过程中,障碍物形状的不规则性,导致光强的计算公式几乎无解析解,只能进行一些数值计算。
针对衍射计算中出现的困难,近代的研究人员想到运用科学的计算软件MA TLAB,利用其较强的绘图和图象功能,编写计算程序,使得多种衍射元件(单缝,双缝,光栅,矩孔,圆孔)下的衍射现象得以在计算机中形象地被模拟仿真。
《2024年基于Matlab的光学实验仿真》范文

《基于Matlab的光学实验仿真》篇一一、引言光学实验是物理学、光学工程和光学科学等领域中重要的研究手段。
然而,由于实验条件的限制和复杂性,实验过程往往需要耗费大量的时间和资源。
因此,基于Matlab的光学实验仿真成为了一种有效的替代方法。
通过仿真,我们可以在计算机上模拟真实的光学实验过程,获得与实际实验相似的结果,从而节省实验成本和时间。
本文将介绍基于Matlab的光学实验仿真的基本原理、方法、应用和优缺点。
二、Matlab在光学实验仿真中的应用Matlab是一种强大的数学计算软件,具有丰富的函数库和强大的计算能力,可以用于光学实验的仿真。
在光学实验仿真中,Matlab可以模拟各种光学元件、光学系统和光学现象,如透镜、反射镜、干涉仪、光谱仪等。
此外,Matlab还可以通过编程实现复杂的算法和模型,如光线追踪、光场计算、光波传播等。
三、基于Matlab的光学实验仿真方法基于Matlab的光学实验仿真方法主要包括以下几个步骤:1. 建立仿真模型:根据实验要求,建立相应的光学系统模型和算法模型。
2. 设置仿真参数:根据实际需求,设置仿真参数,如光源类型、光束尺寸、光路走向等。
3. 编写仿真程序:使用Matlab编写仿真程序,实现光路计算、光场分析和结果输出等功能。
4. 运行仿真程序:运行仿真程序,获取仿真结果。
5. 分析结果:对仿真结果进行分析和讨论,得出结论。
四、应用实例以透镜成像为例,介绍基于Matlab的光学实验仿真的应用。
首先,建立透镜成像的仿真模型,包括光源、透镜和屏幕等元件。
然后,设置仿真参数,如光源类型、透镜焦距、屏幕位置等。
接着,使用Matlab编写仿真程序,实现光线追踪和光场计算等功能。
最后,运行仿真程序并分析结果。
通过仿真结果,我们可以观察到透镜对光线的聚焦作用和成像效果,从而验证透镜成像的原理和规律。
五、优缺点分析基于Matlab的光学实验仿真具有以下优点:1. 节省时间和成本:通过仿真可以快速获得实验结果,避免实际实验中的复杂性和不确定性。
《2024年基于Matlab的光学实验仿真》范文

《基于Matlab的光学实验仿真》篇一一、引言光学实验是物理学中重要的实验之一,通过实验可以探究光的基本性质、光的传播规律以及光与物质的相互作用等。
然而,在实际的实验过程中,由于各种因素的影响,如设备精度、环境条件等,实验结果可能存在一定的误差。
为了更好地研究光学现象,提高实验的准确性和可靠性,基于Matlab的光学实验仿真被广泛应用于科研和教学中。
本文将介绍基于Matlab的光学实验仿真的相关内容。
二、Matlab在光学实验仿真中的应用Matlab是一款强大的数学软件,具有丰富的函数库和强大的计算能力,可以用于光学实验的建模、分析和仿真。
在光学实验中,Matlab可以模拟光的传播、光的干涉、衍射等现象,从而帮助研究人员更好地理解光学现象。
此外,Matlab还可以对实验数据进行处理和分析,提高实验的准确性和可靠性。
三、基于Matlab的光学实验仿真流程基于Matlab的光学实验仿真流程主要包括以下几个步骤:1. 建立光学模型:根据实验需求,建立光学模型,包括光源、光路、光学元件等。
2. 设置仿真参数:根据实验要求,设置仿真参数,如光的波长、光路长度、光学元件的参数等。
3. 运行仿真程序:运行仿真程序,模拟光的传播和光学现象。
4. 处理和分析数据:对仿真结果进行处理和分析,提取有用的信息,如光强分布、光斑形状等。
5. 绘制图表:根据需要,绘制相应的图表,如光强分布图、光路图等。
四、具体实验案例:双缝干涉实验仿真双缝干涉实验是光学中经典的实验之一,通过该实验可以探究光的波动性质。
下面将介绍基于Matlab的双缝干涉实验仿真。
1. 建立光学模型:在Matlab中建立双缝干涉实验的模型,包括光源、双缝、屏幕等。
2. 设置仿真参数:设置光的波长、双缝的宽度和间距、屏幕的距离等参数。
3. 运行仿真程序:运行仿真程序,模拟光的传播和双缝干涉现象。
4. 处理和分析数据:对仿真结果进行处理和分析,提取干涉条纹的光强分布和形状等信息。
《2024年基于Matlab的光学实验仿真》范文

《基于Matlab的光学实验仿真》篇一一、引言光学实验是研究光学现象和规律的重要手段,但在实际操作中往往受到诸多因素的限制,如实验设备的精度、实验环境的稳定性等。
因此,通过计算机仿真进行光学实验具有很大的实际意义。
本文将介绍一种基于Matlab的光学实验仿真方法,以期为光学研究提供一定的参考。
二、仿真原理及模型建立1. 仿真原理基于Matlab的光学实验仿真主要利用了光学的基本原理和数学模型。
通过建立光学系统的数学模型,模拟光在介质中的传播、反射、折射等过程,从而实现对光学实验的仿真。
2. 模型建立在建立光学实验仿真模型时,需要根据具体的实验内容和目的,选择合适的数学模型。
例如,对于透镜成像实验,可以建立光学系统的几何模型和物理模型,通过计算光线的传播路径和透镜的焦距等参数,模拟透镜成像的过程。
三、Matlab仿真实现1. 环境准备在Matlab中,需要安装相应的光学仿真工具箱,如Optic Toolbox等。
此外,还需要准备相关的仿真参数和初始数据。
2. 仿真代码实现根据建立的数学模型,编写Matlab仿真代码。
在代码中,需要定义光学系统的各个组成部分(如光源、透镜、光屏等),并设置相应的参数(如光源的发光强度、透镜的焦距等)。
然后,通过计算光线的传播路径和光强分布等参数,模拟光学实验的过程。
3. 结果分析仿真完成后,可以通过Matlab的图形处理功能,将仿真结果以图像或图表的形式展示出来。
通过对仿真结果的分析,可以得出实验结论和规律。
四、实验案例分析以透镜成像实验为例,介绍基于Matlab的光学实验仿真方法。
首先,建立透镜成像的数学模型,包括光线的传播路径和透镜的焦距等参数。
然后,编写Matlab仿真代码,模拟透镜成像的过程。
最后,通过分析仿真结果,得出透镜成像的规律和特点。
五、结论与展望基于Matlab的光学实验仿真方法具有操作简便、精度高等优点,可以有效地弥补实际实验中的不足。
通过仿真实验,可以更加深入地了解光学现象和规律,为光学研究提供一定的参考。
基于LabVIEW的多光学现象动态仿真

基于LabVIEW的多光学现象动态仿真作者:陈彪吴春法来源:《电脑知识与技术》2017年第29期摘要:利用软件动态仿真光学现象,可使复杂的实验直观、形象,而且软件的使用不受环境的影响和实验仪器的限制,可应用于理论教学或者实验教学过程,使学生对光学理论的更加容易理解。
因此,文章基于LabVIEW软件动态仿真了杨氏双缝干涉和夫琅禾费矩孔衍射两个实验。
关键词:LabVIEW;动态仿真;光学现象中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)29-0265-02Abstract: By using software dynamic simulation of optical phenomenon, making the complex experiment vivid, the simulation of experiment by using software, which is not subject to environmental constrains, can be used for theoretical teaching and experimental teaching,facilitating student's understanding of the optical theory. Therefore, in this paper dynamic simulation of the experiment of Yang's double slit interference and Fraunhofer aperture diffraction Based on LabVIEW software.Key words: LabVIEW; dynamic simulation; optical phenomenon1 概述随着计算机技术的不断发展,出现了许多应用于光学仿真的软件,例如:Zemax、Matlab、Tracepro等软件[1]。
基于matlab gui设计的光学实验仿真

2007级计算机课程设计测控与光电技术学院电子科学与技术专业课程设计题目圆孔衍射现象计算机仿真设计学生姓名吴海班级070832指导教师钟可君日期2010 年6 月28 日南昌航空大学测试与光电工程学院计算机课程设计任务书电子科学与技术系070832 班学生:吴海课题名称:圆孔衍射现象计算机仿真设计课题内容:1、课题设计要求:(1)分析圆孔衍射的物理过程,建立数学模型;(2)设计算法流程图;(3)编写程序,并对仿真结果进行分析。
2、工作进度安排:查阅资料,设计算法流程图6月28日~7月4日第18周编写程序,撰写报告7月5日~7月9日第19周主要参考资料:[1]. 姚启钧.光学教程[M]. 北京:高等教育出版社[2]. 宋清,熊万杰.光学现象的计算机仿真[J].中山大学学报论丛,2005,25(3):24-29.[3].圆孔衍射与像分辨本领的MATLABF仿真分析[J].湖北工学院学报,2004,19(5):47-49.[4].MATLAB GUI在光学仿真中的应用[J].通化师范学院学报,2010,31(2):52-54.系负责人:指导教师:钟可君时间:2010年6月21日单孔衍射上机试验上机试验程序(1)%圆孔衍射clcclearlam=500e-9a=1e-3f=1m=300;ym=4000*lam*f;ys=linspace(-ym,ym,m);xs=ys;n=200;for i=1:mr=xs(i)^2+ys.^2;sinth=sqrt(r./(r+f^2));x=2*pi*a*sinth./lamhh=(2*BESSELJ(1,x)).^2./x.^2;b(:,i)=(hh)'.*5000;endsubplot(1,2,1)image(xs,ys,b)colormap(gray(n))subplot(1,2,2)b(:,m/2)plot(ys,b(:,m/2))程序运行后的结果单孔衍射图光强分布图[摘要]运用MATLAB6的软件平台,编制演示程序,对圆孔衍射像分辨本领进行仿真分析.[关键词]圆孔衍射;分辨本领; Airy斑;仿真分析意义:圆孔作为光学仪器基本形状,其衍射现象在光学研究中占有重要地位.光学衍射现象的实验演示需要特定的实验仪器和实验所,给研究工作带来许多不便.另外,清晰的圆孔衍射图样,要求的圆孔半径很小,在一般实验中难以实现.基于MATLAB6软件强大的计算能力和可视化功能上的优势,利用计算机对圆孔衍射过程进行仿分析,可以使衍射现象直观地表现出来;通过调整实验参数,可以同步生成不同实验条件下的衍射图样,便于对衍射现象和像分辨本领进行比较分析;利用色图表现光强分布,使实验效果更为逼真,在实和研究中具有重要意义.1圆孔衍射的实验装置与数学模型的、建立圆孔夫琅禾费衍射装置如图1所示,S为点光源,位于透镜L1的焦平面的主光轴上,光屏E置于焦距为D的透镜L2的焦平面上.圆孔P的半径为R.入射光波长为λ.射圆孔时,沿衍射角θ方向传播的次波在光屏Q(x,y)处的光强分布为[1]Iθ= I0(J1(2m)m)2.其中:m=πRλsinθ,sinθ=x2+y2x2+y2+D2;I0为分常数.2主程序编写与衍射图样的生成运用MATLAB编制运算程序circle_aperturebase01.m,程序运行后,在坐标区可以生成圆孔琅禾费衍射图样.为了满足程序的普遍性和通用性,主程序中共设置5个输入参数,分别为λ,D,R,θ0(入射光垂直入射为θ0=0),最大坐标范围xmax.长度以毫米为单位.主程序circle_aperture_base01.m如下:function circle_aperture_base01(lambda,D,R,theta0,xmax) %对参量赋值lambda=6.328*1e-4;D=64;R=0.02;xmax=pi;theta0=0%设定图像的范围,并把x分成401个点(根据程序需要,设为奇数点).x=linspace(-xmax,xmax,401);[x,y]=meshgrid(x); %%建立x,y网格%建立强度分布矩阵x0=D*tan(theta0);sin_theta=sqrt(((x-x0).^2+y.^2)./((x-x0).^2+y.^2+D^2)); %%sin(theta)z=R*sin_theta/lambda; %%z=Rsin(theta)/lambdam=pi*z;I=(bessel(1,2*m)./m).^2;%生成强度分布图%绘制相对光强与x坐标的关系曲线(沿y=0方向) subplot('position',[0.15 0.6 0.7 0.35]),plot(x(1,:),I((end+1)/ 2,:))%绘制相对光强与坐标(R*sin(theta)/lambda)的关系曲线(沿y=0方向)subplot(2,2,3),plot(z((end+1)/2,:),I((end+1)/2,:));%绘制强度分布的灰度图NCLevers=255; %%确定用的灰度等级为255Imax=max(max(I));Ir=I/Imax*NCLevers;colormap(gray(NCLevers)); %%用灰度级颜色绘图subplot(2,2,4),image(x(1,:),y(:,1),Ir) %%绘制强度的灰度图axis squareaxis([-2 2 -2 2]);colorbar('vert')程序运行后,在坐标区,生成强度分布曲线和色图(如图2,图中的极值判断和文字标示命令在程序中未列出).图中,上图表示强度沿x坐标(y =0)分布,下图左侧表示强度随无量纲因子Rsinθ/λ的变化规律,右侧则表示光强在xoy平面的变化规律,中央的白色亮区为Airy斑.在光强曲线图中,用红点和绿点表示极大值点和极小值点,对应坐标也在图2(c)中央明区中给出.3衍射图样分析3.1Airy斑与极小值由图2可知,当Rsinθ/λ≈0.61时,出现第一级极小值.定义在光屏上由两个第一级极小值之间所围圆形区间为Airy斑.Airy斑的中心位于坐标原点,其角半径为0.61λ/R,如图所示.3.2第一级次极大由图2可知,当Rsinθ/λ≈0.82时,出现第一级次极大值,其相对光强为1.7%.其余次极大的光强将更小.3.3参数对衍射图样的影响进一步调整参数R、D及λ,其Airy斑及各级衍射环的相对位置发生变化.如图3所示,Airy斑的角半径与R成反比,与λ成正比,其线半径与D成正比.5结论从上面的一系列讨论可以发现,通过计算机编程,对圆孔夫琅禾费衍射进行仿真分析,无需复杂的实验仪器和苛刻的实验环境,可在短时间内完成多种实验条件衍射图样的演示.运用MATLAB强大的数值计算功能和优越的可视化特征,可以同步求出衍射图样的一些重要物理量的数值,满足仿真实验的需要,为教学和研究工作提供了强有力的演示工具.利用计算机编程,仿真演示复杂的物理现象, 作为计算物理学的一个发展方向,具有广阔的发展前景.[参考文献][1]姚启钧.光学教程[M].北京:高等教育出版社, 2002.[2]赵凯华,钟锡华.光学(上册)[M].北京:北京大学出版社, 1984.摘要:采用matlab7.0强大的函数作图功能对圆孔、矩孔和双矩孔的夫琅和费衍射进行模拟,建立直观形象并且精确完整的理论模型,并附上程序代码,将干涉理论联系起来,分析衍射和干涉的本质。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图6
单色光牛顿环
图7
迈克尔逊干涉仪
Optical Experiments Simulations and Visualizations Based on MATLAB Visual Control Interface
XU Chunfang, WANG Haoran, WANG Jiangang, DING Yimin
(1)
由贝塞尔函数可得:
~
E = 2J1 ( kaθ ) kaθ
2 πC '
( kθ ) 2
[ kr1 θJ1 ( kr θ ) ] 1
r1 = a r1 = 0
= πa2 C ' (2)
4
仿真模拟结果
通过编写程序代码, 可以实现对各种光学现
因此, 光强为: I =
( πa2 ) 2
2
象在同一界面上的可视化和可调性 。如下图 2 所 C'
0315 收稿日期: 2016《大学物理实验精品资源共享课》 基金项目: 理论物理国家重点实验室开放课题( Y3KF321CJ1 ) ;湖北大学 建设项目( C201407 )
基于 MATLAB 的多光学现象仿真可视化设计
87
val1 = num2str( get( handles. slider1 , 'value') ) ; set( handles. edit1 , 'string', val1 ) ; 上述代码是单色光波长所对应的 slider 的回 调函数。此回调函数用来获取 slider 的当前值。
还可以通过对界面上各参数的调节来实现同 一实验现象不同条件下的比较: 图 3, 图 4 是当光的波长保持为 737. 4 nm, 二 分之一屏幕宽度为 0. 779 22 mm 不变, 只改变缝 宽时夫琅禾费单缝衍射的比较:
图3
缝宽为 0. 031 1 mm
88
基于 MATLAB 的多光学现象仿真可视化设计
逊干涉仪等光学实验进行可视化模拟 。 39 中图分类号: O 4-
光现象是我们生活中的基本现象, 也是大学 物理的基本内容之一, 然而, 受实验条件的限制, 光现象的相关实验往往难以在课堂上演示 。 为 此, 近年许多教师对光学实验的 Matlab 仿真进行 了研究。 余 建 立 等 对 光 的 干 涉 现 象 进 行 了 研 [1 ] 究 ;夏漫等对光的夫琅禾费单缝衍射光强曲线
本文将界面分为三个部分:显示区, 控制区和 。 提示区 实验的可视化在显示区中呈现。而通过 屏到 控制区来调整各光学参数。 例如光栅常数, 缝的距离, 光的波长等参数可以在这个区域中进 行调整。 还可以在这个区域中选择要模拟的实 验。本界面包含了单色光 / 白光的杨氏双缝干涉、 牛顿环、 夫琅禾费单缝和圆孔衍射、 迈克尔逊干涉 仪多类实验的模拟。提示区用来提示实验操作中 的注意事项以及可能存在的问题 。 1. 2 设置组件属性 我们需要对各组件属性 在基本布局完成后, 进行设计。在设置完组件基础属性后, 还必须对 各个组件的 callback 函数进行编写。 具体方法是, 在组件对象上右击鼠标, 选择 view Callback / Callback, 在该 Callback 回调函数中 编写代码: Function slider1 _ Callback ( hObject, eventdata, handles)
( 湖北大学, 湖北 武汉 430062 )
摘 关 键
要: 利用 MATLAB 自带 GUI, 对光学单色光杨氏双缝干涉 、 牛顿环、 夫琅禾费衍射以及迈克尔 词: 光学实验;MATLAB;GUI;可视化 文献标志码: A DOI: 10. 14139 / j. cnki. cn22 - 1228. 2016. 004. 027
2
θ [ 2J kaka ] θ
1
(
)
2
示为单色光夫琅禾费圆孔衍射图样 。 = I0 (3)
Hale Waihona Puke [2 J1 ( Z ) Z
]
爱里斑的半径为: r0 = 1 . 22 f λ 2a (4)
在了解清楚光学原理后进行编程 。
3
光学实验的仿真设计
图2 夫琅禾费圆孔衍射图样
程序的编写必须是在对应的代码下进行 。本 文中名称为 popupmenu2 的组件对应着白光夫琅 禾费圆孔衍射的函数回调与执行, 因此我们必须 在它的 Callback 函数语句下编写白光夫琅禾费圆 孔衍射的回调函数。 具体程序如下: Function popupmenu2 _ Callback ( hObject, eventdata, handles) val = get( hObject, 'Value') ; str = get( hObject, 'String') ; wlr = 700e - 6 ; wlg = 546. 1e - 6 ;
( Hubei University, Hubei Wuhan 430062 )
Abstract: Taking advantage of MATLAB's own componentGUI, implement the simulations and visualizations of the optical experiments, such as Monochromatic light, young's doubleslit, Newton's rings, Fraunhofer diffraction and Michelson interference. Key words: optical experiments;MATLAB ;GUI;visualizations
5
结
语
图4
缝宽为 0. 0103 9 mm
综上所述, 在物理实验中我们觉得高不可攀 , 可望而不可及的一些抽象现象, 都可以通过 matlab 自带的 GUI 组件来实现。 而这种实现抽象现 象可视化的方法, 相比于用全编程的方法实现可 视化来说难度大大降低。 并且, 在此界面下我们 还实现了对各参数的可调性, 这也有利于我们对 同一物理现象的深刻认识和对不同物理现象的比 较。因此这种简明直观的动态展示方法, 为光学 的理论和实践教学提供了方便, 也为我们的物理 课程教学提供了很好的方法。 参考文献:
[ 1] 余建立, 等. 基于 GUI 的 光 的 干 涉 实 验 模 拟 研 究 [ J] . 宜春学院学报:3740. [ 2] 夏漫, 等. 基于 Matlab 的光的单缝衍射实验模拟研 J] . 大学物理实验, 2015 ( 4 ) :9092. 究[ [ 3] 邓磊, J] 等. 多缝的夫琅禾费衍射仿真[ 湖南文理学 2014 ( 4 ) : 5964. 院学报, [ 4] 钟可君, 张海林. 基于 MatlabGUI 设计的光学实验仿 J] . 实验室研究与探索, 2010 ( 10 ) :5253. 真[ [ 5] 刘正君. Matlab 科学计算与可视化仿真[ M] . 北京: 2009 :165. 电子工业出版社, [ 6] 罗华飞. Matlab 设计学习手册[ M] . 北京:北京航空 2009 :345423. 航天大学出版社, [ 7] 章志鸣, M] . 北京:高等教育 沈元华, 陈惠芬. 光学[ 164. 出版社, 第二版:132[ 8] 周忆, .大 等. 用 MATZAB 语言模拟光衍射实验[J] 2001 ( 4 ) : 4748. 学物理实验,
[2 ] 和条纹分布进行了模拟研究 ; 邓磊对光的多缝 [3 ] 衍射进行了仿真 ; 而钟可君则用 Matlab 的 GUI
实现光的衍射的可视化 。 本文根据各种光学 现象的基本特征, 利用 MATLAB 的 GUIDE 功能, 结合编程实现多光学实验现象在同一平台的可视 化和可调化。
[4 ]
图1
GUI 布局图
从图像上我们可以直观的看出, 当缝宽变小 以后, 衍射现象变得更明显, 这是与事实相符的。 同样的方法可以得到其它光学现象的仿真 图。只需要在界面选择区域选择我们要做的模拟 实验以及改变光学参数就可以得到不同的光学图 图 5 ~ 图 7 为调整参数后不同光学实验的模 像, 拟图样
[8 ]
。
图5
杨氏双缝干涉图样
2
光学实验原理
光学实验原理是编程的基础。可视化程序的
编写是基于对光学现象原理的熟练掌握基础进行 的。由于篇幅的限制, 以夫琅禾费圆孔衍射 验为例: 夫琅禾费圆孔衍射中间亮纹亮度最大, 称为爱 里斑, 直径为 d, 观察平面上任意一点的复振幅为:
~ [7 ]
实
E = C″
∫∫
0
a
2π
0
e[-kr1θcos( 1 - 2) ]r1 dr1 d1
第 29 卷 第 4 期 2016 年 8 月
大
学
物
理
实
验
PHYSICAL EXPERIMENT OF COLLEGE
Vol. 29 No. 4 Aug. 2016
2934 ( 2016 ) 04008603 文章编号: 1007-
基于 MATLAB 的多光学现象仿真可视化设计
徐春芳, 王浩然, 王建岗, 丁益民
1
光学仿真平台的 GUI 界面设计
MATLAB 中 Guide 是图形用户接口开发环境
的简称, 它 提 供 了 一 系 列 工 具 用 于 建 立 GUI 对 [6 ] GUIDE 象 。相对于全编程的方法实现可视化, 所提供的工具大大简化了设计和建立 GUI 的过 程。在建立 GUI 后, 可以对 GUI 图形界面布局和 编程, 通过 GUI 图 形 界 面 来 控 制 实 验 现 象 的 可 视化。 1. 1 GUI 布局 在建立一个新的 GUI 后, 要对 GUI 布局。 依 据需要在 GUI 布局区添加适当的组件。 在添加 控件以前我们要对所需要改变的参量要有具体的 了解, 这样有利于我们对 GUI 做合理的布局。 下 图是 GUI 布局图。