MATLAB界面设计报告-优秀篇

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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实验界面设计

此界面由“实验类型选择”、“参数输入”、“实验原理图”、“绘图区”、“计算结果”、“操作按钮”六大板块组成。界面简洁而清晰。打底色

相关文档
最新文档