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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(MATLAB实验牛顿环实验的MATLAB仿真_精品文档.doc)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

MATLAB实验牛顿环实验的MATLAB仿真_精品文档.doc

1、实验三 牛顿环实验的MATLAB仿真一、实验目的 MATLAB在光学实验的计算机仿真方面有着重要的应用。使用MATLAB可以仿真大多数光学实验,例如杨氏双缝干涉实验、牛顿环实验、夫琅和费衍射等,使得原本抽象的必须借助实验仪器才能感知的光学现象可以直观而且动态的显示在计算机上,从而获得对某一特定光学现象充分的感性认知,加深我们对抽象光学现象的理解和认识。这里将以牛顿环实验的MATLAB仿真为例,向大家介绍光学实验的MATLAB动态仿真的基本方法并通过上机练习以达到如下几个目的:1. 掌握用imshow实现光强度二维分布的可视化显示方法;2. 掌握MATLAB动态仿真技术影片动画技术;二、实验原理

2、 1. 牛顿环干涉原理 右图所示为牛顿环装置的示意图。R为牛顿环透镜的曲率半径,d为空气膜的厚度()。垂直入射光经空气膜的上下两表面反射后产生干涉,干涉后的光强图1其中I1和I2是两束相干光的光强,可近似认为I1 = I2 = I0。Df为两束光相遇时的位相差由图中的几何关系以及条件可得(2)、(3)式代入(1)式后有上式中为了方便取系数2I0 =1。在直角坐标系中,(x,y)代表光强的二维分布点的坐标。(4)式是实验仿真的基础,对于任意给定点(x,y),如果该点的光强I取最大值1,则该点为明条纹所在;若光强I取最小值0,则是暗纹所在;其他值则介于两者之间。(4)式给出了牛顿环干涉光强的二维平

3、面分布,那么如何将光强的平面分布(数值)可视化显示出来?下面介绍一种简单的实现方法。2. 光强分布的可视化实现 对于数据的可视化,MATLAB提供了很多实现方法,比如前面介绍的plot、plot3、surf函数等。对于牛顿环实验来说,虽可以使用surf函数将光强I在xy平面上的分布表现出来,但是得到的是3维曲面图,和实验观察到的2维环状的干涉条纹图形不一致,达不到仿真的目的。所谓仿真,也就是把实验观察屏上二维的干涉条纹图像通过计算机再现出来,这就是图像显示技术。图像显示是一种特殊的图形绘制,MATLAB提供了一系列创建和显示图像对象的命令,例如image, pcolor,imshow等。考虑到

4、干涉条纹的明与暗可用白与黑来显示,而强度介于两者之间的条纹则可用不同层次的灰度来显示,因此选择灰度图像来显示牛顿环的干涉条纹比用彩色图像显示效果更逼真;此外,相对来说用imshow创建灰度图像比用image和pcolor在语句上要简单些,所以这里我们选择imshow指令来进行光强的可视化操作(即干涉图像的再现),至于image和pcolor指令亦可实现不过语句稍复杂些,感兴趣的同学可以参考有关的资料。 使用imshow建立灰度图像的使用格式:imshow(I,N)其中参数N为正整数,指定灰度的层次,当缺省该参数时,系统默认为256级的灰度级;参数I为数值矩阵,imshow的作用就是将数值矩阵I

5、的元素值用N个灰度级的黑白图像可视化显示出来。实际上是在数值矩阵I和N个灰色调之间建立了一种颜色映射关系:I当中元素值最大者映射为白色(将该元素值作为白色显示),元素值最小者映射为黑色(将该元素值作为黑色显示),元素值介于最大和最小之间的则按照某种约定的规则映射到其它的灰度级(显示为不同灰度的灰色)。 为了方便叙述,假定再现的图像尺寸2mm2mm,使用上述指令可以很方便的将牛顿环干涉条纹在该区域内再现:l 首先,利用(4)式获取干涉光强I在该区域(,假定观察屏是xy平面)的数值分布x=linspace(-0.001,0.001,200);y=linspace(-0.001,0.001,200)

