ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:2.13MB ,
资源ID:3422373      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3422373.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(推荐《计算物理论文》word版.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

推荐《计算物理论文》word版.docx

1、推荐计算物理论文word版白光和单色光干涉、衍射光学实验的Matlab模拟摘要光学的几个重要实验都可分为单色光和白光用Matlab模拟,为了使模拟的图样更符合实际,颜色的处理和颜色与光强的结合就成为关键。对于单色光的实验模拟,利用函数imread读取光谱图片,得到各个颜色对应的RGB值,将其与不同颜色光的波长对应起来。用光强公式得出的光强值之后,与RGB三个分量值相乘,实现光强和颜色的结合;对于白光的实验模拟,采用RGB图像红、绿、蓝三原色的思想,光强公式分为三部分,公式中的波长分别使用红绿蓝光的波长,两部分都用image或imshow函数来显示RGB图像。最后,使用Gui综合各个实验,使界面

2、人性化。关键词单色光 白光 杨氏双缝干涉 牛顿环干涉 迈克尔逊干涉仪(等倾干涉)圆孔夫琅禾费衍射 夫琅禾费单缝衍射引言Matlab 有着强大的图像处理与数值计算功能, 用它模拟光学课程教学中的几个典型实验,不仅可以方便的呈现于实验观察到的图样相符的结果,而且可以摆脱仪器的限制,成本低,方便教学演示。模拟时关键是颜色和光强如何同时呈现的问题,利用真彩色图像的理论可以很好的解决单色光和白光的干涉衍射问题。正文一、光学原理 1、杨氏双缝干涉设单缝光阑S到狭缝S1和S2距离相等,光屏离狭缝间距为z,假设S是单色光源,考察屏幕上一点P,从S1和S2发出的光在该点叠加产生合振动的强度为: ,若实验装置中S

3、1和S2狭缝宽度相等,有,则。 图一 杨氏双缝干涉 图二 牛顿环干涉2、牛顿环干涉牛顿环干涉属于分振幅干涉,是一种通过分振幅获取相干光的的等厚干涉现象。两相干反射光在某点P处叠加,合成光强I=4I0cos2(/2),I0表示两反射光的强度,=2r/,r表示自空气间隙上下表面反射光的光程差,r=2t+2d+/2。t是透镜底部与平板之间空气层的厚度,d=R-R2-r2,R是透镜的半径,r是干涉条纹的半径。、迈克尔逊干涉仪(等倾干涉)迈克尔逊干涉仪利用分振幅法产生双光束以实现干涉。通过调整该干涉仪,可以产生等厚干涉条纹,也可以产生等倾干涉条纹。对于等倾干涉条纹. 根据光波的迭加原理可得出迈克尔逊干涉

4、仪的等倾干涉的光强分布为:I=I0cos22dcosarctan( r / f) /,d 为由分光板分束, 经相互垂直的两平面反射镜反射的二相干光束的光程差的一半, 相当于空气平行薄膜的厚度, f 为屏幕前透镜的焦距, r2=x2+y2。随着d的增加,干涉环从中心冒出,随着d的减小,干涉环向中心收缩。图三 迈克尔逊干涉仪 图四 圆孔夫琅禾费衍射、圆孔夫琅禾费衍射夫琅和费衍射,是指衍射屏与接受屏之间的距离均为无限远的场合。一束平行光自左边入射到圆孔衍射屏上,经中间的透镜后在右边的接受屏上形成衍射条纹。利用菲涅尔-基尔霍夫积分公式得到接受屏上P点的光强I=I0(2J1(x)/x)2,I0是衍射场中

5、心的强度,J1(x)为一阶贝塞尔函数,x=2asin/,a是圆孔的半径,是衍射角。、夫琅禾费单缝衍射光强,其中,a为单缝的宽度,为衍射角,I0=a2,沿不同衍射方向会有不同的光强。二、RGB图像相关原理本论文采用RGB图像。RGB图像,即真彩图像,在MATLAB中存储为数据矩阵。数组中的元素定义了图像中的每一个像素的红、绿、蓝颜色值,像素的颜色由保存在像素位置上的红、绿、蓝灰度值的组合确定。任意像素点(r,c)颜色的显示由三数组(r,c,1:3)决定。每一像素的三个颜色值保存在数组的第三维中。 Matlab的RGB数组可以是双精度的浮点类型、8位或16位无符号的整数类型。在RGB的双精度型的数

6、组中,每一种颜色是用0到1之间的数值表示。例如,颜色值为(0,0,0)时为黑色,(1,1,1)对应白色。8位RGB图像的颜色数据是0 255之间的整数,而不是0 1之间的浮点值,颜色值为(255,255,255)的像素显示为白色。将unit8类型转换为double类型时,首先要除以255。即:RGB64=double(RGB8)/255。在Matlab中可以调用image或imshow函数来显示RGB图像。RGB是m*n*3的矩阵。格式为image(RGB),imshow(RGB)。在Matlab中用函数imread来读取图像文件,函数调用格式为:A=imread(filename,fmt)。

7、大多数图像用8位或更少位颜色来存储像素点值,当把这些图像数据加载到内存中时,Matlab会根据不同的文件类型保存为不同数据类型。三、核心代码(单色光)单色光的各个实验的编程原理相似,不同的只是光强公式,以单色光的杨氏双缝干涉为例。首先要解决颜色和光波波长一一对应的问题,使用真彩色的RGB理论, 使用imread函数读入存在MATLAB默认路径中的光谱图“guangpu.bmp”,该产生一个三维数组,对应颜色的RGB值。运行后可知该三维数组为26*444*3的,可以理解为三个页面依次保存各像素点的红、绿、蓝颜色值,每页上有26行444列,每个像素点的颜色为这三个值组合而成的。同时,每页上的各行数

8、值相同,因此只需要将每页的第一行提取出来使用。光谱图(“guangpu.bmp”)guangpu1=double(imread(guangpu.bmp);guangpu=guangpu1(1,:,1);guangpu1(1,:,2);guangpu1(1,:,3); 接下来就是将提取出的RGB值与波长对应起来,不妨设定光谱图波长范围380 780,结合round取整实现输入一个波长找出它在数组中的位置的效果,由于8位RGB图像的颜色数据是0 255之间的整数,而不是0 1之间的浮点值,将其除以255,即可将其转换为0 1之间的浮点值,以利于接下来的画图。yanse=guangpu(:,roun

9、d(lambda*1e6-380)/400*444)/255; 然后设置屏幕宽度、屏幕到缝的距离的大小,编写有关相位差、光强的计算公式。ym=1.25; %国际单位,米y=linspace(-ym,ym,101); z=1000; L1=sqrt(y-1).2+z2);L2=sqrt(y+1).2+z2);phi=2*pi*(L2-L1)/lambda; I=4.*(cos(phi/2).2; 最后,从yanse中提取出RGB的红、绿、蓝三个分量值,并通过光强I值与RGB分量值的乘积实现光强和颜色的结合。用image或imshow函数画出干涉条纹。zong(:,:,1)=I*yanse(1);

10、zong(:,:,2)=I*yanse(2);zong(:,:,3)=I*yanse(3);image(zong/4) 实验模拟的结果在GUI中显示,程序中将所有实验用到的参数统一起来,都呈现在面板上,但同时又设置模拟某个实验时只出现它对应的参数,用不到的参数不显示滑动条,方便用户知道每个实验对应的参数。GUI使用时,先用滑动条把edit text调出数值,这样才运行处正确的结果。接下来选择实验项目,设置参数,之后再点击一次实验项目,就可出现图样,参数选择得当才可得到漂亮的图样。结果如下:(1)、杨氏双缝干涉(2)、牛顿环干涉(3)、圆孔夫琅禾费衍射(4)、夫琅禾费单缝衍射(5)、迈克尔逊干涉

11、仪(等倾干涉)。可以看出随着空气薄膜厚度的增加,条纹从中心冒出。四、核心代码(白光)仍以白光杨氏双缝干涉为例。由RGB真彩图理论:白光可以分解为红、绿、蓝三基色,白光的干涉衍射条纹就可简化为红、绿、蓝条纹的叠加,Iw为代入imshow函数总的三维数组,红光的光强Ir作为其第三维的第一个,绿、蓝分别作为第二、三个,得到RGB图像的参数,再用image或imshow函数作图。同时,不同波长代入光强公式,分别作为三维数组的第三维的元素,也就实现了颜色与光强的结合。首先给定红、绿、蓝光的波长。由等能白光对应三基色波长的情况可以把红、蓝、绿波长分别设为700nm、546.1nm、435.8nm。lr=7

12、00e-6; %国际单位,米lg=546.1e-6; lb=435.8e-6;接着给出参数及公式,光强公式分为三部分,公式中的波长分别使用红、绿、蓝光的波长,用一个零矩阵Iw储存三种光的颜色光强信息。之后对Iw用RGB图像的显示方式:image或imshow函数作图。ym=0.5;y=linspace(-ym,ym,2500); %屏幕宽度z=1000; %屏幕到缝的距离L1=sqrt(y-1).2+z2);L2=sqrt(y+1).2+z2);phir=2*pi*(L2-L1)/lr; %相位差phig=2*pi*(L2-L1)/lg;phib=2*pi*(L2-L1)/lb;Ir=4.*(

13、cos(phir/2).2; Ig=4.*(cos(phig/2).2; Ib=4.*(cos(phib/2).2; Iw=zeros(400,2500,3);Iw(:,:,1)=Ir;Iw(:,:,2)=Ig;Iw(:,:,3)=Ib;imshow(Iw)结果如下:(1)、杨氏双缝干涉(2)、牛顿环干涉(3)、圆孔夫琅禾费衍射(4)、夫琅禾费单缝衍射(5)、迈克尔逊干涉仪(等倾干涉),随着空气薄膜厚度的增加,条纹向外冒出。总结一、优点1、颜色的实现及与光强的结合借助RGB理论,解决了颜色的问题,使图样是彩色的而非灰度的,更接近实际实验结果,在遵从科学性的同时也更利于教学演示。对于单色光,通过

14、对光谱图的读取并转化为RGB值,实现了波长与颜色的一一对应,让Matlab知道输入的波长值该对应什么颜色。从而可以借助波长模拟各种单色光的光学实验,而不是仅限于Matlab自带的几种不好确定的颜色。对于白光,借助RGB真彩图理论把白光分解为红、绿、蓝三基色,从而将白光的干涉衍射化为三种光的干涉衍射的叠加,将三个波长代入光强公式,分别作为包含RGB和光强信息的三维数组的第三维的元素,也就实现了颜色与光强的结合。而不是仅以灰度表示出光强。2、GUI的人性化实验模拟的结果在GUI中显示,程序中将所有实验用到的参数统一起来,都呈现在面板上,但同时又设置模拟某个实验时只出现它对应的参数,用不到的参数不显

15、示滑动条,方便用户知道每个实验对应的参数,同时给出参数的示例以便用户可以更快地调出漂亮的图样。二、有待改进之处1、GUI使用时的一个不方便之处,得先用滑动条把所有的edit text调出数值,给一个初始的数值,这样才接下来选择实验项目,运行出正确的结果。不过,用户如果直接选择白光的实验项目,就不存在这个缺陷,可以直接选项目改参数。可以考虑改进。2、模拟出的图样虽然和实验结果大致符合,如果到边缘处就比较粗糙,与实验结果符合得不太好,可以考虑改进原理。感悟(见另一个文档)参考文献【1】王家文 Matlab7.6图形图像处理 国防工业出版社 【2】张德丰等 Matlab图形与动画设计 国防工业出版社【3】彭芳麟 计算物理基础 高等教育出版社【4】叶玉堂等 光学教程 清华大学出版社 (本资料素材和资料部分来自网络,仅供参考。请预览后才下载,期待您的好评与关注!)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1