matlab 第十章 图形用户界面GUI制作

合集下载

MATLAB-图形用户界面 GUI

MATLAB-图形用户界面 GUI

第 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实用教程GUI

MATLAB实用教程GUI

MATLAB实用教程GUIMATLAB是一种功能强大的数学软件,广泛用于科学和工程领域的数据分析、可视化、建模和仿真。

在MATLAB中,GUI(Graphical User Interface,图形用户界面)是一种用于创建交互式应用程序的工具,可以使用户通过图形化界面来操作和控制程序。

本教程将介绍如何使用MATLAB创建GUI应用程序,包括创建各种控件(按钮、文本框、下拉菜单等)、设计布局、添加回调函数等。

通过学习本教程,您将了解如何利用MATLAB的强大功能和易用的GUI设计工具来创建自己的交互式应用程序。

1.创建GUI应用程序要创建一个GUI应用程序,首先需要打开MATLAB并选择新建GUI应用程序。

在弹出的界面中,可以选择创建一个新的Figure或Panel,然后可以在面板上添加各种控件。

可以通过拖动和放置控件来设计界面布局,然后可以对控件进行自定义设置,比如修改文本内容、颜色、大小等。

2.添加控件MATLAB提供了各种控件,用于实现不同的功能。

常见的控件包括按钮、文本框、下拉菜单、滑块等。

可以通过在界面上拖动和放置这些控件来创建自己的GUI应用程序。

在添加控件时,可以设置控件的属性,比如位置、大小、颜色、文本内容等。

3.设计布局设计布局是创建GUI应用程序的重要部分。

可以通过调整控件的位置、大小和对齐方式来设计一个美观的界面布局。

MATLAB提供了多种布局管理器,比如Grid布局、Box布局、GridBag布局等,可以根据需要选择合适的布局方式来设计界面。

4.编写回调函数回调函数是GUI应用程序的关键部分,用于响应用户的操作。

可以为每个控件添加回调函数,当用户操作控件时,回调函数将被触发。

可以在回调函数中实现各种功能,比如计算结果、数据处理、图形绘制等。

通过编写回调函数,可以实现程序的交互性和实用性。

5.运行应用程序创建GUI应用程序后,可以点击“运行”按钮来运行应用程序。

在运行过程中,可以与界面上的控件进行交互,触发回调函数并实现相应功能。

MATLAB实用教程GUI

MATLAB实用教程GUI

MATLAB实用教程GUI
MATLAB是一种非常强大的数值计算软件,广泛应用于科学计算、工程设计和数据分析等领域。

其中的GUI(Graphical User Interface,图形用户界面)功能可以帮助用户设计出直观、交互性强的界面,提高使用效率和易用性。

本篇教程将介绍如何利用MATLAB的GUI功能创建一个实用的界面。

首先,打开MATLAB软件,并在"Home"选项卡中选择"New Script"创建一个新的脚本。

在脚本中,我们将使用MATLAB的GUI工具箱中的"App Designer"来创建界面。

除了按钮的点击事件外,还可以处理其他各种事件。

例如,通过为文本框添加"ValueChangedFcn"回调函数,可以在文本框内容发生更改时执行相应的操作。

在界面设计完成后,可以通过点击"Run"按钮来运行应用程序,并与用户进行交互。

可以输入文本、选择菜单项、点击按钮等等,然后根据用户的输入做出相应的反应。

通过与用户的交互,可以进行各种有用的计算和处理。

值得一提的是,MATLAB的GUI功能还支持将用户界面保存为独立的应用程序,并与其他MATLAB代码集成。

这意味着界面所包含的各种计算和分析能力可以通过编写MATLAB函数来实现,然后在界面的回调函数中调用这些函数。

这为用户提供了更大的自由度和灵活性,以满足不同需求的应用场景。

经典GUI基础入门:MATLAB中GUI用户图形界面学习

经典GUI基础入门:MATLAB中GUI用户图形界面学习

GUI指导教程系列(1):GUI入门基本操作为什么在MATLAB中要使用GUI呢?其实GUI就是Matlab中的Visual Basic,是面向对象的编程,可以使Matlab程序的终端用户,即使不懂的Matlab也可以轻易操作该程序!如果没有图形用户界面(GUI)我们只能从命令行(Command Window)中调用相关程序,这相对比较繁琐,并且不是所有用户都是这个能力。

