MATLAB GUI类型及标准图形用户界面
- 格式:docx
- 大小:16.39 KB
- 文档页数:7
在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应用程序实例假设我们需要一个简单的计算器应用程序,用户可以输入两个数值并选择进行加法、减法、乘法或除法运算。
第 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是一种经常被使用的高级技术工具。
虽然Matlab主要以命令行界面为特点,但其GUI(Graphical User Interface)设计和用户界面开发方面的功能同样强大。
本文将介绍如何使用Matlab进行GUI设计和用户界面开发,并提供一些实用的指南。
一、GUI设计的重要性GUI设计是一种将复杂的计算方法和数据分析过程以直观的方式呈现给用户的技术。
优秀的GUI设计能够提升用户的工作效率,减少错误的发生,并增强用户对软件的使用体验。
在科学研究和工程应用中,GUI设计的重要性不言而喻。
二、Matlab中的GUI设计工具Matlab提供了一些有用的工具和函数用于GUI设计。
最常用的工具是GUIDE (Graphical User Interface Development Environment),它是Matlab的图形用户界面开发环境。
GUIDE允许用户通过可视化的方式创建和编辑GUI元素,如按钮、文本框、图形等。
此外,Matlab还提供了一些用于处理图形和交互的函数,如绘图函数、事件处理函数等。
三、GUI设计的基本原则在进行GUI设计时,有一些基本原则需要被遵循。
首先,界面应该简洁、直观和易于理解。
用户应该能够快速找到所需的功能,并在界面上进行直接操作。
其次,界面应该具有一致性,各个元素的布局和功能应该保持一致,避免给用户造成困惑。
最后,界面应该具有灵活性和可扩展性,方便用户进行个性化设置和定制。
四、实例:绘制曲线的GUI设计假设我们需要设计一个简单的GUI界面,用于绘制数学函数的曲线。
首先,我们可以使用GUIDE创建一个包含绘图区域、输入框和按钮的界面。
然后,我们需要编写一些事件处理函数,用于响应用户的操作。
一个基本的事件处理函数是“绘图”函数,它用于根据用户输入绘制曲线。
在该函数中,我们可以使用Matlab提供的绘图函数,如plot()、xlabel()和ylabel()等,来完成曲线的绘制和标注。
第七讲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 控件)。
三类:用户界面控件、下拉菜单、内容菜单。
1. 用户界面控件包括各种常见控件,如按钮、列表框、编辑框等;
2. 下拉菜单对象主要是各种菜单和子菜单;
3. 内容菜单主要是内容式菜单,如弹出式菜单等。
MATALB的标准图形用户界面
1. 消息对话框
msgbox函数。
它不接受用户的任何输入,在用户单击OK按钮后,对话框自动关闭,然后返回程序中继续执行。
>> msgbox('欢迎使用MATLAB') % 建立一个没有标题的消息对话框
>> msgbox('欢迎使用MATLAB','MATALB','warn') %% 建立一个有标题的消息对话框
2. 错误对话框
errordlg函数。
>> errordlg %建立一个默认参数的错误对话框>> errordlg('这是一个错误对话框','MATLAB error') %建立一个名为MATLAB error的错误对话框
3. 警告对话框
warndlg函数。
>> warndlg %建立一个默认参数的警告对话框>> errordlg('这是一个警告对话框','MATLAB warning')
4. 帮助对话框
helpdlg函数。
>> helpdlg('你需要帮助吗?','MATLAB Help')
5. 进度条设置对话框
waitbar函数。
作用是反映程序运行的完成情况。
h=waitbar(0,'请稍等......')
for i=1:10000
waitbar(i/10000)
end
6.输入对话框
inputdlg函数。
prompt={'输入梯形的上底:','输入梯形的下底','输入梯形的高'};%设置提示字符串
name='Enter trapeaia Data';%设置标题
numlines=1;%指定输入数据的行数
defAns={'20','50','40'};%设定默认值
Resize='on';%设定对话框尺寸可调节
answer=inputdlg(prompt,name,numlines,defAns,'on')%创建输入对话框
7. 列表对话框
listdlg函数。
p=path(path,'C:\MATLAB7\work');%设置路径,若为当前目录,可以省略这一步
d=dir('C:\MATLAB7\work');%获取指针,若为当前目录,则d=dir
str={};%获取目录内的文件名
[sel,ok]=listdlg('Liststring',str,'PromptString','请选择文件','SelectionMode','Multiple')%创建列表对话框。
文件选择成功后,单击“OK‘按钮,系统将选择好的文件序号存入相应向量sel,参数ok的值为1。
8.问题对话框
questdlg函数。
提出一个问题,等待用户回答。
默认下回答按钮有三个:Yes、No、Cancel。
当用户单击任何一个按钮时,系统将该按钮名保存在一个变量(ButtonName)中。
如果用户关闭对话框,则系统将ButtonName置为空。
>> ButtonName=questdlg('你准备好了吗?','MATLAB quest','Yes','No','Cancel','Yes')
9.路径选择对话框
uigedir函数。
用于用户查找和选择路径。
>> directoryname=uigetdir('C:\MATLAB7\work','浏览文件件')
10.选择文件对话框
uigetfile函数。
用于用户选择所需的文件。
① >> [fn,pn,fi]=uigetfile('*.m','select a M-file')%打开一个选择M 文件的对话框,并选择一个文件
② [fn,pn,fi]=uigetfile(...
{'*.m;*.fig;*.mat;','All MATLAB File(*.m,*.fig,*.mat,*.mdl)';
'*.m','M-file(*.m)';...
'*.fig','Figure(*.fig)';...
'*.mat','MAT-flie(*.mat)';...
'*.mdl','Models(*.mdl)';...
'*.*','All Flies(*.*)'},...
'Pick a file')
%打开一个选择多种文件的对话框,并选择一个文件
11.文件保存对话框
uiputfile函数。
用于保存文件。
① >> [fn,pn,fi]=uiputfile('*.m','Save selected a M-file')
② [fn,pn,fi]=uiputfile(...
{'*.m;*.fig;*.mat;','All MATLAB File(*.m,*.fig,*.mat,*.mdl)';
'*.m','M-file(*.m)';...
'*.fig','Figure(*.fig)';...
'*.mat','MAT-flie(*.mat)';...
'*.mdl','Models(*.mdl)';...
'*.*','All Flies(*.*)'},...
'Save a file')
%建立多种保存文件的对话框,并选择一个文件
12.页面设置对话框
pagesetupdlg函数。
用来设置页面的各种属性、参数。
调用格式为:dlg=pagesetupdlg(fig)
该命令创建一个页面设置对话框,在该对话框用户可以设置页面的各种属性和参数。
该命令只支持单一图形窗口的页面设置,参数fig也必须是单一的图形句柄,不可以是图形句柄向量或simulink图。
>> fig=figure;
>> dlg=pagesetupdlg(fig)
13.打印设置对话框
printdlg函数。
用户可以对各种打印参数进行设置。
x=[-pi:0.02:pi];
y=cos(x);
fig=figure;
plot(x,y);
printdlg(fig);%打开Windows打印对话框
printdlg('-crossplatform',fig);%打开MATLAB打印对话框
14.颜色设置对话框
uisetcolor函数。
用于用户设置图形的前景色或背景色。
① >> c=uisetcolor %建立一个颜色选择对话框
② %建立一个颜色对话框,并设置对话框的初始颜色,然后选择一种颜色用于一个图形对象。
x=[0:0.02:2*pi];
y=sin(x);
h=figure;
plot(x,y);
c=uisetcolor(h,'select color')
15.字体设置对话框
uisetfont函数。
用于用户设置或修改文本字体、坐标轴或设置控件对象的显示文本的字体属性。
①>> s=uisetfont % 建立一个默认字体设置对话框,并设置一种字体。
②对控件中的文本进行设置
T1=uicontrol('style','pushbutton','string','确定',...
'position',[200 320 60 20]); %创建一个按钮
T2=uicontrol('style','pushbutton','string','取消',...
'position',[200 220 60 20]); %创建一个按钮
s=uisetfont(T1) %打开字体设置对话框
set(T2,s)
%将T1的设置复制到T2。