MATLAB编程实现杨氏双缝干涉实验的计算机动态模拟.pdf

上传人:qwe****56 文档编号:70019587 上传时间:2023-01-14 格式:PDF 页数:8 大小:1.69MB
返回 下载 相关 举报
MATLAB编程实现杨氏双缝干涉实验的计算机动态模拟.pdf_第1页
第1页 / 共8页
MATLAB编程实现杨氏双缝干涉实验的计算机动态模拟.pdf_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《MATLAB编程实现杨氏双缝干涉实验的计算机动态模拟.pdf》由会员分享,可在线阅读,更多相关《MATLAB编程实现杨氏双缝干涉实验的计算机动态模拟.pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第六居全已龙等昔教物理实脸教学研衬套论义集(上)编程实现杨氏双缝干涉实验的计算机动态模拟李喜贵,张阳(河南师范大学物理与信 息工程学院,河南 新 乡4 530 07)摘要:从光的电磁理论出发构建模型,运用MAT L A B软件的矩阵计算能力,动态模拟了杨氏双缝千涉实验的全过程,并生成了一个便于实验教学演示的GU I用户界面.关健词:杨氏双缝干涉;动态模拟;MA TL A;BGU I中图分类号:04 3.61文献标识码:A1引言杨氏双缝干涉实验最早以明确的形式确立了光波叠加原理,用光的波动性解释 了干涉现象,在物理学史上具有里程碑的重要地位川,同时也是大学物理中的基础实验。已有多人在杨氏双缝干涉

2、实验的计算机模拟方面做了研究2 3,但他们的工作大都基于已推导出的结论,然后再将结论用计算机图像表达出来,而没有反映出计算机模拟的本质。计算机模拟的本质在于,基于最基本的物理理论,利用计算机强大的运算能力展示(重现)那些推导复杂或者代价昂贵的微观过程,发现未知结果或者实验中难以观测的瞬间图像,为真实实验提供依据。通过MATLAB软件编程对衍射过程进行仿真,能巧妙地显示成像过程,可以使衍射现象直观地表现出来。通过调整实验参数,可以生成不同实验条件下的衍射图样,这样就可以对衍射现象进行分析比较。利用MAT L AB语言来开发光学信息处理实验仿真系统,既能激发学生兴趣,提高实验课效果,让学生了解计算

3、机模拟的本质;又能改变实验条件,快速实现物理教学研究中的新构想,培养学生的创新思维和探究意识,达到“让学生用实验的手段和方法研究物理规律”这个总体目标。本文利用MA TA LB语言,从光的电磁理论出发构建模型,模拟了杨氏双缝干涉实验的全过程。最后使用N叭T L LAB ZOOg a编写了GU I,可以直接辅助大学物理实验教学。2基本原理在进行计算机模拟之前,需要对整个模拟过程中所用到的基本原理进行说明。基本原理应尽量简单、基础,避免近似,并且在模拟过程中不能使用这些基本原理 以外的理论,以保证模拟的可信度。本实验采用了下述的基本原理。2.1光的电磁理论光 的电磁理论认为光是电磁波,且光波中振动

4、矢量通常指的是电场强度E,光照度正比于电场强度振幅A的平方。在波动光学中,常把振幅的平方表征的光照度称为光强度,即I二AZ,这里的I理解为相对强度。光的波动具有独立性和叠加性,通常情况下的波动方程是线性微分方程,简谐波的表达式就是它的一个解。在本实验中以最简单的简谐波为例,若光源位置为x(。,y。,z。),t时刻在空间内一点x(,y,)z的波函数可写为一332一第六居全已龙等李核物理实脸教学研衬套论式票(上):一,cos。,一二)十。)Lv/(2.1)式中E表示该点的振动状态,必为振动的圆频率,A为振幅,v为电磁波在该种介质中的传 播 速度,;一了(二一x。),+(夕一夕。),+(:一:。),

5、。在某一点不同振 动状态 的 波E 1,E:,E,E。,叠加的结果可以表示为E=E!+E:十E:+E。十。.22连续量的离散化在现实中,不管是波函数,还是研究对象的位置坐标,这些量都是连续的。但计算机只能处理离散的数据,所以在模拟前,必须先将模拟中用到的连续的物理量离散化。例如可以把一个连续的平面看作是紧密排列 的点,如图2.1所示。口口图2.1连续量的离散化示意图虽然将连续的量离散后再进行模拟,会造成一定的误差,但如果将离散量之间的距离取得足够小时,这种影响是可以忽略不计的。这样做的代价是计算量的加大,不过计算机的优点就是数据处理能力强,依靠计算机强大的运算能力能够很好地弥补这个不足。3模拟

