2019-Matlab的图形用户界面GUI-文档资料
- 格式:ppt
- 大小:1.17 MB
- 文档页数:45
在MATLAB中创建用户界面和GUI应用程序MATLAB是一种广泛应用的数学软件,对于数据分析和科学计算具有强大的功能。
然而,仅仅通过MATLAB的命令行窗口进行操作往往不够便捷,特别是当需要进行大量的重复性操作时。
为了解决这个问题,MATLAB提供了创建用户界面(User Interface,简称UI)和GUI(Graphical User Interface)应用程序的功能。
1. GUI应用程序的基本概念GUI应用程序可以通过可视化的方式与用户进行交互,通过按钮、滑块、文本框等控件来实现用户与程序的数据传递和操作。
在MATLAB中创建GUI应用程序的首要步骤是创建一个GUI窗口,可以通过MATLAB提供的GUIDE(GUI Development Environment)工具进行操作,也可以通过编写代码的方式来创建。
2. 使用GUIDE创建GUI应用程序GUIDE是MATLAB提供的一个可视化工具,可以帮助用户创建GUI应用程序。
使用GUIDE可以通过拖拽控件的方式来创建窗口,并使用属性编辑器对控件进行设置。
例如,可以添加按钮和文本框,并设置按钮的回调函数,以实现按下按钮时触发特定的操作。
GUIDE还提供了布局管理器,使得控件的排列和布局更加灵活。
创建完成后,GUIDE会生成一个.m文件和一个.fig文件,分别对应GUI应用程序的代码和界面。
3. 通过编写代码创建GUI应用程序除了使用GUIDE,用户还可以通过编写代码的方式来创建GUI应用程序。
首先,需要创建一个窗口,可以使用MATLAB中的`figure`函数来实现。
然后,可以使用不同的MATLAB函数来添加各种控件,例如`uicontrol`函数用于添加按钮,`uimenu`函数用于添加菜单等。
通过设置控件的属性和回调函数,可以实现控件的响应和交互。
4. GUI应用程序实例假设我们需要一个简单的计算器应用程序,用户可以输入两个数值并选择进行加法、减法、乘法或除法运算。
在Matlab中使用GUI设计用户界面引言Graphical User Interface (GUI) 是现代计算机软件中常用的一种类型用户界面,它通过图形化的形式提供了直观、易用的操作方式。
Matlab作为一种功能强大的数值计算软件,也提供了丰富的GUI设计工具,使得用户可以通过简单的拖拽和设置,快速地创建出美观实用的用户界面。
本文将介绍在Matlab中使用GUI设计用户界面的基本原理和步骤,并结合实例演示具体操作。
一、Matlab中的GUI设计工具Matlab提供了几种常用的GUI设计工具,包括GUIDE(GUI Development Environment)和App Designer。
GUIDE是Matlab较早期的一个GUI设计工具,提供了可视化的编辑界面,方便用户进行界面布局和交互事件的设置。
而App Designer是Matlab较新推出的GUI设计工具,相比GUIDE具有更加丰富的功能和更好的可视化编辑体验。
在本文中,我们将以App Designer为例来介绍Matlab中的GUI设计过程。
二、创建GUI应用程序在Matlab的主界面中,点击"APPS"菜单,选择"App Designer"打开App Designer界面,然后点击"Create App"按钮创建一个新的GUI应用程序。
在弹出的对话框中输入应用程序的名称并设置保存位置,点击"Create"按钮即可创建一个空的GUI应用程序。
三、设计用户界面在App Designer中,可以通过拖拽和调整控件来设计用户界面。
常用的控件包括按钮、文本框、下拉菜单、滑块等,用户可以根据需求自由选择和排列这些控件。
同时,还可以设置控件的属性,如大小、颜色、字体等,以及添加交互事件,如按下按钮后执行的操作。
四、设置控件属性和交互事件在设计好用户界面后,需要为每个控件设置相应的属性和交互事件。
(1)利用Matlab的图形用户界面(GUI)功能,设计并实现实验主界面;(2) 实现在“符号计算”图形用户界面中的各项符号计算功能,如实现Matlab的求极限、求导、求不定积分与定积分、级数求和、方程组的符号求解、常微分方程的符号求解等符号计算;(3) 利用Matlab的二维、三维绘图功能,实现图形用户界面(GUI)中的部分符号计算的可视化,即给出符号计算实例的同时实现该实例的图形化描述。
如下图给出了一个简单的GUI界面,学生可以参考如下图设计出自己的GUI界面。
程序如下:hf=figure('Position',[200,200,700,500],...'Name','信计08(2)班阿卜杜热黑木20080803417', ...'NumberTitle','off','MenuBar','none');uicontrol(hf,'Style','Frame','Position',[0,0.15,0.45,1],...'Units','normalized','Back',[0,1,1]);COMM1=['n=str2num(get(he1,''String''));', ...%求导连接'b=sym(get(he7,''String''));',...'dec=diff(b,n);', ...'set(he8,''string'',char(dec));'];COMM2=['a=str2num(get(he2,''String''));', ...%求极限连接'f=sym(get(he7,''String''));',...'lim=limit(f,a);', ...'set(he8,''string'',char(lim));'];COMM3=['g=sym(get(he7,''String''));',... %不定积分连接'int_1=int(g);', ...'set(he8,''string'',char(int_1));'];COMM4=['a=str2num(get(he3,''String''));', ... %级数求和连接'b=str2num(get(he5,''String''));', ...'f=sym(get(he7,''String''));',...'sum_1=symsum(f,a,b);', ...'set(he8,''string'',char(sum_1));'];COMM5=['a=str2num(get(he4,''String''));', ... %定积分连接'b=str2num(get(he6,''String''));', ...'f=sym(get(he7,''String''));',...'int_2=int(f,a,b);', ...'set(he8,''string'',char(int_2));'];COMM6=['f=get(he7,''String'');',...'dsolve_1=dsolve(f,''x'');', ...'set(he8,''string'',char(dsolve_1));'];COMM7=['f=get(he7,''String'');',...'ezplot(f);'];COMM8=['g=get(he8,''String'');',...'ezplot(g);'];uicontrol(hf,'Style','Push','Position',[0.02,0.9,0.11,0.06],...'String','求导','Units','normalized','Call',COMM1); uicontrol(hf,'Style','Text','Position',[0.17,0.85,0.08,0.1],...'Units','normalized','Horizontal','center',...'String','阶数','Back',[0,1,1]);he1=uicontrol(hf,'Style','Edit','Position',[0.25,0.9,0.15,0.06],...'Units','normalized','Back',[0,1,0]);uicontrol(hf,'Style','Push','Position',[0.02,0.72,0.13,0.06],...'String','求极限','Units','normalized','Call',COMM2);uicontrol(hf,'Style','Text','Position',[0.17,0.67,0.08,0.1],...'Units','normalized','Horizontal','center',...'String','极限点','Back',[0,1,1]);he2=uicontrol(hf,'Style','Edit','Position',[0.25,0.72,0.15,0.06],...'Units','normalized','Back',[0,1,0]);uicontrol(hf,'Style','Push','Position',[0.02,0.58,0.13,0.06],...'String','不定积分','Units','normalized','Call',COMM3);uicontrol(hf,'Style','Push','Position',[0.02,0.45,0.13,0.06],...'String','级数求和','Units','normalized','Call',COMM4);uicontrol(hf,'Style','Text','Position',[0.31,0.44,0.06,0.06],...'Units','normalized','Horizontal','center',...'String','上限','Back',[0,1,1]);he5=uicontrol(hf,'Style','Edit','Position',[0.38,0.45,0.06,0.06],...'Units','normalized','Back',[0,1,0]);uicontrol(hf,'Style','Text','Position',[0.17,0.44,0.06,0.06],...'Units','normalized','Horizontal','center',...'String','下限','Back',[0,1,1]);he3=uicontrol(hf,'Style','Edit','Position',[0.24,0.45,0.06,0.06],...'Units','normalized','Back',[0,1,0]);uicontrol(hf,'Style','Push','Position',[0.02,0.32,0.13,0.06],...'String','求定积分','Units','normalized','Call',COMM5);uicontrol(hf,'Style','Text','Position',[0.31,0.31,0.06,0.06],...'Units','normalized','Horizontal','center',...'String','上限','Back',[0,1,1]);he6=uicontrol(hf,'Style','Edit','Position',[0.38,0.32,0.06,0.06],...'Units','normalized','Back',[0,1,0]);uicontrol(hf,'Style','Text','Position',[0.17,0.3,0.08,0.06],...'Units','normalized','Horizontal','center',...'String','下限','Back',[0,1,1]);he4=uicontrol(hf,'Style','Edit','Position',[0.24,0.32,0.06,0.06],...'Units','normalized','Back',[0,1,0]);uicontrol(hf,'Style','Push','Position',[0.02,0.2,0.16,0.06],...'String','解微分方程','Units','normalized','Call',COMM6);uicontrol(hf,'Style','text','Position',[0.48,0.9,0.13,0.06],...'String','原函数','Units','normalized');he7=uicontrol(hf,'Style','edit','Position',[0.65,0.9,0.30,0.06],...'String','','Units','normalized','Back',[0,1,0]);uicontrol(hf,'Style','text','Position',[0.48,0.77,0.13,0.06],...'String','结果函数','Units','normalized');he8=uicontrol(hf,'Style','text','Position',[0.65,0.77,0.30,0.06],...'String','','Units','normalized','Back',[0,1,0]);h_axes=axes('position',[0.55,0.2,0.4,0.5]);uicontrol(hf,'Style','push','Position',[0.58,0.02,0.13,0.06],...'String','初始绘图','Units','normalized','call',COMM7);uicontrol(hf,'Style','push','Position',[0.80,0.02,0.13,0.06],...'String','结果绘图','Units','normalized','call',COMM8);uicontrol(hf,'Style','Push','Position',[0.02,0.02,0.08,0.06],...'String','退出','Units','normalized','Call', 'close');。
第 8 章 图形用户界面GUI假如读者所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不会考虑图形用户界面(Graphical User Interfaces ,GUI )的制作。
但是如果读者想向别人提供某种新的设计分析工具,想体现某种新的设计分析理念,想进行某种技术、方法的演示,那么图形用户界面也许是最好的选择之一。
MATLAB 本身提供了很多的图形用户界面,如sisotool “单输入单输出控制系统设计工具”、fdatool “滤波器设计和分析工具”等。
这些工具的出现不仅提高了设计和分析效率,而且改变原先的设计模式,引出了新的设计思想,改变了和正在改变着人们的设计、分析理念。
正是出于这种观察,作者将图形用户界面内容列入本教程。
本章由四个精心设计的算例组成。
这四个算例,一方面尽可能多地向读者展现构成GUI 的各种控件或组件,另方面借助算例中回调函数的编写较快地将读者引向GUI 制作的纵深。
本书作者相信:读者只要耐心地按照示例进行操作,便能在愉快感受GUI 成功制作的同时,事半功倍地掌握GUI 的制作技巧。
8.1 图形用户界面入门示例【例8.1-1】为演示归一化二阶系统121)(2++=s s s G ζ中阻尼比ζ对单位阶跃响应的影响,需要制作如图8.1-1所示的用户界面图8.1-11)图8.1-2 进入GUIDE开发环境的默认引导对话窗图8.1-3 默认的空白用户界面开发环境GUIDE 2)●●点选“轴Axes”图标;●点选“静态文本框Static Text”图标●点选“可编辑文本框Edit Text ”图标图8.1-4 3)界面组件的参数设置●用户界面窗的参数设置⏹,再点击界面编辑器工具条上的图标,图8.1-5 ●●●●图8.1-6 4)●点击工具条上的图标,●●●图8.1-7图8.1-85)●,点击HOME工具带NAVIGATE导航区上的Go To转至图标●●get(hObject,'String'); %zeta=str2double(get(hObject,'String')); %handles.t=0:0.05:15; %handles.y=step(tf(1,[1,2*zeta,1]),handles.t); %cla %line(handles.t,handles.y) %●●,再点击界面编辑器(或M文件编辑器)上的图标,图8.1-9图8.1-106)〖说明〗8.2 控件创建及应用示例本小节仍以算例为依托,详细讲述用户界面的创建步骤和注意要点。
用MATLAB制作图形用户界面MATLAB是一种流行的科学计算软件,它不仅在数值计算和数据分析领域有着广泛的应用,还提供了一种高效的界面设计工具,使得用户可以自定义和制作自己的图形用户界面(GUI)。
通过创建自定义的GUI,用户可以简化复杂操作,提高工作效率,下面就让我们来学习如何用MATLAB制作图形用户界面。
MATLAB的图形用户界面主要由以下几部分组成:窗口:窗口是GUI的基本元素,它提供了一个空间,用户可以在其中添加和组织各种控件(如按钮、文本框等)。
控件:控件是GUI中的基本元素,它们可以接收用户的输入,并在窗口中显示出来。
例如,按钮、文本框、滑动条等都是常见的控件。
菜单:菜单是GUI中的一种导航工具,它们可以链接到其他窗口或者函数,方便用户进行操作。
工具栏:工具栏是GUI中的一种快速执行工具,它们提供了一键执行常见操作的快捷方式。
下面就让我们通过一个简单的例子来学习如何用MATLAB制作一个简单的图形用户界面:打开MATLAB,在命令窗口输入“guide”,并按Enter键。
这将打开GUI设计工具。
在打开的GUI设计工具中,选择“Blank GUI”并点击“OK”,进入GUI编辑器。
在GUI编辑器中,你可以看到一个空白的窗口和一些控件。
你可以通过拖拽的方式将这些控件添加到窗口中。
选中你添加的控件,在右侧的“Properties”面板中,你可以修改控件的属性,如颜色、字体、大小等。
在设计完成后,点击“Save”按钮,保存你的GUI。
此时,MATLAB会生成一个.fig文件和一个.m文件。
其中.fig文件是GUI的图形文件,而.m文件包含了GUI的代码。
在生成的.m文件中,你可以编写控件的事件处理函数。
例如,当用户点击按钮时,应该执行什么样的操作。
在编写完事件处理函数后,你就可以运行你的GUI了。
在命令窗口输入“edit(gcf)”,然后按Enter键,就可以打开你的GUI并进行测试了。
MATLAB实用教程GUI
MATLAB是一种非常强大的数值计算软件,广泛应用于科学计算、工程设计和数据分析等领域。
其中的GUI(Graphical User Interface,图形用户界面)功能可以帮助用户设计出直观、交互性强的界面,提高使用效率和易用性。
本篇教程将介绍如何利用MATLAB的GUI功能创建一个实用的界面。
首先,打开MATLAB软件,并在"Home"选项卡中选择"New Script"创建一个新的脚本。
在脚本中,我们将使用MATLAB的GUI工具箱中的"App Designer"来创建界面。
除了按钮的点击事件外,还可以处理其他各种事件。
例如,通过为文本框添加"ValueChangedFcn"回调函数,可以在文本框内容发生更改时执行相应的操作。
在界面设计完成后,可以通过点击"Run"按钮来运行应用程序,并与用户进行交互。
可以输入文本、选择菜单项、点击按钮等等,然后根据用户的输入做出相应的反应。
通过与用户的交互,可以进行各种有用的计算和处理。
值得一提的是,MATLAB的GUI功能还支持将用户界面保存为独立的应用程序,并与其他MATLAB代码集成。
这意味着界面所包含的各种计算和分析能力可以通过编写MATLAB函数来实现,然后在界面的回调函数中调用这些函数。
这为用户提供了更大的自由度和灵活性,以满足不同需求的应用场景。
第七讲MATLAB图形⽤户界⾯(GUI)设计第7讲MATLAB图形⽤户界⾯(GUI)设计图形⽤户界⾯(GUI, Graphical User Interface)是由图形控件构建的⽤于⼈与计算机交互信息的界⾯。
在图形⽤户界⾯上,⽤户可以根据界⾯上的提⽰信息完成⾃⼰的⼯作,⽽不需要记忆⼤量繁琐的命令,只需通过⿏标、键盘等便捷的⽅式与计算机交互信息、选择想要运⾏的程序、控制程序的运⾏、实时显⽰图形信息。
MATLAB创建的图形⽤户界⾯对象有三类:⽤户界⾯控件,如按钮、列表框、编辑框等;下拉菜单,如菜单、⼦菜单;内容菜单,如弹出式菜单。
⼀、命令⾏建⽴⽤户界⾯的⽅法1、创建控件命令:uicontrol调⽤格式:1)uicontrol(‘PropertyName1’,value1, ‘PropertyName2’,value2,……)功能:在当前图形⽤户的界⾯上,应⽤当前制定的属性值创建控件;2)h=uicontrol(‘PropertyName1’,value1, ‘PropertyName2’,value2,……)功能:在当前图形⽤户的界⾯上,应⽤当前制定的属性值创建控件,并返回控件的句柄;3)uicontrol(FIG, ‘PropertyName1’,value1, ‘PropertyName2’,value2,……)功能:在句柄FIG指定的图形⽤户界⾯上,创建控件;4)h=uicontrol(FIG, ‘PropertyName1’,value1, ‘PropertyName2’,value2,……) 功能:在句柄FIG指定的图形⽤户界⾯上,创建控件,并返回控件的句柄。
说明:函数中的PropertyName参数的参数值有:Push buttons(命令按钮)、sliders (滚动条控件)、Radio button(单选按钮)、Check box(复选框)、Edit text (可编程⽂本框)、Static text(静态⽂本框)、Pop_up menus(弹出式菜单)、listbox(列表框)、Toggle button(开关按钮)、Axes(坐标轴)、Panel(⾯板控件)、Button group(按钮组框)、ActiveX control(ActiveX 控件)。
第七章MATLAB的图形用户界面(GUI)的设计1.用户界面控制对象(1)窗口、轴、按钮的建立例1(gui_1.m):clear;clf;Hf_fig=figure(1);%建立一个窗口set(Hf_fig,'position',[100,100,540,360],...'color',[0.8,0.8,0.8]);%窗口位置属性:左下角点,宽×高,颜色Ha_axes=axes('Parent',Hf_fig,...'position',[0.1,0.4,0.8,0.5]);%建立一个坐标轴,位置属性:在左下角点,宽×高t=0:pi/50:4*pi;y=sin(t);Hc_push1=uicontrol(Hf_fig,'style','push',...'position',[80,60,100,25],...'string','Sin',...'callback',['y=sin(t);','plot(t,y);']);%在Hf_fig窗口下建立一个控件,类型属性:按钮%位置属性:起点,宽×高%字符串属性:显示Sin%回调属性:回调时运行程序段:y=sin;%plot(t,y)(2)列表框的建立例2(gui_2.m):clear;clf;Hf_fig=figure(1);set(Hf_fig,'position',[100,100,540,360],...'color',[0.8,0.8,0.8]);Ha_axes=axes('Parent',Hf_fig,...'position',[0.1,0.4,0.8,0.5]);%listboxHc_listbox1=uicontrol(Hf_fig,'style','listbox',...'position',[360,30,80,60],...'string',{'Sin';'Cos';'Exp'},...'callback',['v1=get(gcbo,''value'');','ex_gui_8(v1);']);%在Hf_fig窗口下建立一个控件,类型属性:列表框%位置属性:起点,宽×高%字符串属性:显示Sin%Cos%Exp%回调属性:回调时运行程序段:v1=get(gcbo,'value);%取当前对象的value属性,放入变量v1中%ex_gui_8(v1)%调用自定义函数ex_gui_8,%传递参数v1子程序的调用(ex_gui_8)function y=ex_gui_8(v)t=0:pi/50:4*pi;switch vcase 1y=sin(t);case 2y=cos(t);case 3y=exp(t);endplot(t,y);(3)菜单的建立例3(gui_3.m):clear;clf;Hf_fig=figure(1);set(Hf_fig,'position',[100,100,540,360],...'color',[0.8,0.8,0.8]);Ha_axes=axes('Parent',Hf_fig,...'position',[0.1,0.4,0.8,0.5]);t=0:pi/50:4*pi;Hm_m1=uimenu(gcf,'Label','User');%建立顶菜单项UserHm_plot=uimenu(Hm_m1,'Label','Plot');%在顶菜单项User下建立分菜单项PlotHm_sin=uimenu(Hm_plot,'Label','Sin',...'callback',['y=sin(t);','plot(t,y);']);%在分菜单项Plot下建立子菜单项Sin%回调时运行程序y=sin(t),plot(t,y)Hm_cos=uimenu(Hm_plot,'Label','Cos',...'separator','on',...'callback',['y=cos(t);','plot(t,y);']);2.用GUI设计工具设计图形用户界面(GUI)设计(1)GUI设计工具的启动GUI设计工具用GUIDE命令启动,或点相应菜单项:File—New—Gui—Blank GUI(2)GUI编程举例:①建立一个按钮与坐标轴a)点菜单项:File—New—Gui—Blank GUIb)点按钮、坐标轴图标,拖到图中,调整大小c)光标移到按钮位置,点图标property Inspecto r,点属性string,写sin。
第十章 图形用户界面GUI 制作用户界面(或接口)是指:人与机器(或程序)之间交互作用的工具和方法。
如键盘、鼠标、跟踪球、话筒都可成为与计算机交换信息的接口。
图形用户界面(Graphical User Interfaces ,GUI )则是由窗口、光标、按键、菜单、文字说明等对象(Objects )构成的一个用户界面。
用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。
假如读者所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不会考虑GUI 的制作。
但是如果读者想向别人提供应用程序,想进行某种技术、方法的演示,想制作一个供反复使用且操作简单的专用工具,那么图形用户界面也许是最好的选择之一。
MATLAB 为表现其基本功能而设计的演示程序demo 是使用图形界面的最好范例。
MATLAB 的用户,在指令窗中运行demo 打开那图形界面后,只要用鼠标进行选择和点击,就可浏览那丰富多彩的内容。
即便比较熟悉MATLAB 的读者,在他初次编写GUI 程序时,也会感到棘手。
为使读者获得制作自己GUI 的体验,本章“入门”节提供了一个简单的示例。
读者只要输入所提供的程序,就可引出相应的界面。
本章第2节叙述图形用户界面的设计原则和一般制作步骤。
第3、4节分别介绍用户菜单、用户控件的制作。
出于“由浅入深”的考虑,前4节制作GUI 是通过M 脚本文件实现的。
利用M 函数文件制作GUI ,需要解决数据传递问题,为此专设第5节给予阐述和示例。
这前5节内容对读者理解交互图形界面的工作原理很有帮助。
本章第6节专述MATLAB6.5提供的界面设计工作台的使用。
值得指出:该设计工作台与MATLAB5.3版的设计工具有很大不同。
新的设计工作台显得更成熟、方便。
在此提醒读者,假如要比较准确的理解本章程序和掌握本章内容,请先阅读第9章关于图柄的内容。
10.1 入门【例10.1-1】对于传递函数为1212++=s s G ζ的归一化二阶系统,制作一个能绘制该系统单位阶跃响应的图形用户界面。
第 8 章 图形用户界面GUI假如读者所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不会考虑图形用户界面(Graphical User Interfaces ,GUI )的制作。
但是如果读者想向别人提供某种新的设计分析工具,想体现某种新的设计分析理念,想进行某种技术、方法的演示,那么图形用户界面也许是最好的选择之一。
MATLAB 本身提供了很多的图形用户界面,如sisotool “单输入单输出控制系统设计工具”、fdatool “滤波器设计和分析工具”等。
这些工具的出现不仅提高了设计和分析效率,而且改变原先的设计模式,引出了新的设计思想,改变了和正在改变着人们的设计、分析理念。
正是出于这种观察,作者将图形用户界面内容列入本教程。
本章由四个精心设计的算例组成。
这四个算例,一方面尽可能多地向读者展现构成GUI 的各种控件或组件,另方面借助算例中回调函数的编写较快地将读者引向GUI 制作的纵深。
本书作者相信:读者只要耐心地按照示例进行操作,便能在愉快感受GUI 成功制作的同时,事半功倍地掌握GUI 的制作技巧。
8.1 图形用户界面入门示例【例8.1-1】为演示归一化二阶系统121)(2++=s s s G ζ中阻尼比ζ对单位阶跃响应的影响,需要制作如图8.1-1所示的用户界面图8.1-11)图8.1-2 进入GUIDE开发环境的默认引导对话窗图8.1-3 默认的空白用户界面开发环境GUIDE 2)●●点选“轴Axes”图标;●点选“静态文本框Static Text”图标●点选“可编辑文本框Edit Text ”图标图8.1-4 3)界面组件的参数设置●用户界面窗的参数设置⏹,再点击界面编辑器工具条上的图标,图8.1-5 ●●●●图8.1-6 4)●点击工具条上的图标,●●●图8.1-7图8.1-85)●,点击HOME工具带NAVIGATE导航区上的Go To转至图标●●get(hObject,'String'); %zeta=str2double(get(hObject,'String')); %handles.t=0:0.05:15; %handles.y=step(tf(1,[1,2*zeta,1]),handles.t); %cla %line(handles.t,handles.y) %●●,再点击界面编辑器(或M文件编辑器)上的图标,图8.1-9图8.1-106)〖说明〗8.2 控件创建及应用示例本小节仍以算例为依托,详细讲述用户界面的创建步骤和注意要点。
第十章 图形用户界面GUI 制作用户界面(或接口)是指:人与机器(或程序)之间交互作用的工具和方法。
如键盘、鼠标、跟踪球、话筒都可成为与计算机交换信息的接口。
图形用户界面(Graphical User Interfaces ,GUI )则是由窗口、光标、按键、菜单、文字说明等对象(Objects )构成的一个用户界面。
用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。
假如读者所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不会考虑GUI 的制作。
但是如果读者想向别人提供应用程序,想进行某种技术、方法的演示,想制作一个供反复使用且操作简单的专用工具,那么图形用户界面也许是最好的选择之一。
MATLAB 为表现其基本功能而设计的演示程序demo 是使用图形界面的最好范例。
MATLAB 的用户,在指令窗中运行demo 打开那图形界面后,只要用鼠标进行选择和点击,就可浏览那丰富多彩的内容。
即便比较熟悉MATLAB 的读者,在他初次编写GUI 程序时,也会感到棘手。
为使读者获得制作自己GUI 的体验,本章“入门”节提供了一个简单的示例。
读者只要输入所提供的程序,就可引出相应的界面。
本章第2节叙述图形用户界面的设计原则和一般制作步骤。
第3、4节分别介绍用户菜单、用户控件的制作。
出于“由浅入深”的考虑,前4节制作GUI 是通过M 脚本文件实现的。
利用M 函数文件制作GUI ,需要解决数据传递问题,为此专设第5节给予阐述和示例。
这前5节内容对读者理解交互图形界面的工作原理很有帮助。
本章第6节专述MATLAB6.5提供的界面设计工作台的使用。
值得指出:该设计工作台与MATLAB5.3版的设计工具有很大不同。
新的设计工作台显得更成熟、方便。
在此提醒读者,假如要比较准确的理解本章程序和掌握本章内容,请先阅读第9章关于图柄的内容。
10.1 入门【例10.1-1】对于传递函数为1212++=s s G ζ的归一化二阶系统,制作一个能绘制该系统单位阶跃响应的图形用户界面。