MATLAB界面设计报告-优秀篇
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于MATLAB的单色光的干涉和衍射实验
GUI
设
计
报
告
目录
一、概述 (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。而音频的格式只能为:.au和.wav。在调用音频时要注意音频不宜过大,当时我调用了一个10M的音频,matlab运行不起来了。所以,可以将喜爱的音频截取一小段。
如何关掉音乐:在点击“开始实验”时,希望音乐也随之关掉,通过老师的讲解,我知道了在“close”语句之前,加上“clear all”就可将所有程序关掉。
如何与下一个GUI界面链接。只需在“开始实验”之后加上下一个GUI界面的名字即可,这是从网上搜的。在我们遇到不懂的问题,看书是一方面,问同学,上网查资料也是很好的选择。我觉得只要在最快的时间内解决问题,并能学会这种方法就是最好的结果。
3.2实验界面设计
此界面由“实验类型选择”、“参数输入”、“实验原理图”、“绘图区”、“计算结果”、“操作按钮”六大板块组成。界面简洁而清晰。打底色