6、干涉结果首先,将双缝形成的线光源离散化为两列点光源,记为511,s一 2,513,“,511521,522,523,”,521(3.1)其中点S的坐标表示为(x动,少。,0)(a=l,2;b=l,2,抖卜歹d的点,记为P(1,1)P(1,2)P(2,l)P(2,2)P(n,l)P(n,2),i)。然后,将挡光板离散化为紧密P(l,m)P(2,m)(3.2)P(n,m)其 中点尸的坐标表示为(x,y,c)。如图3.1所示。一333一第六居全已龙等学谈物理实脸教学研讨套论式集(上)图3.1离散点的示意图模拟中,将采用图3.所示的模型和坐标系,双缝位于xo y平面,挡板位于z二c(c为任意常数)平面

7、。杨氏双缝干涉实验的目的在于得到挡光板上每一点的光强度(相对强度)。根据光的波动理论,得到各点的光强需要首先计算其波函数,挡光板上任一点P的波函数是通过将每一个离散化后的点光源对该点的作用进行叠加而得到的,即E,二艺艺A砧c。s。,一、)、,)L、v/(3.3)口=lb二l其中e a r二寸x(b a一x。)+y(口。一y。)+。.然后,再计算一个周期内E;的最大值,即为p点的振幅,记为A,那么p点的光强度了二AZ_一P一P利用MATLA B语言实现如下:ele;elea r=al;介;l l=1;%光学参数x00=一l:0.1:l:yol=10:y 02二一10;20=0:%点光源位置x=-

8、l:0l:l:卜10:o02:10;=25:IX Y=me sh g rid(x,y);%挡光板区域o fri=1:le nh g t(x)o f rj=:1 le ng th(y)%挡板上每一个坐标点分开计算卜:0.0 1:2*P i;f/%一个周期vl姗o rs(l,Ie ng th()t):vZ=e zr os(1,leng th(t);%初始化o frx o=一l:0.0 5:mx a(x00)rl=(x(i)一x 0).八2+(yo)一y01).惶+(z一z 0)八2).A(l/2):2 r二(x(i)一0).性+y(O)一02).叹+(z一0)叹).A(l2/):vl=vl+a*s

9、in(t*f+rl*I):vZ刊2+a*sin(t*f+2 r*l):endvo,i)=mx a(vl+vZ):一334一第六居今已龙等学做物理实脸教学研衬套伦式集(上)l ledend.悦o o/;将振幅转化为光强mseh(Y,X,v):view(0,90):e olom rP ag ry a程序运行 的结果如图3.2所示。图.3 2模拟干涉结果示意图图中显示的结果与实验结果基本一致,在一定程度上反过来验证了光的波动理论的正确性,也体现了计算机模拟的本质。4模拟干涉过程利用计算机模拟的优点,除了能够得到干涉结果外,还能够展示出现实中不能观察到的干涉过程。把干涉的过程放慢,通过绘图,就可以将挡

10、光板上各点的波动过程显示出来。实现这一过程的代码如下(环境参数与上一过程相同,不再重复声明):o f:怜。:0.1:*2P i;f/%一个周期vl=0;vZ=0;o frx o=-l:0.05:mx a(x00)rl=(X一xo).八2+(Y一yol).AZ+(z一20)AZ).气l2/);2 r=(X一xo).佗+(Y一y 02).叹+(z一20)吃).八(l2/):vl=vl+a*sin(t*f+rl*l):vZ=v2+a*sin(t*f+2 r*l):end=vvl+v2;me sh(Y,X,v)Pause(0.0000 001)%暂停0.000000 1秒ho fdo n%保持每一张图

11、片e nd在模拟干涉结果的代码中,使用了三个循环,而在这段代码中,只使用了两个循环。这是因为在模拟过程时,将挡光板上所有的点看作是一个矩阵,这样的话,就可以少用两个循环;而在模拟结果时,因为要分别计算挡光板上每一个点的振幅,所以不能将其看作是矩阵,但可以将光源看作是矩阵,少使用一个循环。在其他语言中,如C、F OR TRAN,是不能直接进行矩阵的运算的,需要使用循环来实现这样的功能。当数据量比较大时,较多的循环就意味着较多的运行时间,从软件工程角度来看,MATLA B语言在这方面占有很大的优势。运行的结果如图4.1所示。一335一第六居奎已龙等学教物搜实脸教学研衬套伦文蔡(上)图4.1模拟干涉

12、过程示意图从图中可以看 出干涉结果的形成不是一瞬间完成的,而是时间积累的效果(至少一个周期),这与理论是相符合的。5用户界面为了在课堂教学中向学生演示计算机模拟的全过程,可以将上述的程序设计成图形用户界面(G UI)。MATLAB的Gux(o哪h iealuserxnte而e e)拥有减少用户的认知负担、用户界面友好性、图标识别平衡性、图标功能的一致性等优点,如果利用N护汀L AB的GUI功能实现交互,则既能保持MATL AB优异的数值处理能力,又能提供良好的人机对话窗口 l。利用MATA LB的GUI图像编辑器 设计模拟界面如图5.1,其中包含了模拟衍射结果和模拟衍射过程两个功能。一336一

