APP下载

MATLAB在大学物理实验教学中的应用*

2012-09-02陈顺芳徐四六

湖北科技学院学报 2012年12期
关键词:双缝光栅条纹

陈顺芳,徐四六

(湖北科技学院 电子与信息工程学院,湖北 咸宁 437100)

1 MATLAB 的作用

MATLAB是MATrixLABoratory的缩写,是一款由美国MathWorks公司出品的商业数学软件[1].其是一种集算法开发、数据分析、数值计算、数据可视化的高级计算语言.MATLAB不仅具有绘制函数、矩阵运算、数据图像等常用功能,而且具有创建用户界面与方便地调用其它语言(包括C,C++和FORTRAN)编写的功能.

Matlab具有功能强大且界面友好的特点,使用者只需要使用Matlab的一些简单易懂的指令便可以迅速得到想要的结果;Matlab的帮助功能非常强大,各种命令有图文范例和详细讲解,使用者能够快速地查询各种指令的用法[2].同时,Matlab可以简便的创建图形界面,创建按钮和图形的连接,设置各种输入参数而改变数据,从而更好地观察图形,动画的变化规律.物理学是一门实验性科学,我们可以构建物理模型,利用Matlab的绘图、计算、动画、声音、等功能来模拟物理实验现象;教师可以通过Matlab演示物理实验过程,从而来更好地解释物理现象和物理规律;学生可以利用虚拟的实验平台探究各种情境实验.利用Matlab能 使复杂的物理实验可以在计算机中体现,学生不必进行具体的实验操作,可以将具体问题抽象化,加深学生对物理现象和规律的理解,提高实验教学的效率,并且能充分挖掘学生的想象力,培养学生的智力.

2 MATLAB 在物理实验教学中的应用

2.1 物理实验的动态仿真

2.1.1 双光束干涉

图(1)双缝干涉原理图(左)和双缝干涉图模拟图(右)

双光束干涉,按照分波面可以分为杨氏干涉、劳埃镜干涉、菲涅尔双棱镜和双面镜干涉等,按分振幅可分为麦克尔逊干涉等.图1(左)所示的是杨氏双缝干涉装置:

现在对双缝干涉条纹的位置做定量分析,假设S1与S2之间的距离为d,到屏幕的距离为r0,NP0是S1,S2的中垂线.在屏幕上任取一点P,设P点离P0的距离为x,P点到S1,S2距离分别为r1,r2,<PNP0=θ.在实验中,一般认为r0>>d,θ很小,所以从S1与S2两线缝发出的光到达P点的光程差为

当P点到双缝的波程差为波长的整数倍时,P点处将出现明条纹.其中k为干涉级,k=0的明条纹为零级明纹或中央明纹,k=1,2,…对应的明条纹分别成为第一级、第二级……明纹.若P点到双缝的光程差为半波长的奇数倍时,P点处出现暗条纹,k=1,2,… 称为第一级、第二级……暗纹.波程差为其他的各点,光强介于明暗之间.因此可以在屏幕上看到明暗相间的稳定的干涉条纹.由计算可得,明条纹中心在屏上的位置为:

暗条纹的中心位置为:

两个相邻的明纹或者暗纹之间的距离为(即条纹间距)均为:

菲涅尔双棱镜、菲涅尔双面镜和劳埃镜等的干涉花样分布,都与此类似.两相干光源到接收屏上P点距离r1=(D2+(y-a/2)2)1/2,r2=(D2+(y+a/2)2)1/2,相位差Φ=2π(r2-r1)/λ,光强I=4I0cos2(Φ/2).

编写程序如下:

clear lam=500e-9;a=2e-3;D=1;ym=5*lam*D/a;xs=ym;n=101;ys=linspace(-ym,ym,n);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,:)=sum(4*cos(phi/2).^2);end N=255;Br=(B/4.0)*N subplot(1,2,1);image(xs,ys,Br);colormap(gray(N));subplot(1,2,2);plot(B,ys)

通过编写Matlab程序,在计算机上运行得到双缝干涉图模拟图1(右).从图中我们可以看到双缝干涉实验中,干涉条纹的等距性,条纹的强度明暗相间的变化规律.图中显示的结果与实验结果一致表明,一方面验证了光的波动理论的正确性,另一方面也体现了计算机模拟的本质和特征.

2.1.2 平面光栅衍射

由大量的等间距、等宽度的平行狭缝组成的光学元件成为衍射光栅.用于在透射光衍射的叫投射光栅,用于反射光衍射的叫做反射光栅.常用的投射光栅是在一块玻璃片上刻画出许多等间距、等宽度的平行刻痕,刻痕出相当于毛玻璃而不易透光,刻痕之间的光滑部分可以透光,相当于一个单缝,缝的宽度a和刻痕的宽度b之和,即a+b之 和成为光栅常数.平行单色光垂直照射在光栅上交,由光栅出射的光线经过透镜L后,会聚与屏幕E上.

设光栅有N条狭缝,透镜焦距为f',理论分析可得到,夫琅禾费衍射的光屏上任意一点P的光强为

式中β=πdsinθ/λ,上式的前一部分与单缝衍射的强度相同,它来源于单缝衍射,是整个衍射图样的轮廓,称为单缝衍射因子.后一部分分数可以改写如下:因为dsinθ=δ为相邻两缝对应点到达观察点的光程差,这个光程差所引起的相位差为φ=2πdsinθ/λ=2β,光强分布公式的分数部分来源于缝间干涉,叫做缝间干涉因子,可写为

可见光栅衍射的光强是单缝衍射因子和缝间干涉因子的乘积,即单缝衍射因子对干涉主最大起调制作用.