就好比计算机的DOS 系统,在有windows的情况下,您会选择DOS吗?当然我们也不排除骨灰级的人物!在本节教程我们主要针对没有GUI创建和使用经历的网友,但是必要的MATLAB 基础知识是需要的。

在教程中我们将创建一个简单的GUI程序,它执行两个数的加法运行,然后显示其运算结果。

好下面开始我们的教程!一、打开和创建GUI界面1、首先打开Matlab,在Command Window中输入guide回车2、此时打开GUI编辑器GUIDE(GUI Developer的缩写)2.1 界面上有两个标签也“Creat New GUI”和“Open Existing GUI”如果创建新的GUI此时我们选择第一个标签页,但如果打开其它已经存在的GUI 就点击第二个标签吧2.2 这里我们选择第一个标签下的“Blank GUI”(空白GUI),下面还有几个系统GUI模版,你可以根据需要选择其它的。

2.3 点击“OK”我们正式进入GUIDE界面,呵呵,是不是感觉似曾相识3、添加你需要的控件到figure中在添加控件之前,您最好对您的GUI界面布局已经有一定的构思了,否则盲目性太大了不利于您的编程。

下面是我们构思的布局。

二、添加控件和设置属性在正式讲解之前,我们先讲解下GUI中的鼠标基本操作(a) 在左边的控件面板中鼠标左击选择您需要的控件,然后放开鼠标(b) 在右边的figure中按住左键,画出您的控件,于是空间就在figure上(c) 你可以用鼠标拖拽figure上所有控件,来改变他们的位置(d) 在控件上双击鼠标左键(右击是快捷菜单)可打开控件属性面板1、从上面的布局构思,我们知道本GUI需要以下控件:三个“编辑文本框”(Edit Text):三个“静态文本框”(Static Text):一个“确定按钮”(Pushbutton)按照上面介绍的鼠标操作方法,将这6个控件拖到右边的figure中,如下图所示2、接下来就是编辑这些控件的属性好,下面从Static Text开始吧,双击其中一个“静态文本块”,将跳出该控件的“属性查看器”(Property Inspector)GUI控件的几个常用属性说明如下:position:指示空间在figure中的位置font**:字体相关属性string:相当如VB中的caption,就是显示在控件上的文字tag:控件的唯一标识符,相当于ID,我们需要tag来指定某一个空间2.1 在这里我们修改它的“string”属性为“+”2.2 同理修改它的“fontsize”属性为20在编辑完这些属性后,直接点击右上角的“关闭”按钮,关闭属性查看器,此时属性会自动保存。

Matlab GUIDE使用说明(Matlab GUI界面)

Matlab GUIDE使用说明(Matlab GUI界面)

去年做了一些关于Matlab GUI的程序,现在又要做相关的东西,回想起来,当时很多经验没有记录下来,现在回顾起来始终觉得不爽,所以从现在开始,一定要勤写记录。

从简单的例子说起吧。

创建Matlab GUI界面通常有两种方式:1,使用.m文件直接动态添加控件2.使用GUIDE快速的生成GUI界面显然第二种可视化编辑方法算更适合写大型程序。

一:创建GUI1.在.m文件中动态添加例如h_main=figure(‘name’,‘a demo of gui design’,‘menubar’,‘none’,…'numbertitle','off','position',[100100300100]);h_edit=uicontrol('style','edit','backgroundcolor',[111],'position',[20205020],...'tag','myedit','string','1','horizontalalignment','left');h_but1=uicontrol('style','pushbutton','position',[20505020],'string','INC',...'callback',['v=eval(get(h_edit,''string''));',...'set(h_edit,''string'',int2str(v+1));']);h_but2=uicontrol('style','pushbutton','position',[80505020],'string','DEC',...'callback',['v=eval(get(h_edit,''string''));','set(h_edit,''string'',int2str(v-1));']);2.使用GUIDE帮助创建GUI在Command里面输入GUIDE或者从菜单里面,或者从快捷按钮均可进入GUIDE新建并且保存后,会生成相应的fig文件和m文件,在Layout编辑视图,可以使用如下工具:Layout Editor:布局编辑器;Alignment Tool:对齐工具;Property Inspector:对象属性观察器;Object Browser:对象浏览器;Menu Editor:菜单编辑器。

