APP下载

光学实验数值仿真的三种方法及MATLAB实现

2015-07-02李玉波徐志宏

大学物理实验 2015年5期
关键词:蒙特卡洛圆孔表达式

李玉波,徐志宏

(国防科学技术大学,湖南长沙 410072)

光学实验数值仿真的三种方法及MATLAB实现

李玉波,徐志宏∗

(国防科学技术大学,湖南长沙 410072)

基于科学计算软件MATLAB的可视化功能,利用光强分布、光的量子性和波动性的物理原理,采用三种数值方法对几个重要的光学实验进行计算机仿真模拟,得到了与实验图像一致的计算结果。教学实践表明在实验课中加入MATLAB仿真图像和动画,将对光学实验教学起到一定的启发促进作用。

MATLAB;光学实验;蒙特卡洛;数值仿真;可视化

MATLAB(Matrix Laboratory——矩阵工作室)是美国MathWork公司出品的商业数学软件,其主要功能包括数值计算、符号计算、图形图像处理等。与其它一些仿真软件相比MATLAB简单易学,人机交互性强,具有强大的图形处理能力和可视化功能,可将抽象的数学表达式以易于理解的可视化形式展现。

光学实验是大学物理实验中非常重要的基础性实验之一,但其概念难懂,所使用的仪器也较昂贵。利用MATLAB软件对光学实验进行模拟仿真,不仅可以减少和避免贵重实验仪器的损伤,还可通过仿真实验过程将抽象难懂的光学概念和规律直观展现在学生面前,提升教与学的效果。此外,在数值仿真软件中,通过改变模拟参数,如波长,还可突破实验仪器对教学和实验内容的限制,对相关理论的概念和内涵进行扩展和延伸[1]。目前最常用的模拟方法是通过光强分布解析表达式仿真[1-2],但实验的参数调节较为麻烦,利用MATLAB制作的模拟系统GUI就能很好地解决实验参数实时调节的问题.此外还可利用蒙特卡洛方法[3-4]、基于惠更斯原理[1,5-7]等方法进行光学实验模拟。

下面以实验室中较难测量的光的衍射为例介绍几种光学实验数值模拟的方法,以及其在MATLAB中的实现。

1 夫琅禾费衍射光学原理

对于计算机模拟来说,不同衍射仅有光强分布的不同,其余模拟过程相同.这里只对部分夫琅禾费衍射做出讨论.以单缝衍射为例,如图1,设入射光与光轴平行,缝宽为a,可得光程差和相位差分别为

图1 夫琅禾费单缝衍射

根据衍射矢量图分析,设I0为中央亮斑中心处的光强,则单缝衍射的光强分布公式为

其中,u=δ/2=πa sinθ/λ,θ为衍射角.

同理可得到圆孔衍射的光强分布为

其中 J1(x)为一阶贝塞尔函数,x= 2πa sinθ/λ,a是圆孔的半径,θ是衍射角.

矩孔衍射的光强分布为

其中a、b为矩孔的长宽,f为衍射屏与接收屏之间的距离[5].上述(1)、(2)、(3)式为模拟的基础.

2 利用光强分布解析表达式

以圆孔衍射为例,利用解析表达式(1-2)直接计算出接收屏上的光强分布I.应用MATLAB的image()函数和plot()函数分别对光强变量I进行作图,可以得到用颜色区间和曲线描绘的光强分布.运行结果如下

图2 利用解析表达式直接绘制的圆孔衍射的光强分布

对于其它的光学实验,利用光强分布的解析表达式,也可进行相应的模拟。为了增强数值模拟的可交互性,使学生更好地了解参数对光学实验的影响,我们编制了光学实验模拟系统,将实验模拟的结果用GUI(图形用户界面)显示。为方便用户知道每个实验对应的参数并对其做出调整,程序中将所有实验参数都呈现在面板上,但同时设置针对某一实验,只有其用到的参数才显示活动滑动条和可编辑文本框。

图3 光学实验模拟系统

图3所示GUI是对包括白光在内的十个光学实验(单色光和白光的杨氏双缝干涉、迈克尔逊干涉、牛顿环、单缝衍射、圆孔衍射)的部分模拟结果。

3 蒙特卡洛方法模拟

以矩孔衍射为例,(1-3)式给出了接收屏上的光强分布,由光子的波粒二象性,可以将其光强分布理解为光子在接收屏上相应位置出现的相对概率。得到概率分布后,用舍取法进行抽样[3]。

抽样过程:

(1)由乘同余法产生一组在接收屏范围内均匀分布的随机点的坐标(x,y),将坐标代入光强分布表达式(1-3)中,计算出此处光子出现的几率。

(2)用同样的方法产生一个[0,1]之间均匀分布的随机数f。

