第7章 MATLAB图形用户界面设计
时间:2025-07-03
时间:2025-07-03
MATLAB,智能控制,模糊控制,神经网络控制
第7章 MATLAB图形用户界面设计 7.1 菜单设计 7.2 对话框设计 7.3 用户界面设计工具
MATLAB,智能控制,模糊控制,神经网络控制
7.1 菜单设计 7.1.1 用户菜单的建立 建立一级菜单项的函数调用形式为: 一级菜单项句柄=uimenu(图形窗口句柄,属性名1,属性 值1,属性名2,属性值2,…) 建立子菜单项的函数调用形式为: 子菜单项句柄=uimenu(一级菜单项句柄,属性名1,属性 值1,属性名2,属性值2,…)
MATLAB,智能控制,模糊控制,神经网络控制
7.1.2 菜单对象常用属性 菜单对象具有Children、Parent、Tag、Type、UserData、 Visible等公共属性。除公共属性外,还有一些常用的 特殊属性。
MATLAB,智能控制,模糊控制,神经网络控制
例7.1建立“图形演示系统”菜单。菜单条中含有3个菜单 项:Plot、Option和Quit。Plot中有Sine Wave和Cosine Wave两个子菜单项,分别控制在本图形窗口画出正弦 和余弦曲线。Option菜单项的内容如图7.1所示。其中 Grid on和Grid off控制给坐标轴加网格线,Box on和 Box off控制给坐标轴加边框,而且这4项只有在画有曲 线时才是可选的。Figure Color控制图形窗口背景颜色。 Quit控制是否退出系统。
MATLAB,智能控制,模糊控制,神经网络控制
程序如下:screen=get(0,'ScreenSize'); W=screen(3);H=screen(4); figure('Color',[1,1,1],'Position',[0.2*H,0.2*H,0.6*W,0.4*H],... 'Name','图形演示系统','NumberTitle','off','MenuBar','none'); %定义Plot菜单项 hplot=uimenu(gcf,'Label','&Plot'); uimenu(hplot,'Label','Sine Wave','Call',['t=-pi:pi/20:pi;','plot(t,sin(t));',... 'set(hgon,''Enable'',''on'');','set(hgoff,''Enable'',''on'');',... 'set(hbon,''Enable'',''on'');','set(hboff,''Enable'',''on'');']); uimenu(hplot,'Label','Cosine Wave','Call',['t=-pi:pi/20:pi;','plot(t,cos(t));',... 'set(hgon,''Enable'',''on'');','set(hgoff,''Enable'',''on'');',... 'set(hbon,''Enable'',''on'');','set(hboff,''Enable'',''on'');']); %定义Option菜单项 hoption=uimenu(gcf,'Label','&Option'); hgon=uimenu(hoption,'Label','&Grig on','Call','grid on','Enable','off'); hgoff=uimenu(hoption,'Label','&Grig off','Call','grid off','Enable','off'); hbon=uimenu(hoption,'Label','&Box on','separator','on','Call','box on','Enable','off'); hboff=uimenu(hoption,'Label','&Box off','Call','box off','Enable','off'); hfigcor=uimenu(hoption,'Label','&Figure Color','Separator','on'); uimenu(hfigcor,'Label','&Red','Accelerator','r','Call','set(gcf,''Color'',''r'');'); uimenu(hfigcor,'Label','&Blue','Accelerator','b','Call','set(gcf,''Color'',''b'');'); uimenu(hfigcor,'Label','&Yellow','Call','set(gcf,''Color'',''y'');'); uimenu(hfigcor,'Label','&White','Call','set(gcf,''Color'',''w'');'); %定义Quit菜单项 uimenu(gcf,'Label','&Quit','Call','close(gcf)');
MATLAB,智能控制,模糊控制,神经网络控制
7.1.3 快捷菜单 在MATLAB中,可以使用uicontextmenu函数和图形对象 的UIContextMenu属性来建立快捷菜单,具体步骤为: (1)利用uicontextmenu函数建立快捷菜单。 (2)利用uimenu函数为快捷菜单建立菜单项。 (3)利用set函数将该快捷菜单和某图形对象联系起来。
MATLAB,智能控制,模糊控制,神经网络控制
例7.2 绘制曲线y=2e-
0.5xsin(2πx),并建立一个与 之相联系的快捷菜单,用以控制曲线的线型和曲线宽 度。 程序如下:x=0:pi/100:2*pi; y=2*exp(-0.5*x).*sin(2*pi*x); hl=plot(x,y); hc=uicontextmenu; %建立快捷菜单 hls=uimenu(gcf,'Label','线型'); %建立菜单项 hlw=uimenu(gcf,'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); %将该快捷菜单和曲线对象联系起来
MATLAB,智能控制,模糊控制,神经网络控制
7.2 对话框设计 7.2.1 对话框的控件 (1)按钮(Push Button)。 (2)双位按钮(Toggle Button)。 (3)单选按钮(Radio Button)。 (4)复选框(Check Box)。 (5)列表框(List Box)。 (6)弹出框(Popup Menu)。 (7)编辑框(Edit Box)。 (8)滑动条(Slider)。 (9)静态文本(Static Text)。 (10)边框(Frame)。
MATLAB,智能控制,模糊控制,神经网络控制
7.2.2 对话框的设计 1. 建立控件对象 MATLAB提供了用于建立控件对象的函数uicontrol,其 调用格式为: 对象句柄=uicontrol(图形窗口句柄,属性名1,属性值1, 属性名2,属性值2,…) 其中各个属性名及可取的值和前面介绍的uimenu函数 相似,但也不尽相同,下面将介绍一些常用的属性。 2. 控件对象的属性 MATLAB的10种控件对象使用相同的属性类型,但是 这些属性对于不同类型的控件对象,其含义不尽相同。 除Children、Parent、Tag、Type、UserData、Visible等 公共属性外,还有一些常用的特殊属性。
MATLAB,智能控制,模糊控制,神经网络控制
例7.3 建立数制转换对话框。在左边输入一个十进制整数 和2~16之间的数,单击“转换”按钮能在右边得到十 进制数所对应的2~16进制字符串,单击“退出”按钮 退出对话框。
MATLAB,智能控制,模糊控制,神经网络控制
程序如下:hf=figure('Color',[0,1,1],'Position',[100,200,400,200],... 'Name','数制转换','NumberTitle','off','MenuBar','none'); uicontrol(hf,'Style','Text', 'Units','normalized',... 'Position',[0.05,0.8,0.45,0.1],'Horizontal','center',... 'String','输 入 框','Back',[0,1,1]); uicontrol(hf,'Style','Text','Position',[0.5,0.8,0.45,0.1],... 'Units','normal …… 此处隐藏:5294字,全部文档内容请下载后查看。喜欢就下载吧 ……
上一篇:在校大学生学车调查报告本科论文