资源描述
基于MATLAB的杨氏双缝干涉实验模拟基于MATLAB的杨氏双缝干涉实验模拟摘要:根据光的双缝干涉实验理论,利用MATLAB编写程序对双缝干涉实验进行模拟,绘制出双缝干涉的图样和光强分布曲线,并且同步计算出相应的条纹间距和对比度,自观地展现了单色光的双缝干涉这一物理现象,实验结果与实际计算结果一致,为双缝干涉的理论与实验提供了有效的支持。关键词:MATLAB;双缝干涉;实验模拟0引言 MATLAB既是一种直观、高效的计算机语言,同时又是一个科学计算平台.它为数据分析和数据可视化、算法和应用程序开发提供了最核心的数学和高级图形工具.双缝干涉实验是利用分波振面法获得相干光束,得到干涉图样.而利用MATLAB模拟实验可以形象、直观地演示实验现象,探究光的干涉问题,而且不受实验仪器和实验场所的限制,可以通过改变模拟参数获得不同的仿真结果,并在显示屏上直接显示出来,动态直观地展现各种物理量之间的关系,对于理解光学理论具有积极的作用.1 双缝干涉实验的理论分析 杨氏双缝干涉实验是利用分波振面法获得相干光束的典型例了,如图1所示,在普通单色光光源后放一狭缝S,S后又放有与S平行且等距离的两平行狭缝S1,和S2.单色光通过两个狭缝S1,S2射向屏幕,相当于位置不同的两个同频率同相位光源向屏幕照射的叠合,由于到达屏幕各点的距离(光程)不同引起相位差,叠合的结果是在有的点加强,在有的点抵消,造成干涉现象。d为双缝的间隔,D为屏幕到双狭缝平面的距离,y为O到P的距离。考虑两个相干光源到屏幕上任意点P的距离差为(1)(2)(3)(4)引起的相位差为设两束相干光在屏幕上P点产生振幅相同,均为A0,则夹角为的两个矢量A0的合成矢量的幅度为(5)光强B正比于振幅的平方,故P点光强为(6)下面我们从理论上加以推导,由上面的式(12)可得(7)考虑到d,y很小,结合(7)式有(8)这样就得点P处于亮条纹中心的条件为(9)图1 双缝干涉示意图因此,亮条纹是等间距的.若采用红光,其波长=500 nm,屏幕到双狭缝平面的距离D=1 m,双缝的间隔d=2mm,则相邻条纹间距为(10)2 双缝干涉实验的计算机模拟 MATLAB提供了十分强大的图形处理功能,应用MATLAB可以实现各种二维图形和三维图形的绘制及控制与表现.对于双缝干涉实验模拟的基本过程是首先设置波长、屏幕到双狭缝平面的距离、双缝的间隔d,光屏的范围,再将仿真光屏的y方向分成n个点,然后调用循环语句,根据光强公式,即公式(6)对各采样点的光强进行计算,调用image函数,绘制实验仿真图像,使用色谱函数colormap着色,调用plot函数,绘制光强分布曲线。这些函数都能根据数据自动选择精度、步长,进行颜色、光照及坐标轴等控制,代替用户完成大量底层工作,使用非常方便,根据上面的分析,编写程序Program1。m文件如下,并运行程序程序得到干涉条纹如图2所示. 图2 单色光的干涉条纹与光强变化曲线图2中左图是光屏上的干涉图条纹,右图是光屏上沿y轴方向光强的变化曲线。从图2中也不难看出,干涉条纹是以点n所对应的水平线为对称,沿上下两侧交替,等距离排列,从图2上可以看出相邻亮条纹中心间距为2。5x104 m。与式(10)计算结果相一致。如果改变波长、屏幕到双狭缝平面的距离、双缝的问隔、光屏的范围等参数,可以绘出其相应的干涉条纹,亦可以在一张图上绘出不同波长单色光的干涉条纹,可以清楚地看出,波长越长,干涉条纹的问隔越宽这一现象。理论分析告诉我们,这与杨氏干涉条纹间隔与波长成正比是一致的,理论推导和实验结果相同.进一步考虑到纯粹的单色光不易获得,通常都有一定的光谱宽度,这种光的非单色性对光的干涉会产生何种效应,下面我们用MATLAB计算并仿真这一问题。非单色光的波长不是常数,假定光源的光谱宽度为中心波长的10%,并且在该区域均匀分布.近似取19根谱线,相位差的计算表达式求出的将是不同谱线的19个不同相位.计算光强时应把这19根谱线产生的光强叠加并取平均值,即(11)将程序Program1.m中的9,10两句按照公式(11)换成以下4句,由此构成的程序就可以仿真非单色光的干涉问题. 图3 非单色光的干涉条纹与光强变化曲线运行修改后的程序得到的干涉条纹如图3所示。从图3可以看出,光的非单色性导致干涉现象的减弱,光谱很宽的光将不能形成干涉.3 结语MATIAB软件开发工具为抽象物理现象的计算机动态模拟提供了简单、高效的编程环境,光的干涉模拟效果与实验结果相一致。本文在分析光干涉与衍射现象数学模型的基础上,提出了一种运用MATLAB模拟光的干涉现象的方法,该方法能够简便、直观地展现了光的干涉这一物理现象。进一步可以改变程序参数,将光的干涉、衍射等物理现象模拟出来.参考文献:1胡盘新,汤毓骏.普通物理简明教程:下册M。北京:高等教育出版2004:217260。2胡守信,李伯年。基于MATLAB的数学实验M。北京:科学出版社,2004:139144。3任玉杰.数值分析及其MATLAB实现:MATLAB6。X,7。X M。北京:高等教育出版社,2007:3944.4徐代升,陶家友,吴健辉,等.单色光杨氏十涉图样计算机写真J.湖南理工学院学报:自然科学版,2009,22(3) : 28-31。5符运良。MATLAB在光学教学中的应用J。华南热带农业大学学报,2004,10(3):55-57.附录程序一:clear all Program1。mlam=500e-9;输入波长a=2e3;D=1;ym=5*lamD/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((ys (i) +a/2) 2+D2);phi=2pi (r2-r1)/lam;B(i,:)=4*cos(phi/2)。2;endN=255 ;确定用的灰度等级为255级Br=(B/4.0) *N;使最大光强对应于最大灰度级(白色)subplot(1,2,1)image(xs, ys, Br);%画干涉条纹colormap(gray(N);subplot(1,2,2)plot(B, ys)%画出光强变化曲线程序二:clear all Program1。mlam=500e-9;输入波长a=2e-3;D=1;ym=5lam*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((ys (i) +a/2) 2+D2);N1=19;dL=linspace(0.1,0.1,N1);%设光谱相对宽度10,lam1=lam*(1+dL);%分19根谱线,波长为一个数组phil=2pi(r2-r1)。/lam1 ;%从距离差计算各波长的相位差B(i, :) =sum(4*cos(phil/2)。2)/N1;%叠加各波长并影响计算光强endN=255 ;%确定用的灰度等级为255级Br=(B/4。0) *N;使最大光强对应于最大灰度级(白色)subplot(1,2,1)image(xs, ys, Br);%画干涉条纹colormap(gray(N));subplot(1,2,2)plot(B, ys)画出光强变化曲线
展开阅读全文