MATLAB界面设计报告-优秀篇_第1页
MATLAB界面设计报告-优秀篇_第2页
MATLAB界面设计报告-优秀篇_第3页
MATLAB界面设计报告-优秀篇_第4页
MATLAB界面设计报告-优秀篇_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于MATLAB的单色光干涉和衍射实验GUI设定计策报纸苏列表一、概述3二、初步准备32.1干涉原理和程序32.2衍射原理和程序4三、设计阶段53.1输入模块设计53.2实验界面设计53.3计算模块设计83.4绘图模块设计83.5清除模块设计83.6提示模块设计8四、软件使用方法9五、感想15六、参考文献15一、概述MATLAB是目前世界上应用最广泛的工程计算和模拟软件,其重点是易于同时开发计算、可视化和编程等功能的环境。MATLAB主要用于数学计算、系统建模和仿真、数学分析和可视化、科学和工程绘图以及用户界面设计。在用户界面设计中,GUI开发环境是MATLAB7.3,它为图形用户界面设计提供了集成和开发环境,广泛用于实验模拟软件开发。这次,针对单色光干涉和衍射实验,设计了更简洁、更明确的软件。这在一定条件下完成了干涉条纹间距和衍射半角的计算,并完成了干涉条纹和衍射条纹的绘制。二、事前准备2.1干涉原理和程序干涉结构图程序如下:ym=5 * flag _ lambda * flag _ d/flag _ a/;Xs=ymN=101Ys=linspace(-ym,ym,n);For i=1:nR1=sqrt (ys (I)-(flag _ a/1000)/2)。(flag _ d)2;R2=sqrt (ys (I) (flag _ a/1000)/2)。(flag _ d)2;phi=2 * pi *(R2-R1)/(flag _ lamb da/);B (I,)=4 * cos (phi/2).EndN=255br=(B/4.0)* N;Image(xs、ys、Br);Title(干涉条纹)color map(gray(N);2.2衍射原理和程序衍射结构图程序如下:ymax=3 * flag _ lambda * flag _ d/flag _ a/;Ny=51Ys=linspace(-ymax,ymax,Ny);NP=51YP=linspace(0,flag_a/1000,NP);For i=1:NySinPhi=ys(I)/(flag _ D);alpha=2 * pi * yp * sinp hi/(flag _ lamb da/);sum cos=sum(cos(alpha);sums in=sum(sin(alpha);B (I,)=(sum cos 2 sums in 2)/NP 2;EndN=255br=B/max(B)* N;Image(ymax,ys,Br);Title(衍射条纹);color map(gray(N);三、设计阶段3.1进入模块设计进入实验界面模块是用于与使用软件的人进行交互的界面。它包含一些基本信息,如软件功能、实验设计者等。单击“开始实验”进入实验。3.1.1主要知识点1)阅读音频:y=y=wav read(yinyue . wav);装入%声音文件声音(y)%从声卡播放声音2)阅读图片:Imshow(shanda.bmp)3)连接到以下模块:% -按钮按压上的按钮1。function push button 1 _ callback(h object,event data,handles)% h object handle to push button 1(see gcbo)% event data reserved-to be defined in a future version of MATLAB% handles structure with handles and user data(see guiddata)Clear allClose诗妍3.1.2遇到的问题和解决方案贴花格式为。BMP,gif,jpg,png,hdf,pcx,xwd,ico、.cur .音频是。au和。仅适用于wav格式。呼叫音讯时,请注意不要让音讯变得太大。那时我叫了10米的音频,MATLAB不起作用。所以你可以截取你喜欢的音频。关闭音乐:点击“开始实验”的时候,希望音乐也一起关闭,通过老师的说明,在“关闭”的门前贴上“close all”,就知道所有节目都会结束。如何连接到以下GUI界面:在“开始实验”后,可以命名以下GUI界面:这是在网上发现的。遇到我们不知道的问题时,读书一方面,问学生,通过网络查找资料也是不错的选择。我认为在最快的时间内解决问题,学习这种方法是最好的结果。3.2实验界面设计该界面由6个大部分组成:实验类型选择、参数输入、实验原理图、绘图区域、计算结果、操作按钮。界面简洁清晰。镂空选择的浅颜色,这样强调,不乱。提示文本很明显,粗体和操作按钮,有助于工作人员工作。1)选择实验类型:此处使用了一个下拉菜单(Pop-Up Menu)。程序如下全球许可Leixing=get (handles.popupmenu1,value);交换机leixing案例1%干扰实验Axes(handles.axes1)Imshow(ganshetu.png)Axis fill关闭轴病例2%衍射实验Axes(handles.axes1)Imshow(yanshetu.png)Axis fill关闭轴OtherwiseAxes(handles.axes1)Imshow(ganshetu.png)Axis fill关闭轴下面定义全局变量“leixing”,后面有很好的调用。输入参数:用于将与控件相关的控件组织到一个区域中以使GUI界面更具组织和层次结构的控件,然后设置面板面板(此面板为下一个实验原理图、绘图区域、计算结果、操作按钮)。这里定义了波长ramda范围。从实际角度来看,如果波长超出可见光范围,则不会观察干涉条纹和衍射条纹,因此需要定义其范围(稍后将在“提示模块设计”中详细讨论)。间隙或狭缝宽度、灯光和屏幕间距值不合适,最大图形绘制不明确,因此不需要限制范围,建议仅使用几个范围。实验结构图:结合输入实验类型,使用实验类型选择的函数调用实验结构图。可以在CAD中绘制这些原理图。为了强调效果使线条清晰,建议使用黑色底座,使线条看起来更亮。使用白底时,图形越大,看不清,影响效果。2)绘图区域:与其他模块一样,按照以下过程操作。全球许可Leixing=get (handles.popupmenu1,value);交换机leixing案例1Axes(handles.axes2)ym=5 * flag _ lambda * flag _ d/flag _ a/;Xs=ymN=101Ys=linspace(-ym,ym,n);For i=1:nR1=sqrt (ys (I)-(flag _ a/1000)/2)。(flag _ d)2;R2=sqrt (ys (I) (flag _ a/1000)/2)。(flag _ d)2;phi=2 * pi *(R2-R1)/(flag _ lamb da/);B (I,)=4 * cos (phi/2).EndN=255br=(B/4.0)* N;Image(xs、ys、Br);Title(干涉条纹)color map(gray(N);OtherwiseAxes(handles.axes2)ymax=3 * flag _ lambda * flag _ d/flag _ a/;Ny=51Ys=linspace(-ymax,ymax,Ny);NP=51YP=linspace(0,flag_a/1000,NP);For i=1:NySinPhi=ys(I)/(flag _ D);alpha=2 * pi * yp * sinp hi/(flag _ lamb da/);sum cos=sum(cos(alpha);sums in=sum(sin(alpha);B (I,)=(sum cos 2 sums in 2)/NP 2;EndN=255br=B/max(B)* N;Image(ymax,ys,Br);Title(衍射条纹);color map(gray(N);End首先,在绘图区域中拖动axis以调整其位置和大小。编写程序时,只需调用Axes(handles.axesXX)Axis fill关闭轴您可以完成工程图区域选取、使用设计的axis填充工程图,以及执行不显示axis的指令。当然,我们可以从头开始设置Set(handles.axesXX,visible,off)禁止显示坐标图。5)计算结果:与绘图区域中的命令类似,不同区域输出不同结果的步骤如下:全球许可Leixing=get (handles.popupmenu1,value);交换机leixing案例1文件=flag _ lambd a* flag _ d/flag _ a/;设定(handles.edit6、string、num2str)Otherwisejiao Kuan=flag _ lamb da/flag _ a* 1000;Set (handles.edit8、string、num 2 str(jiao Kuan);End3.3计算模块设计计算模块操作过程大致声明了相应的全局变量,然后从实验类型中进行选择,调用参数进行计算。3.4绘图模块设计类似于计算模块。3.5绘图模块设计此模块非常必要。因为完成干涉实验等实验后,其数据和图形会影响以后的实验。所以做下一个实验的时候,要抹去最后一个实验。程序如下:Set(handles.edit4,string,0);Set(handles.edit5,string,0);Set(handles.edit6,string,0);Set(handles.edit8,string,0);Plot(handles.axes1,0.0);Plot(handles.axes2,0.0);Set(handles.axes1,visible,off)Set(handles.axes2,visible,off)“退出”按钮:设计与fengmian界面中的“开始实验”按钮类似,不同之处在于没有连接其他界面。3.6提示模块设计错误消息:if flag _ lamb da 760 | | flag _ lamb da 390Message=输入值超出范围。请重新输入;Icon=errorMsgbox(message,错误,icon);Return关于退出提示:Question=确认结束?Title=退出;Button=question,title,yes,no,yes,If strcmp(button,Yes)ClearClcCloseEnd如果要绘制在相应axis上绘制的图形,通常只需运行下面的命令。Plot(handles.axesXX、)但是,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论