1801年,英国的物理学家托马斯杨成功的观察到光的干涉现象,从而证明了光具有波动性。教学中若要在双缝干涉仪上成功的再现光的干涉现象,在实验前若未做充分有效的准备,如实验中单缝、双缝之间不对齐或平行;光没有聚焦到单缝;观察镜调整不到位等,这都将很难观察到干涉条纹进而影响了教学的效果。为解决这个问题本人采取计算机模拟光的干涉现象,而借助常用的PhotoShop或Flash等图像、动画创作工具一般难以奏效,因为各种条件下光的干涉条纹的疏密、粗细、明暗变化必须遵从光学原理,我们要的不是视觉的漂亮美观,而是科学的真实再现,以Matlab6.5为实验演示平台对光的干涉现象模拟且作为演示配合光的干涉的教学,很好地解决了真实实验因环境限制而不进入课堂的难题。
1 Matlab介绍
MATLAB语言是由墨西哥大学计算机系主任的Cleve Moler教授开发的一种专门作矩阵运算的数学软件,MATLAB是集数值分析、符号运算、图形处理、系统仿真等功能于一体的科学与工程计算软件平台,MATLAB的最大特点在于功能强大而且界面友好,其丰富的库函数和各种专用工具箱,将使用者从繁琐的底层编程中解放出来,使他们有更多地时间和精力去探究科学问题本身;它对科学计算结果迅捷而准确的可视化能力,有助于使用者化抽象思维为形象思维,从而更好地洞察含义、理解概念、发现规律。
2 双缝干涉的数学模型
双缝干涉现象中,双缝处的点光源由单缝处的点光源继承而来,故双缝干涉相当于处于双缝处的两个同振幅、同相位、同频率的点光源在屏上叠加。如图所示,两个相干光源S1、S2到屏上的距离分别为L1、L2。则
则相位差为
若两光的振幅为A0,则相位差为的两振动的合振动的幅度为,光强B正比于振幅的平方,故有。
3 光干涉现象的模拟
3.1 红光干涉现象模拟主要程序如下:
=6.8e-8;
d=2e-3;
L=1;
ymax=6e-5;
x=ymax/2;
n=101;
y=linspace(-ymax,ymax,n); %定义红光干涉的初值
for i=1:n
L1=sqrt((y(i)-d/2).^2+L.^2);
L2=sqrt((y(i)+d/2).^2+L.^2);
p=2*pi*(L2-L1)/L;
B(i,:)=4*cos(p/2).^2;
End %计算光程差和屏上各点光强
NC=3;
Br=(B/4.0)*NC;
image(x,y,Br);
cc=[0 0 0;1 0 0];
colormap(cc); %模拟光干涉条纹
plot(B(:),ys); %绘制屏上各点光强分布
3.2 模拟环境的图形界面(GUI)设计
光的干涉现象中的条纹间距与光的波长、双缝间距d、双缝与屏的间距L相关,为了更好的体现条纹间距的变化与L、d、关系,设计了模拟环境图形界面(GUI),在此界面上可通过滑动条改变双缝间距d、双缝与屏的间距L;通过单选框选择单色光,动态的体现不同的L、d、下条纹间距的变化和屏上各点的光强的分布规律。图形界面如下图所示。
界面设计时,建立两个坐标系axes1、axse2用来分别显示干涉条纹和屏上的光强分布,其中滑动条所对应的值通过d=get(handles.slider2,'value')语句获得,并将该值在界面上显示,语句如下set(handles.text2,'string',[sprintf('%1.4g\',d)]);
3.3 模拟结果
(1)当双缝间距、双缝与屏的间距相同时,采用蓝光和红光模拟得到图1和图2所示的干涉条纹,可见条纹间距与波长相关;
(2)同取红光,当双缝与屏的间距相同时得到图1和图3所示的干涉条纹,双缝间距越大,条纹间距越小,可见条纹间距与双缝间距相关;
(3)同取蓝光,当双缝间距相同时得到图2和图4所示的干涉条纹,双缝与屏的间距越大,条纹间距越大,可见条纹间距与双缝与屏的间距相关。
L=0.3m,d=0.6mm L=0.3m,d=0.6mm L=0.3m d=0.9mm L=0.5m d=0.6mm
(1) (2) (3) (4)
将Matlab软件和光学教学有机地结合起来,能帮助学生建立直观的物理图像,更好地理解波动性特征,加深学生对光学现象的认识,激发学生的学习兴趣,培养学生独立思考的能力。特别是通过人机交互改变各参量值,便于学生理解条纹间距与L、d、间的关系。
参考文献:
[1]程守洙,江之永.普通物理学.高等教育出版社,2003
[2]王沫然.MATLAB与科学计算.电子工业出版社,2004
江苏海安曲塘中学 王勇 江苏南京师范大学物科院 周延怀 |