欢迎来到天天文库
浏览记录
ID:33787844
大小:153.50 KB
页数:5页
时间:2019-03-01
《matlab实验牛顿环实验的matlab仿真》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验三 牛顿环实验的MATLAB仿真一、实验目的MATLAB在光学实验的计算机仿真方面有着重要的应用。使用MATLAB可以仿真大多数光学实验,例如杨氏双缝干涉实验、牛顿环实验、夫琅和费衍射等,使得原本抽象的必须借助实验仪器才能感知的光学现象可以直观而且动态的显示在计算机上,从而获得对某一特定光学现象充分的感性认知,加深我们对抽象光学现象的理解和认识。这里将以牛顿环实验的MATLAB仿真为例,向大家介绍光学实验的MATLAB动态仿真的基本方法并通过上机练习以达到如下几个目的:1.掌握用imshow实现光强度二维分布的
2、可视化显示方法;2.掌握MATLAB动态仿真技术—影片动画技术;二、实验原理1.牛顿环干涉原理右图所示为牛顿环装置的示意图。R为牛顿环透镜的曲率半径,d为空气膜的厚度()。垂直入射光经空气膜的上下两表面反射后产生干涉,干涉后的光强图1其中I1和I2是两束相干光的光强,可近似认为I1=I2=I0。Df为两束光相遇时的位相差由图中的几何关系以及条件可得(2)、(3)式代入(1)式后有上式中为了方便取系数2I0=1。在直角坐标系中,(x,y)代表光强的二维分布点的坐标。(4)式是实验仿真的基础,对于任意给定点(x,y),
3、如果该点的光强I取最大值1,则该点为明条纹所在;若光强I取最小值0,则是暗纹所在;其他值则介于两者之间。(4)式给出了牛顿环干涉光强的二维平面分布,那么如何将光强的平面分布(数值)可视化显示出来?下面介绍一种简单的实现方法。2.光强分布的可视化实现对于数据的可视化,MATLAB提供了很多实现方法,比如前面介绍的plot、plot3、surf函数等。对于牛顿环实验来说,虽可以使用surf函数将光强I在xy平面上的分布表现出来,但是得到的是3维曲面图,和实验观察到的2维环状的干涉条纹图形不一致,达不到仿真的目的。所谓仿
4、真,也就是把实验观察屏上二维的干涉条纹图像通过计算机再现出来,这就是图像显示技术。图像显示是一种特殊的图形绘制,MATLAB提供了一系列创建和显示图像对象的命令,例如image,pcolor,imshow等。考虑到干涉条纹的明与暗可用白与黑来显示,而强度介于两者之间的条纹则可用不同层次的灰度来显示,因此选择灰度图像来显示牛顿环的干涉条纹比用彩色图像显示效果更逼真;此外,相对来说用imshow创建灰度图像比用image和pcolor在语句上要简单些,所以这里我们选择imshow指令来进行光强的可视化操作(即干涉图像的
5、再现),至于image和pcolor指令亦可实现不过语句稍复杂些,感兴趣的同学可以参考有关的资料。使用imshow建立灰度图像的使用格式:imshow(I,N)其中参数N为正整数,指定灰度的层次,当缺省该参数时,系统默认为256级的灰度级;参数I为数值矩阵,imshow的作用就是将数值矩阵I的元素值用N个灰度级的黑白图像可视化显示出来。实际上是在数值矩阵I和N个灰色调之间建立了一种颜色映射关系:I当中元素值最大者映射为白色(将该元素值作为白色显示),元素值最小者映射为黑色(将该元素值作为黑色显示),元素值介于最大和
6、最小之间的则按照某种约定的规则映射到其它的灰度级(显示为不同灰度的灰色)。为了方便叙述,假定再现的图像尺寸2mm×2mm,使用上述指令可以很方便的将牛顿环干涉条纹在该区域内再现:l首先,利用(4)式获取干涉光强I在该区域(,假定观察屏是xy平面)的数值分布x=linspace(-0.001,0.001,200);y=linspace(-0.001,0.001,200);[X,Y]=meshgrid(x,y);%将xy平面2mm×2mm的区域分割为200×200的网%格(像素),矩阵X、Y分别输出格点的x和y坐标r2
7、=X.^2+Y.^2 ;I=abs(sin(pi*r2/R/l)).^2;%200×200的数值矩阵;计算格点上光强I,得到光强的数值分布l接下来使用imshow指令将数值矩阵I可视化imshow(I)3.动态仿真技术牛顿环实验(也包括其他光学实验)的仿真有2个环节,其一是将观察屏(xy平面)上干涉光强的分布可视化显示;其二是动态仿真,比如当空气薄膜的厚度连续改变时(通过向上移动牛顿环中的透镜),干涉条纹也会随之移动,采用动态仿真可以再现这一过程。前者我们在第2小节中做了介绍,下面介绍一种MATLAB动态仿真技术—
8、影片动画技术。顾名思义,影片动画技术类似于电影的制作,其原理是首先对仿真的过程按时间次序进行“拍照”,获得一帧一帧的画面(称为帧),并将之存档,然后再按时间顺序以高于视觉暂留的帧频率播放帧,即可获得类似于电影的动画效果。这种动画技术适用于难以实时快速绘制的复杂画面,但计算量大,占用内存较多。在MATLAB中实现影片动画依次要用到下列几个函数:①moviein
此文档下载收益归作者所有