姓名学号专业班级
课程名称MATLAB程序设计A实验名称图形用户界面设计
实验日期
同组人员指导教师
得分
【实验名称】图形用户界面设计
【实验类型】设计性实验
【实验目的与要求】
目的:
利用MATLAB进行图形用户界面的综合性设计;
完成语言编程。
要求:
学习利用MATLAB进行图形用户界面的编辑与设计;
掌握图形界面的后台语言编程的基本方法。
【实验主要仪器设备及台套数】
装有MATLAB(版本7.1)应用软件的计算机。
【实验学时】2学时
1.绘制曲线,并建立一个与之相联系的快捷捷菜单,用以控制曲线的线性和曲线宽度。
2.利用GuI设计工具设计如图所示的用户界面。该界面包括一个用于显示图形的坐标轴对象,显示的图形包括表面图、网络图和等高线图。绘制图形所需要的数据通过一个弹出框来选取。在弹出框中包括3个选项,分别对应MATLAB的数据函数peaks、membrane和用户自定义的绘图数据sinc,用户可以通过选择相应的选项来载入相应的绘图数据。在图形窗口默认的菜单条上添加一个菜单项select,select下又有两个字菜单项yellow和red,选中yellow项时窗口将变成黄色,选中red项时图形窗口将变成红色。
2.题操作步骤
打开GUI设计窗口,添加有关图形对象。
利用属性编辑器,设置图形对象的属性。
保存图形用户界面。
编写代码,实现控件功能。
①为打开图形窗口事件编写相应代码。在guidemo_OpeningFun函数,输入以下代码。
handles.peaks=peaks(35);
handles.membrane=membrane;
[x,y]=meshgrid(-8:0.5:8);
r=sqrt(x.^2+y.^2);
sinc=sin(r)./(r+eps);
handles.sinc=sinc;
handles.current_data=handles.sinc;
surf(handles.current_data)
②为弹出框编写相应代码。选择Choose_FunCallback函数,输入以下代码。
str=get(hObject,''String'');
val=get(hObject,''Value'');
switchstr{val}
case''Peaks''
handles.current_data=handles.peaks;
case''Membrane''
handles.current_data=handles.membrane;
case''Sinc''
handles.current_data=handles.sinc;
end
guidata(hObject,handles)
③为Mesh按钮编写相应代码。选择Mesh_callback函数,在该区添加以下代码。
建立如图所示的图形演示窗口。在编辑框输入a、b、c的值,当单机“绘图”按钮时,绘制的图形,观察参数a、b、c对图形的变化。
【实验步骤】
1.题操作步骤
(1)打开MATLAB软件。
(2)在commandwindow窗口中输入以下代码。
x=0:pi/100:2pi;
y=2sin(5x).sin(x);
hl=plot(x,y);
hc=uicontextmenu; %建立快捷菜单
hls=uimenu(hc,''Label'',''线型''); %建立菜单项
hlw=uimenu(hc,''Label'',''线宽'');
uimenu(hls,''Label'',''虚线'',''Call'',''set(hl,''''LineStyle'''','''':'''');'');
uimenu(hls,''Label'',''实线'',''Call'',''set(hl,''''LineStyle'''',''''-'''');'');
uimenu(hlw,''Label'',''加宽'',''Call'',''set(hl,''''LineWidth'''',2);'');
uimenu(hlw,''Label'',''变细'',''Call'',''set(hl,''''LineWidth'''',0.5);'');
set(hl,''UIContextMenu'',hc); %将该快捷菜单和曲线对象联系起来
mesh(handles.current_data)
④为Surf按钮编写相应代码。选择Surf_Callback函数,在该区添加以下代码。
surf(handles.current_data)
⑤为Contour3按钮编写相应代码。选择Contour3_Callback函数,在该区添加以下代码。
contour3(handles.current_data)
题操作步骤
新建一个GUI,在图形窗口上添加1个坐标轴、3个静态文本框、3个编辑框和1个按钮。图形窗口的MenuBar属性设置为none,Name属性为“图形演示”,其余控件的属性按图是设置。
在按钮的pushbutton_Callback函数中添加以下代码。
com1=get(handles.edit1,''String'');
com2=get(handles.edit2,''String'');
com3=get(handles.edit3,''String'');
a=eval(com1);
b=eval(com2);
c=eval(com3);
x=-5:0.1:5;
y=ax.x+bx+c;
axis([-5,5,-20,20]);
plot(x,y)
holdon;
【实验心得】
通过本次实验我了解了图形用户界面设计,在设计界面时首先要了解用户界面。了解里面的控件、菜单和按钮等,本次实验的步骤一般为:首先要选好对象,其次要调整好属性,重新命名,然后要建立M文件等。在做实验时,要做到足够的细心,否则一不留意就会出错。上机的实验,加深了我对MATLAB这款软件的认识。本次试验,我遇到了一些问题,比如属性忘了改,代码编写错误等,通过我不断反复修改,终于全做完了,本次实验增加了我纠错改正的能力,这将为以后的学习奠定了一定的基础。
|
|