(3)如果条件

I(x,y)⩾Im·f(Im:接收屏范围内光强的最大值) (3-1)

满足,则该组随机坐标(x,y)为按光强公式(1-3)分布的抽样值。若不满足,则舍去此组(x, y)。

(4)不断重复上述过程,直到产生的抽样数达到预先设定值为止。

可视化实现:每产生一组满足条件的坐标,就在计算机屏幕相应位置上绘制一个小黑点。当抽样值逐渐增加,绘制的黑点逐渐增多,可以直接显示正确的衍射图样.同理可对圆孔夫琅禾费衍射、单缝衍射等实验进行仿真.如图4所示,给出了有效抽样值总数为20 000(即衍射图样由20 000个小黑点组成)的模拟结果。

图4 蒙特卡洛方法模拟的衍射图样

4 基于惠更斯原理的模拟

以单缝衍射为例,如图1,由惠更斯原理可将单缝看成等间隔光源,设共有NP个光源分布在AB区间内,则接收屏上任一点p处的光强为NP个光源照射结果的合成[5]。设第i个光源离A点的距离是xpi,则其与A点光源的光程差为

令α=δ/2,取单缝上NP个光源的振幅都为1,在x,y轴上的分量各为cosα,sinα,合振幅的平方为

相对光强为

根据上述思想,可编写程序对此实验进行模拟,结果如下

图5 基于惠更斯原理模拟的单缝衍射

5 结 论

(1)数值模拟结果表明三种方法都能对光学实验现象进行正确地仿真,因此在课堂教学中适当应用这种仿真模拟,将光学实验中复杂的数学表达式以一种直观形象的方式展示出来,对教学效果的提高将有很大的帮助。

(2)三种模拟方法在教学实践中各有所长.利用光强分布解析表达式直接绘制光强的方法最简单直接,但其对光学现象的本质没有讨论,对学生理解实验原理帮助不大;蒙特卡洛方法利用光子的量子特性,采用随机方法模拟随机事件,把握了光子的物理本质,但相对其它两种方法程序运行比较耗时;基于惠更斯原理的数值模拟则以光的波动性作为出发点,程序实现简单,运行速度也很快。

(3)通过多种方法对同一物理现象的数值仿真,不仅有助于学生对抽象概念的掌握,激发并拓展学生的创新性思维,并且可以培养学生用计算机进行学习和研究问题的能力。

[1] 师青梅,常宇.MATLAB仿真技术在大学物理光学实验教学中的应用[J].中国电力教育,2012(15): 78-79.

[2] 彭芳麟.计算物理基础[M].北京:高等教育出版社,2010.

[3] 付文羽,彭世林,彭昌宁.夫琅禾费衍射的计算机模拟[J].许昌师专学报,2001,21(5):6-7.

[4] 徐钟济.蒙特卡罗方法[M].上海:上海科技出版社,1985.

[5] 钞曦旭,杨万民,唐纯青.MATLAB及其在大学物理课程中的应用[M].西安:陕西师范大学出版社,2006.

[6] 张志涌,杨祖樱.MATLAB教程[M].北京:北京航空航天出版社,2006.

[7] 徐斌,李光明.Poly Flow在聚合物熔体压力流动教学中的应用[J].大学物理实验,2014,3(1).

Three M ethods and MATLAB Realization of Numerical Simulation for Optical Experiments

LIYu-bo,XU Zhi-hong
(National University of Defense Technology,Hunan Changcha 410072)

Based on the visualization of scientific computing software MATLAB,the use of physical principles of light intensity distribution,quantum and volatility of light,using three numericalmethods in several important optical experiments by computer simulation,the calculation results has been consistent with the experimental image,the teaching practice shows that the addition MATLAB simulation images and animations in the experimental class,will play some inspired role for optical experiments teaching.

MATLAB;optical experiments;Monte Carlo;numerical simulation;visualization

O 4-39

A

10.14139/j.cnki.cn22-1228.2015.005.029

1007-2934(2015)05-0102-04

2015-05-05

∗通讯联系人

猜你喜欢

蒙特卡洛圆孔表达式
超声心动图在可降解房间隔封堵器治疗卵圆孔未闭术中的应用价值
一个混合核Hilbert型积分不等式及其算子范数表达式
征服蒙特卡洛赛道
表达式转换及求值探析
浅析C语言运算符及表达式的教学误区
基于蒙特卡洛法的车用蓄电池20h率实际容量测量不确定度评定
利用控制变量方法缩减蒙特卡洛方差
蒙特卡洛模拟法计算电动汽车充电负荷
基于光电检测和PLC控制的自动化圆孔倒角设备的设计与实现
议C语言中循环语句