用MATLAB解决杨氏干涉实验
《MATLAB 语言》课程论文
用MATLAB 解决杨氏干涉实验
姓名:马丽
学号:[1**********]
专业:通信工程
班级:2010级通信班
指导老师:汤全武
学 院:物理电气信息学院
完成日期:2011.12.13
用MATLAB 解决杨氏干涉实验
(马丽 [1**********] 10级通信班)
[摘要]根据杨氏双缝干涉的理论, 利用MATLAB 语言编写程序对该实验进行计算机仿真, 该仿真程序能够绘制单色光和非单色光的杨氏双缝干涉图样和光强分布曲线, 并且同步计算出相应的条纹间距和对比度; 此外, 设计了仿真实验的图形用户界面, 用户可以根据显示的杨氏双缝干涉模型更改实验参数, 直观地分析各参数的变化对于干涉结果的影响, 为光学的理论分析与实验教学提供了方便, 为相关课件的设计提供了新的途径。
[关键词]MATLAB 语言 杨氏干涉实验 光的理论分析 仿真实验
一、题的提出
杨氏双缝干涉实验是利用分波前法获得相干光束的典型例子。如图1所示,单色光通过两个窄S1,S2射向屏幕,相当于位置不同的两个同频率同相位光源向屏幕照射的叠合,由于到达屏幕各点的距离不同引起相位差,叠合的结果是在有的点加强,在有的点抵消,造成干涉现象。那么如何根据干涉原理通过MATLAB 来实现干涉现象的计算机模拟呢?
图
1
二、问题分析
考虑两个相干光源到屏幕上任意点P 的距离差为
r
1(1)r
2 r =r 2-r 1 (3)
引起的相位差为
r (4) λϕ=2π
设两束相干光在屏幕上P 点产生的幅度相同,均为A 0,则夹角为ϕ的两个矢量A 0的合成矢量的幅度为
A =2A 0cos(ϕ/2) (5)
光强B 正比于振幅的平方,故P 点光强为
B =4B 0cos 2(ϕ/2) (6)
三、算法描述
第一步:设定试验参数(相干波波长,双缝间距a ,缝与屏的间距D )
第二步:设定光屏范围
第三步:把光屏的Y 方向分成若干(101个)点
第四步:利用for 循环分别计算各个分点(从1到101)到两光源的光程差,并计算该光程差所引起的相位差及两干涉光在该点叠加后的光强
第五步:画出各分点在光屏Y 方向上的光强分布图
第六步:画出光强变化曲线
四、程序代码
clear all %YSSFGSSY.m
lam=500e-9; %输入波长
a=2e-3;D=1;
ym=5*lam*D/a;xs=ym; %设定光屏的范围
n=101;ys=linspace(-ym,ym,n); %把光屏的Y 方向分成101点
for i=1:n
r1=sqrt((ys(i)-a/2).^2+D^2);
r2=sqrt((ys(i)+a/2).^2+D^2);
phi=2*pi*(r2-r1)/lam;
B(i,:)=4*cos(phi/2).^2;
end
N=255; %确定用的灰度等级为225
Br=(B/4.0)*N; %使最大光强对应于最大灰度级(白色)
subplot(1,2,2)
image(xs,ys,Br); %画干涉条纹
colormap(gray(N));
plot(B,ys) %画出光强变化曲线
MATLAB 提供了十分强大的图形处理功能,应用MATLAB 可以实现各种二维图形和三维图形的绘制及控制与表现.对于双缝干涉实验模拟的基本过程是首先设置波长、屏幕到双狭缝平面的距离、双缝的问隔d 、光屏的范围,再将仿真光屏的Y 方向分成n 个点,然后调用循环语句,根据光强公式,即公式(6)对各采样点的光强进行计算,调用image 0函数,绘制实验仿真图像,使用色谱函数colormap 着色,调用plot 0函数,绘制
光强分布曲线.这些函数都能根据数据自动选择精度、步长,进行颜色、光照及坐标轴等控制,代替用户完成大量底层工作,使用非常方便,根据上面的分析,编写程序文件如上,并运行程序程序得到
干涉条纹如图2所示,光强变化曲线如图三所示。
图2
图3
五、求解结果及说明:
上图2是光屏上的干涉条纹,图3是光屏上沿Y 轴方向光强的变化曲线。从图中不难看出,干涉条纹是以点O 所对应的水平线为对称轴,沿上下两侧交替,等距离排列,相邻亮条纹中心间隔为2.5⨯10-4m 。这与理论推导和实验结果基本一致。
下面从理论上加以推导,由(1)(2)得
r 22-r 12=(r 2+r 1)(r 2-r 1)=2dy
D y a
这样就得到点P 处于亮条纹中心的条件为 D λ y=2k , k=0,±1, ±2, ±3,--- a 2
D 1500⨯10-9=2.5⨯10-4m 因此,亮条纹是等间距的,相邻条纹间距为λ=0.002a
图2中是光屏上的干涉图条纹,图3是光屏上沿Y 轴方向光强的变化曲线.从图2中也不难看出,干涉条纹是以点O 所对应的水平线为对称,沿上下两侧交替,等距离排列,从图3上可以看出相邻亮条纹中心间距为2.5xlO ~m .与上式计算结果相一致.如果改变波长、屏幕到双狭缝平面的距离、双缝的间隔、光屏的范围等参数,可以绘出其相应的干涉条纹,亦可以在一张图上绘出不同波长单色光的干涉条纹,可以清楚地看出,波长越长,干涉条纹的间隔越宽这一现象嘲.理论分析告诉我们,这与杨氏干涉条纹间隔与波长成正比是一致的,理论推导和实验结果相同.进一步考虑到纯粹的单色光不易获得,通常都有一定的光谱宽度,这种光的非单色性对光的干涉会产生何种效应,下面我们用MATLAB 计算并仿真这一问题.非单色光的波长不是常数,假定光源的光谱宽度为中心波长的1O %,并且在该区域均匀分布.近似取l9根谱线,相位差的计算表达式求出的将是不同谱线的l9个不同相位.计算光强时应把这19根谱线产生的 考虑到a,y 很小,(r 1+r 2)=2D,所以r 2-r 1=
六、结论
MATIAB 软件开发工具为抽象物理现象的计算机动态模拟提供了简单、高效的编程环境,光的干涉模拟效果与实验结果相一致.本文在分析光干涉与衍射现象数学模型的基础上,提出了一种运用MATLAB 模拟光的干涉现象的方法,该方法能够简便、直观地展现了光的干涉这一物理现象.进一步可以改变程序参数,将光的干涉、衍射等物理现象模拟出来从上面的实验讨论可以看出,根据杨氏双缝干涉理论,运用MATLAB 强大的计算和绘图功能进行实验仿真,不需要复杂的实验仪器和场所就能得到不同实验条件下的干涉图样和强度分布曲线,是操作实验的一个有力补充,这给科学研究和教学带了了便利。利用计算机对自然现象和规律的演示、模拟和仿真,是一项有意义、值得大力推广的工作。
七、心得体会
通过完成本课程论文使我不仅进一步熟悉了MATLAB 的基本操作和相关指令,还使我将学到的MATLAB 知识用到了所学的专业中,通过计算机来模拟实际存在的物理现象,使得必须通过相关实验仪器操作才能完成的物理实验在电脑上也能轻松完成,加深了我对物理理论和MATLAAB 的理解,激发了我学习物理和MATLAB 的强烈兴趣
并且通过一学期来对MATLAB 这门课程的学习,我受益匪浅。但是,我也发现了很多不足,例如:在对实际应用问题上我不会运用书上的理论知识。我也发现大部分同学和我存在同样的问题。原因何在?其主要原因是我们学习的方法存在问题,我们只学习单一的理论知识,而忽视了实际应用问题的处理。所以,我建议在以后的学习中应该在学习理论的同时,多注重实际应用,希望老师经常找一些有代表性的应用问题让我们动手做,引导我们把书上的知识运用到实际中
去。大学本来就是学技能的,光靠理论不行,所以无论是学什么,都要学会运用,多动手,这样才能成为真正的人才。
八、参考文献
[1] 刘卫国.MATLAB 程序设计与应用(第二版)[M].北京:高等教育出版社,2006.
[2] 马文蔚. 物理学(上册) (第四版)[M],北京:高等教育出版社,1999.
[3] 胡守信. 《基于MATLAB 的数学实验》. 科学出版社.
[4] 胡盘新,汤敏骏普通物理简明教程:下册 北京:高等教育出版社,2004:217—260.
[5] 任玉杰. 数值分析及其MATLAB 实现:MATLAB X,7 XM 北京:高等教育出版社,2004:39—44.