MATLAB界面设计报告-优秀篇.docVIP

  • 3
  • 0
  • 约6.84千字
  • 约 15页
  • 2019-07-28 发布于浙江
  • 举报
基于MATLAB的单色光的干涉和衍射实验 GUI 设 计 报 告 目 录 TOC \o 1-3 \h \z \u 一、概述 3 二、前期准备 3 2.1干涉原理及程序 3 2.2衍射原理及程序 4 三、设计阶段 5 3.1进入模块设计 5 3.2实验界面设计 5 3.3计算模块设计 8 3.4绘图模块设计 8 3.5清除模块设计 8 3.6提示模块设计 8 四、软件使用方法 9 五、感想 15 六、参考文献 15 一、概述 MATLAB是目前世界上最流行的、应用最广泛的工程计算和仿真软件,它将计算、可视化和编程等功能同时集于一个易于开发的环境。MATLAB主要应用于数学计算、系统建模与仿真、数学分析与可视化、科学与工程绘图和用户界面设计等。 其中,用户界面设计中,GUI开发环境是MATLAB7.3为设计图形用户界面提供了一个集成与开发环境,且广泛用于实验模拟软件开发中。 此次我所设计的是一个较简洁、清晰的关于单色光干涉与衍射实验的软件。其能完成特定条件下干涉条纹间距和衍射半角的计算,以及干涉条纹和衍射条纹的绘制。 二、前期准备 2.1干涉原理及程序 干涉原理图 程序如下: ym=5*flag_lambda*flag_D/flag_a/1000000; xs=ym; n=101; ys=linspace(-ym,ym,n); for i=1:n r1=sqrt((ys(i)-(flag_a/1000)/2).^2+(flag_D)^2); r2=sqrt((ys(i)+(flag_a/1000)/2).^2+(flag_D)^2); phi=2*pi*(r2-r1)/(flag_lambda/1000000000); B(i,:)=4*cos(phi/2).^2; end N=255; Br=(B/4.0)*N; image(xs,ys,Br); title(干涉条纹) colormap(gray(N)); 2.2衍射原理及程序 衍射原理图 程序如下: ymax=3*flag_lambda*flag_D/flag_a/1000000; Ny=51; ys=linspace(-ymax,ymax,Ny); NP=51; yP=linspace(0,flag_a/1000,NP); for i=1:Ny SinPhi=ys(i)/(flag_D); alpha=2*pi*yP*SinPhi/(flag_lambda/1000000000); SumCos=sum(cos(alpha)); SumSin=sum(sin(alpha)); B(i,:)=(SumCos^2+SumSin^2)/NP^2; end N=255; Br=B/max(B)*N; image(ymax,ys,Br); title(衍射条纹); colormap(gray(N)); 三、设计阶段 3.1进入模块设计 进入实验界面模块是用来与使用软件者交互的界面。其中包含一些诸如软件功能、实验设计者等基本信息。点击“开始实验”进入实验。 3.1.1主要知识点 1)音频的读取: y=wavread(yinyue.wav); % 读入声音文件 sound(y) % 由声卡播放声音 2)图片的读取: imshow(shanda.bmp) 3)与下一个模块的连接: % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) clear all close Shiyan 3.1.2遇到的问题及解决方法 图片的格式可为:.bmp、.gif、.jpg、.png、.hdf、.pcx、.xwd、.ico、 .cur。而音频的格式只能为:

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档