MATLAB中的GUI程序设计

MATLAB中的GUI程序设计

第七章MATLAB 的图形用户界面(GUI)程序设计Chapter 8: Design of MATLAB of GUIprogram图形用户界面GUI(Graphical User Interfaces)是一种用户和计算机进行信息交流的工具和方法,由各种图形对象组成,在这种用户界面下,用户的命令和对程序的控制是通过鼠标等输入设备“选择” 各种图形对象来实现的。

软件开发者只需在由软件开发工具自动生成的程序代码中添加自己的运算或控制代码,就可以完成应用程序的设计。

目前90% 以上的应用程序和软件都是在GUI 下运行的。

MATLAB 有两种GUI 用户界面控件的创建方式,基于命令行的编程方式制作和基于MATLAB 提供的图形用户界面开发环境GUIDE 中的图形用户界面开发工具的GUI 创建方式制作。

这里主要介绍基于GUIDE 的创建方式。

MATLAB 的GUI的基本图形对象分为控件对象uicontrol和用户界面菜单对象uimenu(包括固定菜单和现场菜单),简称控件和菜单。

一. 控件对象及属性(Object and its attributes of controller))1.GUI 控件对象类型(The mode of controller object)控件对象是事件响应的图形界面对象。

当某一事件发生时,应用程序会做出响应并执行某些预定的功能子程序( Callback) .常用的基本控件:(1)按钮(Push Buttons:) 执行某种预定的单功能或操作;(2)双位开关按钮(Toggle Button:产生一个动作并指示一个二进制状态(开或关) ,当鼠标点击它时按钮将下陷,并执行callback (回调函数)中指定的内容,再次点击,按钮复原,并再次执行callback 中的内容;(3)单选框(Radio Button):单个的单选框用来在两种状态之间切换,多个单选框组成一个单选框组时,用户只能在一组状态中选择单一的状态,或称为单选项;(4)复选框(Check Boxes)单个的复选框用来在两种状态之间切换,多个复选框组成一个复选框组时,可使用户在一组状态中作组合式的选择,或称为多选项;(5)文本编辑器(Editable Texts):用来使用键盘输入字符串的值,可以对编辑框中的内容进行编辑、删除和替换等操作;(6)静态文本框(Static Texts)仅仅用于显示单行的说明文字;(7)滚动条(Slider):可输入指定范围的数量值;( 8)控件边框(Frames) 在图形窗口圈出一块区域;(9)列表框(List Boxes:在其中定义一系列可供选择的字符串;( 10)弹出式菜单(Popup Menus) 让用户从一列菜单项中选择一项作为参数输入;( 11)坐标轴(Axes) 用于显示图形和图象2.控件对象的描述(Description of controller object)MATLAB 中的控件大致可分为两种,一种为动作控件,鼠标点击这些控件时会产生相应的响应。

Matlab GUI编程教程

Matlab GUI编程教程(适用于初学者)1.首先我们新建一个GUI文件:File/New/GUI 如下图所示;选择Blank GUI(Default)2.进入GUI开发环境以后添加两个编辑文本框,6个静态文本框,和一个按钮,布置如下图所示;布置好各控件以后,我们就可以来为这些控件编写程序来实现两数相加的功能了。

3.我们先为数据1文本框添加代码;点击上图所示红色方框,选择edit1_Callback,光标便立刻移到下面这段代码的位置。

function edit1_Callback(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit1 as text% str2double(get(hObject,'String')) returns contents of edit1 as a double然后在上面这段代码的下面插入如下代码:%以字符串的形式来存储数据文本框1的内容. 如果字符串不是数字,则现实空白内容input = str2num(get(hObject,'String'));%检查输入是否为空. 如果为空,则默认显示为0if(isempty(input))set(hObject,'String','0')endguidata(hObject, handles);这段代码使得输入被严格限制,我们不能试图输入一个非数字。

MATLAB的GUI 程序设计

MATLAB的GUI 程序设计MATLAB的GUI程序设计GUI(Graphical User Interface)是一种以图形化界面形式展示的用户界面,它可以通过鼠标点击、拖拽等交互操作与用户进行信息交流。

MATLAB是一种强大的数学计算软件,通过GUI程序设计,可以方便地实现MATLAB的功能,并提供更加友好的用户界面。

一、GUI程序设计的基本概念1. 窗口和控件:GUI程序由一个主窗口和多个控件组成。

主窗口是程序的主界面,控件包括按钮、文本框、列表框等用户可以与之交互的元素。

2. 回调函数:每个控件都可以绑定一个回调函数,当用户与控件进行交互时,回调函数会被触发,执行相应的操作。

3. 属性和事件:控件有各种属性,如位置、大小、颜色等,可以通过设置属性来改变控件的外观。

控件还可以响应各种事件,如鼠标点击、键盘按下等。

二、GUI程序设计的步骤1. 创建GUI窗口:使用MATLAB提供的函数创建一个GUI窗口,并设置窗口的大小、标题等属性。

2. 添加控件:在窗口中添加所需的控件,如按钮、文本框等。

可以使用MATLAB提供的可视化工具进行拖拽式的布局设计。

3. 设置控件属性:根据需求设置控件的属性,如位置、大小、颜色等。

可以使用MATLAB提供的属性编辑器或通过代码设置属性。

4. 编写回调函数:为每个控件编写相应的回调函数,实现用户交互时的操作。

回调函数可以使用MATLAB提供的函数和语法,完成各种计算、数据处理等任务。

5. 运行程序:保存GUI程序,并点击运行按钮,程序将在MATLAB的命令窗口中启动,并显示GUI窗口。

6. 调试和优化:在运行过程中,可以通过调试工具查看程序的运行状态,发现并修复可能存在的错误。

还可以根据用户反馈,对GUI界面进行优化,提升用户体验。

三、GUI程序设计的实例:温度转换器下面以一个简单的温度转换器为例,介绍如何使用MATLAB进行GUI程序设计。

1. 创建GUI窗口:使用MATLAB的`figure`函数创建一个窗口,设置窗口的大小和标题。

matlab gui教程

matlab gui教程MATLAB(Matrix Laboratory)是一种用于数值计算和科学工程的高级编程语言和环境。

MATLAB具有强大的数值计算能力和丰富的函数库,广泛应用于各个领域,包括工程、科学、经济、金融等。

MATLAB的GUI(Graphical User Interface)编程是一种通过可视化界面与用户进行交互的编程方式。

GUI程序的开发可以使用户更加方便地使用MATLAB的各种功能,并且可以增加程序的易用性和可读性。

在MATLAB中,GUI程序的开发是通过GUIDE(Graphical User Interface Development Environment)工具完成的。

GUIDE 是MATLAB自带的一种可视化设计工具,它可以帮助用户快速实现GUI的设计和布局,并且可以自动生成相应的代码。

通过GUIDE,用户可以将各种用户界面元素(如按钮、文本框、滑动条等)拖放到GUI窗口中,并进行相应的属性设置和回调函数的编写。

回调函数是指当用户进行操作时触发的响应函数,用于实现用户与程序的交互。

GUI程序的开发通常包括以下几个步骤:1. 创建GUI窗口:在MATLAB中,可以通过调用`figure`函数来创建GUI窗口,也可以直接使用GUIDE工具来设计和布局GUI窗口。

2. 添加用户界面元素:通过GUIDE工具或手动编写代码的方式,向GUI窗口添加各种用户界面元素,如按钮、文本框、滑动条等,并进行相应的属性设置。

3. 编写回调函数:为各个用户界面元素添加回调函数,用于实现用户与程序的交互。

可以通过GUIDE工具自动生成回调函数的代码,也可以手动编写回调函数。

4. 实现功能代码:根据用户界面元素的触发,编写相应的功能代码,实现程序的具体功能。

5. 调试和优化:测试GUI程序的各个功能,并进行必要的调试和优化,以确保程序的正常运行和良好的用户体验。

总的来说,MATLAB的GUI是一种非常强大和灵活的编程方式,可以方便实现用户与程序的交互、提高程序的易用性和可读性。

MATLAB中的GUI程序设计

MATLAB中的GUI程序设计MATLAB是一种功能强大的编程语言,它能够进行数据处理、数值计算、图形绘制等多种操作。

在MATLAB中,我们可以通过编写GUI程序来实现更加友好和交互性的界面,使得用户可以直观地进行操作和获得结果。

下面将介绍MATLAB中的GUI程序设计。

在MATLAB中,GUI程序的编写一般分为以下几个步骤:界面设计、回调函数编写和程序调试。

界面设计是GUI程序设计的第一步,我们可以通过MATLAB提供的GUIDE工具来完成。

GUIDE是一个图形化的界面设计工具,可以通过拖拽、调整控件位置和属性等方式来设计界面。

在GUIDE中,我们可以选择界面的布局方式,如水平布局、垂直布局、表格布局等,还可以选择不同的控件,如按钮、文本框、复选框、滑块等。

在界面设计完成后,我们需要编写回调函数来实现不同控件的事件响应。

回调函数是指当用户进行其中一种操作时,界面会调用相应的函数来响应这个操作。

例如,当用户点击按钮时,界面会调用按钮的回调函数来执行相应的操作。

在MATLAB中,回调函数通常以"Callback"结尾并附加到相应的控件上。

在回调函数中,我们可以编写代码来实现各种功能。

例如,可以在按钮的回调函数中编写代码来处理用户的点击事件,可以在文本框的回调函数中编写代码来获取用户输入的内容等。

回调函数中的代码可以调用MATLAB提供的各种函数来完成相应的功能,也可以调用自定义的函数来进行更复杂的操作。

编写完回调函数后,我们需要对整个程序进行调试。

MATLAB提供了调试器功能,可以帮助我们定位程序中的错误和调试逻辑。

我们可以通过设置断点、单步执行、观察变量等方式来调试程序,以确保程序能够正常运行并得到正确的结果。

总之,MATLAB中的GUI程序设计可以帮助我们实现更加友好、交互性和可视化的界面。

通过界面设计和回调函数编写,我们可以实现各种功能,如数据可视化、图形绘制、物理模拟等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第十章内容简介本书由纸质媒体和电子媒体有机结合而成。

纸质媒体便于读者进行系统、全面、长时间连续地阅读,便于随心的翻阅、浏览;而电子媒体向读者提供色彩信息、动态交互的软件环境,提供读者实践本书内容所需的各种文件。

本书第一章系统讲述MATLAB6.5的集成工作平台,引导读者初会MATLAB基本用法。

第二、三章系统叙述MATLAB6.1的四大基本数据类型(数值数组、字符串数组、元胞数组、构架数组),至于其它扩展数据类型(函数句柄、符号数据、内联函数、unit数组、稀疏类)则另辟章节专述。

此后,本书用九个独立章分述MATLAB6.5的数值计算、符号计算、函数和数据可视、面向对象编程、GUI交互操作界面设计、EXE独立应用程序生成、实现不同软件平台交互的API、M-book 数据图形文字环境集成等八大通用功能。

本书用专门的一章深入浅出地阐明SIMULINK的分层建模、仿真功能、与MATLAB交互的功能。

全书包含390多个计算范例。

所有算例的程序是可靠、完整的。

读者可以在自己的MATLAB环境中完全准确地重现本书所提供的算例结果。

算例的举一反三,将使读者很快掌握要领,从模仿走向灵活应用。

书中正文(包括算例)所涉及的指令全部罗列在附录的“A索引”中,用户很容易根据关键字符找到相关的正文说明和算例应用。

本书随带包含700多个文件的光盘。

光盘文件包含:可直接在Notebook中运行的全部算例的M-book DOC文件;可在MATLAB环境中直接运行的算例M和MDL文件;可供读者实践MATLAB编译器及API的所有文件;可在PowrPoint中放映幻灯的PPT文件。

它们不仅有效地提供了纸质媒体所不具备的交互能力和色彩感染力,而且弥补了纸质媒体没有SIMULINK模型源码文件、没有PPT源码文件、没有编译源文件和验证文件的缺陷。

本书既可作为理工科院校研究生、本科生系统学习的教材,又可以作为广大科技工作者掌握和精通MATLAB的自学用书和使用手册。

作者简介张志涌1944年出生于无锡;教授,获政府专项津贴,IEEE高级会员,中国电子学会高级会员,江苏省自动化学会理事、网络与系统专委会主委;1967年毕业于清华大学自动控制系,1982年初在上海交通大学获控制理论硕士学位,1989—90年在荷兰王国Eindhoven技术大学研修系统辨识、故障诊断;主持并完成国家自然科学基金、省部基金及科研项目近十项,发表论文50余篇,著作1本。

现主要从事自动控制教学和计算机控制、计算机仿真、故障诊断等研究。

1989年在荷兰用MATLAB3.0研究系统辩识和故障诊断;1992年对MATLAB3.0实现汉化并编写了相应讲义;在1994、95年借助于MATLAB3.5、4.0先后完成国家自然科学基金和国家教委留学生基金课题研究;1996年在省基金支持下从事MATLAB4.2c建立仿真实验室的研究,并于1997年编写出版《掌握和精通MATLAB》;1997年底获原邮电部预研经费资助开始了以MATLAB5.x为工具的智能技术研究。

第十章 图形用户界面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章关于图柄的内容。

11.1 入门【例10.1-1】对于传递函数为1212++=s s G ζ的归一化二阶系统,制作一个能绘制该系统单位阶跃响应的图形用户界面。

本例演示:(A )图形界面的大致生成过程;(B )静态文本和编辑框的生成;(C )坐标方格控制键的形成;(D )如何使用该界面。

(1)clf resetH=axes('unit','normalized','position',[0,0,1,1],'visible','off'); set(gcf,'currentaxes',H);str='\fontname{隶书}归一化二阶系统的阶跃响应曲线';text(0.12,0.93,str,'fontsize',13);h_fig=get(H,'parent');set(h_fig,'unit','normalized','position',[0.1,0.2,0.7,0.4]); h_axes=axes('parent',h_fig,...'unit','normalized','position',[0.1,0.15,0.55,0.7],... 'xlim',[0 15],'ylim',[0 1.8],'fontsize',8);图 10.1-1(2)h_text=uicontrol(h_fig,'style','text',...'unit','normalized','position',[0.67,0.73,0.25,0.14],...'horizontal','left','string',{'输入阻尼比系数','zeta ='}); h_edit=uicontrol(h_fig,'style','edit',...'unit','normalized','position',[0.67,0.59,0.25,0.14],...'horizontal','left',...'callback',[...'z=str2num(get(gcbo,''string''));',...'t=0:0.1:15;',...'for k=1:length(z);',...'y(:,k)=step(1,[1 2*z(k) 1],t);',...'plot(t,y(:,k));',...'if (length(z)>1) ,hold on,end,',...'end;',...'hold off,']);图 10.1-2(3)h_push1=uicontrol(h_fig,'style','push',...'unit','normalized','position',[0.67,0.37,0.12,0.15],...'string','grid on','callback','grid on');h_push2=uicontrol(h_fig,'style','push',...'unit','normalized','position',[0.67,0.15,0.12,0.15],...'string','grid off','callback','grid off');图 10.1-3(4)图 10.1-4图 10.1-511.2图形用户界面的设计原则和一般步骤11.2.1设计原则(1)简单性(2)一致性(3)习常性(4)其它考虑因素11.2.2一般制作步骤11.3界面菜单(uimenu)11.3.1图形窗的标准菜单【例10.3.1-1】本例说明:如何隐藏和恢复标准菜单的显示。

(1)H_fig=figure(2)set(H_fig , 'MenuBar','none');set(gcf,'menubar',menubar);(3)set(gcf,'menubar','figure');图 10.3-1 图 10.3-211.3.2自制的用户菜单【例10.3.2-1】本例演示:如何自制一个带下拉菜单表的用户菜单(如图10.3-3所示)。

该菜单能使图形窗背景颜色设置为兰色或红色。

figureh_menu=uimenu(gcf,'label','Color'); % <2>h_submenu1=uimenu(h_menu,'label','Blue',...% <3>'callback','set(gcf,''Color'',''blue'')'); % <4>h_submenu2=uimenu(h_menu,'label','Red',...% <5>'callback','set(gcf,''Color'',''red'')'); % <6>图 10.3-311.3.3用户菜单的属性11.3.3.1回调属性和菜单名(1)菜单名属性(2)回调属性【例10.3.3.1-1】本例的目标是:在图形窗上自制一个名为【Test】的“顶层菜单项”;当用鼠标点动该菜单项时,将产生一个带分格的封闭坐标轴。

相关文档
最新文档