6、;X,Y=meshgrid(x,y); %将xy平面2mm2mm的区域分割为200200的网%格(像素),矩阵X、Y分别输出格点的x和y坐标r2=X.2+Y.2;I=abs(sin(pi*r2/R/l).2; % 200200的数值矩阵;计算格点上光强I,得到光强的数值分布 l 接下来使用imshow指令将数值矩阵I可视化imshow(I)3. 动态仿真技术牛顿环实验(也包括其他光学实验)的仿真有2个环节,其一是将观察屏(xy平面)上干涉光强的分布可视化显示;其二是动态仿真,比如当空气薄膜的厚度连续改变时(通过向上移动牛顿环中的透镜),干涉条纹也会随之移动,采用动态仿真可以再现这一过程。前者我

7、们在第2小节中做了介绍,下面介绍一种MATLAB动态仿真技术影片动画技术。顾名思义,影片动画技术类似于电影的制作,其原理是首先对仿真的过程按时间次序进行“拍照”,获得一帧一帧的画面(称为帧),并将之存档,然后再按时间顺序以高于视觉暂留的帧频率播放帧,即可获得类似于电影的动画效果。这种动画技术适用于难以实时快速绘制的复杂画面,但计算量大,占用内存较多。在MATLAB中实现影片动画依次要用到下列几个函数: moviein函数 该函数将产生一个结构体数组(structure,以下称帧结构体)来存放动画的帧(即所拍摄的一幅幅画面),每帧画面作为结构体的一个元素保存。调用格式 fmat = moviei

8、n (N)作用是创建一个能存放N个帧的(1N)结构体数组fmat。该结构体包含两个域cdata和colormap,前者用于存放帧的图像数据,后者存放帧使用到的颜色表。 getframe函数 该函数作用是对当前的图像进行快照(“抓拍”),通常有两种使用格式:A. getframe 该格式不带参数,“抓拍”当前坐标轴里的内容;B. getframe(h) “抓拍”某个图形窗口或坐标轴里的内容,该图形窗口或坐标轴以句柄h标识(图形窗口和坐标轴都是一种图形对象,每一种图形对象都有自己特有的句柄handle,即标识,类似于“身份证”)。例如 fmat(1) = getframe (gcf) 抓拍当前图形

9、窗口下的内容,并将该帧画面存放于帧结构体fmat的第一个元素中;gcf为Get handle to current figure的缩写,意思是获取当前图形窗口的句柄。在命令窗口中输入gcf可显示当前图形窗口的句柄值,是个整数。 movie函数 作用是按顺序回放帧结构体fmat中存放的各帧画面以产生动画感。一般格式: movie(h, famt, n, fps)h 是播放动画的图形窗口或坐标轴的句柄,缺省时表示在当前的坐标轴中播放动画;famt 是帧结构体名,不可省; n 是重复播放的次数,缺省时,只播放一次;fps 代表每秒播放的帧数(即帧频),一般应快于视觉暂留,缺省时系统默认fps=12。

10、在动画播放前,movie函数首先将每帧图像的数据载入内存(此时图像会一帧一帧的显示出来),然后再按照用户设定的参数(重复次数n、帧频fps等)播放动画。 除了movie函数,MATLAB还提供了一个函数movie2avi,该函数能够在当前的工作目录下创建一个avi视频格式的动画文件。一般的调用格式: movie2avi(fmat, filename)famt 为前述的帧结构体名,filename是字符串,指定avi格式的文件名。例1: Z=peaks; % MATLAB提供的三维函数surf(Z); TheAxis=axis; % 保存坐标值,使得下面所有帧都在同一坐标系。变量TheAxis%

11、 为6个元素的向量,分别代表x、y、z轴的最小、最大值 F=moviein(20); % 创建可以存放20帧的帧结构体for j=1:20 % 该循环“抓拍”20帧画面并存放到F中surf(sin(2*pi*j/20)*Z,Z); % 画出每一步的曲面(帧)axis(TheAxis); % 使用相同的坐标系。F(j)=getframe; %“抓拍”帧,并存在到帧结构体end movie(F,10) % 回放保存在帧结构体F中的画面,重复10次,帧频12(缺省值)movie2avi(F,example); % 制作avi格式的视频动画注意:“抓拍”到的画面总帧数对动画的播放速度、连续感会产生影响

12、,请将帧数修改为10,重新运行程序观察结果。另,帧数越大帧结构体的内存开销也跟着增加。四、实验内容及要求1. 绘制牛顿环干涉条纹图 在牛顿环实验中,假定透镜的曲率半径R=0.855m,入射光波长为589.3nm的钠黄光,实验观察到一幅6mm6mm大小的牛顿环干涉条纹图。请结合(4)式使用imshow指令对该图像进行静态仿真。要求:以M文件的形式编写程序,并调试通过,得到的干涉图像存为.jpg文件格式。2. 空气膜厚度连续变化时的动态仿真 若将图1中的透镜缓慢的向上移动,则每个点处空气薄膜厚度d将连续增加,假设空气膜厚度的变化用Dd表示,则薄膜上下表面的反射光之间的位相差由(2)式变化为(5)式

13、:其中,代表空气膜厚度变化导致的附加位相差。相应地光强表达式也要修正为:假设Dd的初终值分别为。空气膜厚度每变化0.04mm时,绘制一次干涉条纹图像,然后使用getframe命令“抓拍”并存在帧结构体中,直到Dd=2mm(使用循环控制语句,参照例1)。最后用movie命令回放存贮的“画面”形成动画。要求: 在实验内容1的基础上,结合影片动画技术修改程序,实现空气膜厚度连续增加时牛顿环实验的动态仿真,观察条纹的变化规律。尝试做思考题2。提交程序。五、思考题1. 在内容1中,如何提高仿真图像的像素使得再现图像更清晰?2. 在内容2中,假设透镜从上往下移动,即让Dd的初终值分别为,修改你的程序,观察干涉条纹将如何变化?

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

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