配色: 字号:
Matlab图形用户界面设计
2015-06-07 | 阅:  转:  |  分享 
  
姓名学号专业班级

课程名称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这款软件的认识。本次试验,我遇到了一些问题,比如属性忘了改,代码编写错误等,通过我不断反复修改,终于全做完了,本次实验增加了我纠错改正的能力,这将为以后的学习奠定了一定的基础。









献花(0)
+1
(本文系稻草人之书首藏)