MATLAB图形用户界面设计仿真等.ppt
《MATLAB图形用户界面设计仿真等.ppt》由会员分享,可在线阅读,更多相关《MATLAB图形用户界面设计仿真等.ppt(64页珍藏版)》请在三一办公上搜索。
1、第7章 MATLAB图形用户界面设计,7.1 菜单设计7.2 对话框设计7.3 用户界面设计工具,目录,7.1 菜单设计,7.1.1 用户菜单的建立建立一级菜单项的函数调用形式为:一级菜单项句柄=uimenu(图形窗口句柄,属性名1,属性值1,属性名2,属性值2,)建立子菜单项的函数调用形式为:子菜单项句柄=uimenu(一级菜单项句柄,属性名1,属性值1,属性名2,属性值2,),目录,7.1.2 菜单对象常用属性菜单对象具有Children、Parent、Tag、Type、UserData、Visible等公共属性。除公共属性外,还有一些常用的特殊属性。,目录,例7.1建立“图形演示系统”菜
2、单。菜单条中含有3个菜单项:Plot、Option和Quit。Plot中有Sine Wave和Cosine Wave两个子菜单项,分别控制在本图形窗口画出正弦和余弦曲线。Option菜单项的内容如图7.1所示。其中Grid on和Grid off控制给坐标轴加网格线,Box on和Box off控制给坐标轴加边框,而且这4项只有在画有曲线时才是可选的。Figure Color控制图形窗口背景颜色。Quit控制是否退出系统。,程序如下:screen=get(0,ScreenSize);W=screen(3);H=screen(4);figure(Color,1,1,1,Position,0.2*
3、H,0.2*H,0.6*W,0.4*H,.Name,图形演示系统,NumberTitle,off,MenuBar,none);%定义Plot菜单项hplot=uimenu(gcf,Label,目录,7.1.3 快捷菜单在MATLAB中,可以使用uicontextmenu函数和图形对象的UIContextMenu属性来建立快捷菜单,具体步骤为:(1)利用uicontextmenu函数建立快捷菜单。(2)利用uimenu函数为快捷菜单建立菜单项。(3)利用set函数将该快捷菜单和某图形对象联系起来。,目录,hfigcor=uimenu(hoption,Label,例7.2 绘制曲线y=2e-0.5
4、xsin(2x),并建立一个与之相联系的快捷菜单,用以控制曲线的线型和曲线宽度。程序如下:x=0:pi/100:2*pi;y=2*exp(-0.5*x).*sin(2*pi*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,加宽,Cal
5、l,set(hl,LineWidth,2););uimenu(hlw,Label,变细,Call,set(hl,LineWidth,0.5););set(hl,UIContextMenu,hc);%将该快捷菜单和曲线对象联系起来,目录,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)静态文本(St
6、atic Text)。(10)边框(Frame)。,目录,7.2.2 对话框的设计 1.建立控件对象 MATLAB提供了用于建立控件对象的函数uicontrol,其调用格式为:对象句柄=uicontrol(图形窗口句柄,属性名1,属性值1,属性名2,属性值2,)其中各个属性名及可取的值和前面介绍的uimenu函数相似,但也不尽相同,下面将介绍一些常用的属性。2.控件对象的属性 MATLAB的10种控件对象使用相同的属性类型,但是这些属性对于不同类型的控件对象,其含义不尽相同。除Children、Parent、Tag、Type、UserData、Visible等公共属性外,还有一些常用的特殊属性
7、。,目录,例7.3 建立数制转换对话框。在左边输入一个十进制整数和216之间的数,单击“转换”按钮能在右边得到十进制数所对应的216进制字符串,单击“退出”按钮退出对话框。程序如下: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);uicontro
8、l(hf,Style,Text,Position,0.5,0.8,0.45,0.1,.Units,normalized,Horizontal,center,.String,输 出 框,Back,0,1,1);uicontrol(hf,Style,Frame,Position,0.04,0.33,0.45,0.45,.Units,normalized,Back,1,1,0);uicontrol(hf,Style,Text,Position,0.05,0.6,0.25,0.1,.Units,normalized,Horizontal,center,.String,十进制数,Back,1,1,0);
9、uicontrol(hf,Style,Text,Position,0.05,0.4,0.25,0.1,.Units,normalized,Horizontal,center,.String,216进制,Back,1,1,0);he1=uicontrol(hf,Style,Edit,Position,0.25,0.6,0.2,0.1,.Units,normalized,Back,0,1,0);he2=uicontrol(hf,Style,Edit,Position,0.25,0.4,0.2,0.1,.Units,normalized,Back,0,1,0);uicontrol(hf,Style,
10、Frame,Position,0.52,0.33,0.45,0.45,.Units,normalized,Back,1,1,0);ht=uicontrol(hf,Style,Text,Position,0.6,0.5,0.3,0.1,.Units,normalized,Horizontal,center,Back,0,1,0);COMM=n=str2num(get(he1,String);,b=str2num(get(he2,String);,.dec=trdec(n,b);,set(ht,string,dec);uicontrol(hf,Style,Push,Position,0.18,0.
11、1,0.2,0.12,.String,转 换,Units,normalized,Call,COMM);uicontrol(hf,Style,Push,Position,0.65,0.1,0.2,0.12,.String,退 出,Units,normalized,Call,close(hf);,目录,程序调用了trdec.m函数文件,该函数的作用是将任意十进制整数转换为216进制字符串。trdec.m函数文件如下:function dec=trdec(n,b)ch1=0123456789ABCDEF;%十六进制的16个符号 k=1;while n=0%不断除某进制基数取余直到商为0 p(k)=r
12、em(n,b);n=fix(n/b);k=k+1;end k=k-1;strdec=;while k=1%形成某进制数的字符串 kb=p(k);strdec=strcat(strdec,ch1(kb+1:kb+1);k=k-1;enddec=strdec;,目录,例7.4 建立图形演示对话框。在编辑框输入绘图命令,单击“绘图”按钮能在左边坐标轴得到所对应的图形,弹出框提供色图控制,列表框提供坐标网格线和坐标边框控制。程序如下:clf;set(gcf,Unit,normalized,Position,0.2,0.3,0.65,0.35);set(gcf,Menubar,none,Name,图形演
13、示,NumberTitle,off);axes(Position,0.05,0.15,0.55,0.7);uicontrol(gcf,Style,text,Unit,normalized,.Posi,0.63,0.85,0.2,0.1,String,输入绘图命令,Horizontal,center);hedit=uicontrol(gcf,Style,edit,Unit,normalized,Posi,0.63,0.15,0.2,0.68,.Max,2);%Max取2,使Max-Min1,从而允许多行输入 hpopup=uicontrol(gcf,Style,popup,Unit,normal
14、ized,.Posi,0.85,0.8,0.15,0.15,String,Spring|Summer|Autumn|Winter);hlist=uicontrol(gcf,Style,list,Unit,normalized,.Posi,0.85,0.55,0.15,0.25,String,Grid on|Grid off|Box on|Box off);hpush1=uicontrol(gcf,Style,push,Unit,normalized,.Posi,0.85,0.35,0.15,0.15,String,绘 图);uicontrol(gcf,Style,push,Unit,norma
15、lized,.Posi,0.85,0.15,0.15,0.15,String,关 闭,Call,close all);set(hpush1,Call,COMM(hedit,hpopup,hlist);set(hlist,Call,COMM(hedit,hpopup,hlist);set(hpopup,Call,COMM(hedit,hpopup,hlist);COMM.m函数文件:function COMM(hedit,hpopup,hlist)com=get(hedit,String);n1=get(hpopup,Value);n2=get(hlist,Value);if isempty(c
16、om)%编辑框输入非空时 eval(com);%执行从编辑框输入的命令 chpop=spring,summer,autumn,winter;chlist=grid on,grid off,box on,box off;colormap(eval(chpopn1);eval(chlistn2);end,目录,7.3 用户界面设计工具,7.3.1 图形界面控制面板 7.3.2 属性编辑器 7.3.3 事件过程编辑器 7.3.4 菜单编辑器 7.4.5 位置调整工具,目录,例7.5 利用界面设计工具设计用户界面。具体要求是:(1)在编辑框输入形成数据z的命令,然后选择三个按钮中的一个,即可绘制出z的
17、图形。(2)选择弹出框中的某个色图,能及时地更改绘图的颜色。(3)在图形窗口缺省的菜单条上添加一个菜单项Options,Options下又有两个子菜单项White和Red,选中White项时,图形窗口将变成白色,选中Red项时,图形窗口将变成红色。操作步骤如下:(1)打开图形界面控制面板,添加有关图形对象。(2)利用属性编辑器,设置图形对象的属性。(3)添加Options菜单项。,目录,第8章 MATLAB笔记本,8.1 笔记本的安装及启动8.2 输入单元的定义与执行8.3 计算区的定义与执行8.4 输出格式控制8.5 Notebook菜单的其他命令8.6 M-book模板样式的修改,目录,8
18、.1 笔记本的安装及启动,8.1.1 笔记本的安装在MATLAB命令窗口输入:notebook-setup笔记本的启动1.从Word中启动笔记本2.从MATLAB中启动笔记本,目录,8.1.3 MATLAB笔记本的界面MATLAB笔记本的界面和通常的Word界面主要有两点区别:(1)在菜单栏中多了一个Notebook菜单项,笔记本的许多操作都可以通过该菜单项的命令来完成。(2)在“文件”菜单项下多了一个New M-book命令项。如果在M-book模板下要建立新的M-book文档,可以选择该命令。,目录,8.2输入单元的定义与执行,基本操作1.输入单元的定义首先选中所需命令,然后在Notebo
19、ok菜单项中选择Define Input Cell命令,于是被选中的MATLAB命令成为输入单元。也可以在选中所需命令后,直接按组合键Alt+D。2.输入单元的执行选择Notebook菜单项中的Evaluate Cell命令或直接按组合键Ctrl+Enter。3.输出单元 输入单元执行后产生输出单元。,目录,例8.1定义并执行输入单元。操作步骤如下:(1)在文档中输入MATLAB命令。(2)选中命令行,在Notebook菜单项中选Define Input Cell命令或直接按组合键Alt+D,于是命令行就变成了“绿色”的输入单元。(3)若要把输入单元送去执行,则可用Notebook菜单项中的E
20、valuate Cell命令或直接按组合键Ctrl+Enter,执行后产生“蓝色”的输出单元:,目录,4.输入单元定义与执行同时进行 先选中MATLAB命令,然后从Notebook菜单项中选择Evaluate Cell命令或直接按组合键Ctrl+Enter,不但使被选中的命令成为输入单元,而且送去执行,产生输出单元。例8.2输入单元定义与执行同时进行。在英文状态下,以文本方式键入命令,然后选中命令并按Ctrl+Enter键,则得到输入、输出单元。,目录,8.2.2 自初始化单元及其应用1.自初始化单元选择Notebook菜单中的Define AutoInit Cell命令即可。2.自初始化单元
21、的应用,目录,单元群及其应用1.单元群单元群(Cell Group)是多行输入单元或自初始化单元组成的一个整体。2.单元群的应用单元群的用途主要有两个:(1)为保证MATLAB命令结构(如循环结构、条件结构)的完整。(2)为保证输出结果(如图形)的完整。,目录,单元的循环执行利用Notebook菜单中的Evaluate Loop命令可实现单元的循环执行。,目录,8.3 计算区的定义与执行,定义计算区的方法是:先选定包含普通Word文本、输入单元和输出单元的一个连续区,然后选择Notebook菜单中的Define Calc Zone命令。一旦计算区被定义后,不管光标在计算区的什么位置,只要选择N
22、otebook菜单中的Evaluate Calc Zone命令即可执行计算区中的全部输入单元,且在每个输入单元后面以输出单元形式给出相应的计算结果。,目录,8.4 输出格式控制,可以通过Notebook菜单中的Notebook Options命令来实现。选择该命令后,会弹出输出格式控制对话框,以后的操作都是针对该对话框进行。,目录,8.4.1 输出数据格式控制1.输出数据的表示方式2.输出数据间的空行控制 8.4.2 输出图形格式控制利用输出格式控制对话框,也可以实现对输出图形的控制。1.图形镶嵌的控制2.曲面图色彩控制3.图形背景色的控制4.图形大小的控制,目录,8.5 Notebook菜单
23、的其他命令,整个M-book文档输入单元的执行Notebook菜单项中的Evaluate M-book命令可以把整个M-book文档中的所有输入单元送到MATLAB中去执行。不管光标处于文档的什么位置,执行总是从文档首部开始。删去M-book文档中所有输出单元Notebook菜单项中的Purge Output Cells命令可以删去M-book文档中所有输出单元。,目录,单元转化为文本选定单元,再选择Notebook菜单中的Undefine Cells命令。或将光标置于单元之中,按组合键AltU。当某输入单元或单元群被转化为文本时,与之相应的输出单元也被自动转化为文本。,目录,8.6 M-bo
24、ok模板样式的修改,同其他Word模板一样,用户既可以修改M-book模板原有样式,也可以加入新样式。例如,现有的M-book模板中,输入单元是绿色的,输出单元和自初始化单元是蓝色的,错误单元是红色的。现在可以把输出单元的颜色变为黑色。,目录,第9章 MATLAB环境下的仿真软件Simulink,9.1 Simulink的基本操作9.2 Simulink的几类基本模块9.3 仿真模型参数的设置9.4 子系统的建立与封装9.5 在命令窗口中创建模型9.6 S-函数的设计和应用9.7 仿真系统的线性化分析,目录,9.1 Simulink的基本操作,9.1.1 Simulink的启动与退出 1.Si



- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 图形 用户界面 设计 仿真

链接地址:https://www.31ppt.com/p-6511816.html