对于一定的波长来说,根据dsinθ=jλ(j=0,±1,±2,…),可知各级谱线之间的距离有光栅常量d决定,各级谱线的强度分布将随着b与d的比值的变化而变化.由

不难决定各主最大值的振幅分布,把由光栅方程决定的sinθ的值代入上式,得到j级谱线的振幅为

关于上面论述的知识点,我们所学的教材只能给出了平面光栅衍射强度分布曲线,仅由光栅衍射此强度函数曲线图,读者还是会感觉到抽象,难以对此现象形成更为直接的直观印象,特别是平面光栅衍射中涉及的缺级现象更加难以理解,本文运用Matlab编写相应的程序,对此物理现象进行模拟.从图(2)我们可以看到:

(1)图样中出现一系列最大值和最小值,主最大两线较宽,次最大两线较弱.(2)主最大宽度随着N的增大而减小,其强度正比于N2,但位置与缝数N无关.(3)相邻主最大之间有N-1条暗纹和N-2个次最大.(4)强度分布中曲线的包迹与单缝衍射强度曲线一样.光栅衍射条纹,表面是单缝衍射和缝间干涉的共同结果.

图中显示的结果与实验结果基本一致,验证了光的波动理论的正确性.因此,通过MATLAB软件编程对衍射过程进行仿真,可以使光栅衍射现象和规律直观地表现出来.

2.2 物理实验数据的处理

大学物理实验的数据处理,常用一些粗略处理数据的方法:列表法,作图法,逐差法.在实验精度要求不高的普通物理实验中,我们经常要用到.而对于最小二乘法,若使用计算器的统计功能来计算,将会出现计算量大、按键错误、不方便核查校对,并且耗时费力的缺点,因此一般较小被采用[2].相对于前面几种数据处理方法,Matlab软件是集数值、符号运算及图形处理、程序语言设计等强大功能于一体的科学计算语言.用Matlab处理实验数据仅需编写几行简练程序,运行后就可得到所需的结果.应用它,一方面能较准确地标记实验数据点和绘出拟合曲线,另一方面可以克服了最小二乘法计算量大、繁琐、枯燥的数值计算[3],并且其运行结果可用复制、粘贴,可以在其它文字编辑软件运行,图形可用File菜单中“export”命令保存为常用类型的图形文件[4-6].

下面我们以复摆实验为例,介绍用Matlab实现最小二乘法处理实验数据的方法.

把一根钻有一系列小圆孔的扁平金属棒挂在一固定的三棱柱刀口上,做幅角θ<5o的摆动,这就是复摆.用米尺分别测出支点0到棒的端点的间距、棒的质心C,求出支点到摆的质心C的距离h,用周期测定仪测出复摆振动20次的全振动时间,求出复摆的振动周期T,实验数据列于表一,复摆的振动周期公式为

式中k为复摆对过质心且垂直于棒的轴的回转半径,g为重力加速度,我们选用的复摆实验数据如下表:

表一:复摆实验数据

为实现最小二乘法直线拟合实验数据,将曲线方程式改写

根据上述物理模型及数学模型,用Matlab语言编写程序,保存之后再运行之,分别得到下列结果:

(1)拟合直线的斜率:截距b=4.0337(1/m.s2),a=0.3501(m.s2)

(2)拟合直线的相关系数:r=1.00135.

(3)拟合直线的斜率,截距的标准偏差:Sb=0.0124(1/m.s2),Sa=0.00133(m.s2).

(4)重力加速度及其标准偏差:g=9.8345(m.*1/s2),Sg=0.03121(m.1/s2).

(5)回转半径:k=0.30123(m),Sk=0.73246(mm).

(6)y-x图上的拟合直线,如图11所示,图中的“*”表示实验数据点,实线表示拟合直线.

图(3)y -x 拟合直线图

用Matlab软件处理复摆实验数据,只需打开保存的编辑好了的文件,在该文件中把原来实验数据修改为新的实验数据,立刻可得到新的实验结果、实验图线和拟合曲线,作图清晰,准确性高,即输即得,一目了然.另外,只要对该文件稍作修改,即可成为用最小二乘法处理其它实验项目的实验数据的新M命令文件.

3结 语

文章通过双光束干涉实验、平面光栅衍射实验,以及复摆的振动实验来研究MATLAB在大学物理实验中的应用.研究表面,在物理实验教学中,应用MATLAB实验仿真系统,可以为学生提供一个良好的实验平台,其既能激发学生兴趣,开发学生的智能,提高实验课效果,同时让学生了解计算机模拟的本质.

[1]张志通.精通Matlab6[M].(5版)北京:北京航天大学出版社,2003.

[2]罗兴垅,罗颖.Matlab软件在物理实验数据处理中的应用[J].赣南师范学院学报,2004,(3).

[3]韩敬,钟方川,李林.Matlab在大学物理实验数据处理中的应用[J].大学物理实验,2008,21(1).

[4]张永锋,潘颖.MATLAB在物理实验数据处理中的应用[J].安徽技术师范学院学报,2003,17(3):259 ~261.

[5]徐四六,贺平.大学物理实验教学改革的探究与实践[J].咸宁学院学报,2007,27(3).

[6]陈顺芳,徐四六.光电信息实验,实践平台构建的探究[J].咸宁学院学报,2011,31(6).

猜你喜欢

双缝光栅条纹
双缝实验,薛定谔的猫,量子纠缠之思辨
谁是穷横条纹衣服的人
别急!丢了条纹的斑马(上)
别急!丢了条纹的斑马(下)
狭缝宽度对双缝后光场分布的影响
双缝干涉实验探讨光波的相干性
CDIO教学模式在超声光栅实验教学中的实践
基于LabView的光栅衍射虚拟实验研究
用Matlab比较双缝干涉和双缝衍射
条纹,条纹,发现啦