13、第六居全已龙等学谈物理实脸敬学研讨令论次集(上)图5.1界面设计示意图在“结果”按钮的Cala l cBk函数中添加以下代码:%获取参数a=str Zdoubleg(et(ha ndlse.editl,影ring,):f=stZ rdoub le(get(hn ad le s.ed itZ,String,);l=st rZ double(get(hn ad les.edit3,St ring,):x00-l=strZdo uble(get(hn adle sed it6,String,):yol=stZ rdo uble(get(hn adles.edi4 t,Str ing,):y 02=s

14、Z t rdouble(get(hn adle s.edits,St ring,):-yl=strZdo ub le(get(hn adle s.ed it7,String,):-x l=stZ rdoub le(get(hn ad le s.edits,String,):z=stZ rdo uble(get(hn ad le s.ed itg,String,):x00=(一x00e sl/2):0.1:(xo几l2/);20=0:=x(一犯12/):0.卜(-x12/);=y(一y_1/2):.0 0:2(-yl2/);XY=me shgrid(x,y):%计算振幅o fri=l:le ng

15、 th(x)o frj=1:Ie ng thy()=t0:0.1:2*P订;fvl=z eo rs(l,le ng th()t):vZ=Z e ro s(l,leng th(t):o frx o=一l:0.05:mx a(x00)rl=(x(i)一xo).悦+y(O)一yol).AZ+(z一20)吃).A(l2/):rZ=(x(i)一xo).弋+(yo)一y02).八2+(z一z 0)八2).八(l2/):vl=vl+a*sin(t*f+rl*l):vZ=v2+a*sin(t*f+2 r*l):一3 37一第六居全国龙等学谈物理实脸教学研讨套论文集(上)nedvo,i卜mx a(vl+v2);

16、ende ndv=v.叹;%显示x e as(hn ad les.x aesl);mesh(Y,X,v):view(0,90):e olom rP agry a在“过程”按钮的Ca l lBa ck函数中添加代码的“获取参数”部分与“结果”按钮相同,不再重复,其余 的代码如下:o fr卜0:0.1:2*p淤vl=0;v 2=。;o f rxo=-l:0.0 5:mx a(x0o)rl二(X一xo).弋+(Y一y01).吃+(z一20)A 2).气l2/);2 r=(X一xo).佗+(Y一02).弋+(z一20)佗).气12/);vl=vl+a*sin(t*f+rl*l):v 2=v2+a*si

17、n(t*f+伦*l):endv=vl十vZ;%显示x e as(hn adles.x aesZ);me sh(Y,X,V)eolom rp aga ryP aus e(0.0000 0000 00 1);holdo nel ld在“退 出”按钮的Ca l lBa ck函数 中添加以下代码:ele;elea rallelo s e(g co最后,运行程序,得到结果如下:图.52用户界面一338一第六居奎已龙等李谈物理实脸教学研讨套论次辱(上)在MATLBA中可以对生成的M文件进行编译生成可执行文件。在命令窗口键入mc c一m*.m命令,MATL A B会调用相关的表一起进行编译,生成文件包括:可

18、执行文件和运行时所需调用信息文件(运行时两个文件必须位于同一目录下)5 。6结语利用MATL A B语言编程,计算机不仅能模拟物理实验 的结果,同时还能模拟出实验中无法观察到的具体过程,并且验证现有理论,无论对理论教学还是实验教学,都具有非常重要的实际意义。另外,基于本程序的设计原理,只要对实验条件稍加改动,就可以模拟其他光学实验,MAT LAB软件有非常广阔的应用空间。参考文献:l 姚启钧.光学教程(第三版)M.北京:高等教育出版社,2 00 2.2 周忆,梁齐.利用MAT L A B语言模拟光衍射实验J .大学物理实验,200 1,14(4):4 7一.83 梁齐,徐晓林,王明虎.光干涉实

19、验的计算机模拟J .大学物理实验,200 3,16(3):6 1一6 3.4 l 吴迪,张星.利用MA TL A B的G u l功能制作交互式演示实验软件J .大学物理实验,20 06,19(2):74一75.5 葛哲学.精通MA T L AB M.北京:电子工业出版社,2 00 8.MAT L ABPo rgr ammer e al抚eeomPute rdyn amiesimulatio nofT homa sO Yu ngdoubleslitinte rPo sitio ne xPe rime ntL lX i一gui,ZHAN G、妞ng(He nn aNom ralUnives riy

20、 t,CollegeofPhysiesn adino fm ra tio nEngin e ering,Xinxia ng45 3007,C hina)A bstr act:Constu rctmodelonele eo t rmg an etismtheoy rofoPtie s,mob iliza tionMA TA LBs of twa re,dynamiesimulatio nallPro e e ssofThoma sY ou ngdoubleslitintep ro sitione xPer ime nt,n ad buildingG UItobeh tesm aewithexPe rime nt te a ehing.Keywo rds:Thoma sY ou ng:do ubleslitintep ro sition;dynm aiesimula t ion:MA T LA B:G UI一339一

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