好文档 - 专业文书写作范文服务资料分享网站

MATLAB进行等倾干涉动态模拟仿真

天下 分享 时间: 加入收藏 我要投稿 点赞

5.使用MATLAB进行等倾干涉动态模拟仿真 5.1. 界面设计

GUI界面设计[6]主要包括以下几个步骤:

第一步构思草图,编排控件的布局。打开MATLAB程序,在FILE菜单中选择NEW GUI,打开guide设计界面模板,界面模板左边的各个控件可以直接用鼠标拖到编辑框。

第二步设置各控件的属性。如设置各个控件的标识(Tag),字体等。 第三步各个控件代码的设计。关键是OpeningFcn(初始界面函数)和控件的CallBack(回调函数)代码的设计。初始界面函数即设定各参数的初始值,可根据实际情况设定。回调函数是核心,是对界面控件触发时的事件响应函数。 根据需要,等倾干涉条纹的动态模拟图形用户界面使用了2个按钮(Push Button),标识为绘图和退出,用鼠标点击任一项目,则会执行相应的功能;4个静态文本框(Static Text)用于输入波长,厚度及各自的单位;2个滑动条(Slider),用鼠标拖动相应的滑动条就可以改变波长和厚度的大小;1个坐标轴对象(Axes)用于显示仿真结果。界面如图4。

图 4 仿真界面

5.2 演示控件的回调函数

演示控件的功能是通过其回调程序来实现的,用户界面设计完成之后,选中控件用鼠标双击,在弹出的菜单中选择Viewbacks,在其子菜单中选择CallBack,就可以进入回调程序编辑器中,在编辑器中编写控件代码,使图形界面完成约定的功能。

演示控件的回调函数代码为:

lambda=get(handles.slider1,'value'); d=get(handles.slider2,'value'); f=200; n=1; N=300; xmax=10; ymax=10;

x=linspace(-xmax,xmax,N); y=linspace(-ymax,ymax,N); for i=1:N for j=1:N

r(i,j)=sqrt(x(i)^2+y(j)^2);

B(i,j)=cos(pi*(2*n*d*cos(asin(n*sin(atan(r(i,j)/f)))))/lambda).^2;

end end

NCLevels=255; Br=4*B*NCLevels;

colormap(gray(NCLevels)); image(x,y,Br); axes(handles.axes1)

5.3改变参数对比相邻亮条纹间距变化规律

用户通过调节平台的滑动条,分别改变入射波长,厚度影响等倾干涉的两个参数,可以分别得到不同的干涉图样。

5.3.1 改变入射波长

图6 厚度d=0.0049405mm不变,波长为?=0.00045mm时,等倾干涉图

图7 厚度d=0.0049405mm不变,波长为?=0.0005mm时,等倾干涉图

图8 厚度d=0.0049405mm不变,波长为?=0.0006mm时,等倾干涉图

条纹变化特征:从图6到图8的调节过程中,随着参数?的增加,相邻的亮条纹之间的距离越来越大。 5.3.2 改变薄膜厚度

图9厚度为d=0.6mm波长,为?=0.0005mm时,等倾干涉图

图10 厚度为d=0.7mm,波长为?=0.0005mm时,等倾干涉图

图11厚度为d=0.8mm,波长为?=0.0005mm时,等倾干涉图

从图中可以看出条纹变化特征:薄膜的厚度d越大,即相邻的亮条纹之间的距离越小,条纹越密,越不易辨认。

MATLAB进行等倾干涉动态模拟仿真

5.使用MATLAB进行等倾干涉动态模拟仿真5.1.界面设计GUI界面设计[6]主要包括以下几个步骤:第一步构思草图,编排控件的布局。打开MATLAB程序,在FILE菜单中选择NEWGUI,打开guide设计界面模板,界面模板左边的各个控件可以直接用鼠标拖到编辑框。第二步设置各控件的属性。如设置各个控件的标识(Tag),字体等。第三步各
推荐度:
点击下载文档文档为doc格式
6ni8w1ztrt0vngk59eo3
领取福利

微信扫码领取福利

微信扫码分享