第8章 MATLAB图形用户界面设计技术

合集下载

第8章MATLAB图形用户界面设计

第8章MATLAB图形用户界面设计

例5.29 利用曲线对象绘制 y1 sin 和 y2 cos 并 利用文字对象完成标注。 theta=-pi:.1:pi; y1=sin(theta); y2=cos(theta); h=line(theta,y1,'LineStyle',':','Color','g'); line(theta,y2,'LineStyle','--','Color','b'); xlabel('-\pi \leq \theta \leq \pi') ylabel('sin(\theta)') title('Plot of sin(\theta)') text(-pi/4,sin(-pi/4),'\leftarrow sin(-\pi\div4)','FontSize',12) set(h,'Color','r','LineWidth',2) %改变曲线1的颜色和线宽
例5.30 利用曲面对象绘制三维曲面z=sin(y)cos(x)。
程序如下: x=0:0.1:2*pi;[x,y]=meshgrid(x);z=sin(y).*cos(x); axes('view',[-37.5,30]); hs=surface(x,y,z,'FaceColor','w','EdgeColor','flat'); grid on; xlabel('x-axis'),ylabel('y-axis'),zlabel('z-axis'); title('mesh-surf'); pause; set(hs,'FaceColor','flat');

2019-Matlab的图形用户界面GUI-文档资料

2019-Matlab的图形用户界面GUI-文档资料
:复选框(checkbox),又称检查框,它由一个标注 字符串(在“String”属性中设置)和字符串左侧的一个 小方框所组成。选中时在方框内添加“√”符号, “Value”属性值设为“1”;未选中时方框变空, “Value”属性值设为“0”。复选框一般用于表明选项的 状态或属性。
2
整个GUI的实现过程可以分为以下几步: 使用界面设计编辑器进行GUI界面布局设计; 理解应用程序M文件中所使用的编程技术; 编写GUI组件行为响应控制(即回调函数)代码。 一、启动GUIDE
在Matlab中,GUIDE提供了多种设计模板以方便用户使 用GUI。这些模板均包含相关的回调函数,用户可以打开它 所对应的M文件,看到它们的工作方式,或修改相应的函数, 从而实现自己需要的功能。
第七章 Matlab的图形用户界面GUI
GUI设计工具简介 GUI向导设计 GUI程序设计
1
第一节 GUI设计工具简介
通常在开发一个应用程序时都会尽量做到界面友好、 直观。最常用的方法就是使用图形用户界面。在Matlab中, 图形用户界面是一个包含多种对象的图形窗口。用户必须 对功能对象进行界面布局和编程,从而使用户在激活GUI的 功能对象时能够执行相应的行为。
弹:出式菜单的“Style”属性的默认值是 “popupmenu”,在“string”属性中设置弹出式菜单的选 项字符串,在不同的选项之间用“|”分隔,类似于换行。
9
:图文框(Panel),图文框是填充的矩形区域。一般用来 把其它控件放入图文框中,组成一组。图文框本身没有回调程 序。注意只有用户界面控件可以在图文框中显示。由于图文框 是不透明的,因而定义图文框的顺序就很重要,必须先定义图 文框,然后定义放到图文框中的控件。因为先定义的对象先画, 后定义的对象后画,后画的对象覆盖到先画的对象上。

用MATLAB制作图形用户界面

用MATLAB制作图形用户界面

用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并进行测试了。

第8章 MATLAB图形用户界面设计

第8章 MATLAB图形用户界面设计

工具栏(14个按钮)
• • • • • • AM-file Editor:M文件编辑器 Property Inspector:属性查看器 Object Browser:对象浏览器 Run:运行
控件工具栏(12项)
• 10个控件对象: Push Button等 • 1个选择按钮:select • 1个坐标轴对象:Axes
--双击图中的任何一个对象,可以进入对象的属性查看器界面。
(最后阶段)
8.3.3 可视化设计应用实例
li8_6.fig 建立例8.1所示的图形演示系统菜单。菜单 条中含有3个菜单项:Plot、Option和Quit。 Plot中有Sine Wave和Cosine Wave两个子菜单项, 分别控制在本图形窗口画出正弦和余弦曲线。 Option菜单项的内容如图8.1所示,其中Grid on 和Grid off控制给坐标轴加网格线,Box on和Box off控制给坐标轴加边框,而且这4项只有在画有 曲线时才是可选的。Window Color控制图形窗口 背景颜色。Quit控制是否退出系统。
Plot中有Sine Wave和Cosine Wave两个子菜单项, 分别控制在本图形窗口画出正弦和余弦曲线。 Option菜单项的内容如图8.1所示,其中Grid on 和Grid off控制给坐标轴加网格线,Box on和Box off控制给坐标轴加边框,而且这4项只有在画有 曲线时才是可选的。Window Color控制图形窗口 背景颜色。Quit控制是否退出系统。
li8_1.m
• hm=uimenu(gcf,’Label’,’File’); • hm1=uimenu(hm,’Label’,’Save’); • hm2=uimenu(hm,’Label’,’’Save as’);

MATLAB使用教程

MATLAB使用教程
目录 20
2.2 变量和赋值
2.2.1 变量的命名 在MATLAB中,变量名是以字母开头, 后接字母、数字或下划线的字符序列, 最多19个字符。 在MATLAB中,变量名区分字母的大小 写。MATLAB提供的标准函数名以及命 令名必须用小写字母。
目录 21
2.2.2 赋值语句 MATLAB赋值语句有两种格式: (1) 变量=表达式 (2) 表达式 一般地,运算结果在命令窗口中显示出来。如 果在语句的最后加分号,那么,MATLAB仅仅 执行赋值操作,不再显示运算的结果。 在MATLAB语句后面可以加上注释,注释以% 开头,后面是注释的内容。
目录 22
例2.1 计算表达式的值,并将结果赋给变量x, 然后显示出结果。 在MATLAB命令窗口输入命令:
x=(5+cos(47*pi/180))/(1+sqrt(7)-2*i) %计算表达式的值
目录 23
2.2.3 数据的输出格式 MATLAB用十进制数表示一个常数,具体可 采用日常记数法和科学记数法两种表示方法。 数据输出时用户可以用format命令设置或改 变 数 据 输 出 格 式 。 format 命 令 的 格 式 为 : format 格式符 注意,format命令只影响数据输出格式,而 不影响数据的计算和存储。
17
例1.4 设有常微分方程初值问题,试求 其数值解,并与精确解相比较。 (1)建立函数文件funt.m: function yp=funt(t,y) yp=(y^2-t-2)/4/(t+1); (2)求解微分方程: t0=0;tf=10;y0=2; [t,y]=ode23('funt',[t0,tf],y0); y1=sqrt(t+1)+1; t'

MATLAB基础及应用课件(下)第5-8章

MATLAB基础及应用课件(下)第5-8章
图5-4中间的下拉框可以选择拟合算法,可以 试用多种拟合算法,以找出最佳拟合图形。例 如选择Smoothing Spline(平滑样条函数), 观察Curve Fitting Tool窗口,如图5-5所示。
图5-5 拟合曲线
第5章 MATLAB数值计算
第5章 MATLAB数值计算
5.4.4 图形窗口的拟合和统计工具
第5章 MATLAB数值计算
在图5-6中的“绘制拟合图”中选择拟合方 法(可同时选多种);
“显示方程”复核框可以选择是否在图形上 显示拟合多项式;
“绘制残差图”复核框选中时会产生第二幅 图形,该图形显示了每一个数据点与计算出来的 拟合曲线之间的距离。
例如选择“线性”和“三次方”拟合方法, 同时选中两个复核框,产生图形如图5-7所示。
MATLAB的图形窗口中提供了简单方便的数 据拟合和基本统计工具。
数据拟合工具可以对所绘制的曲线使用多种 方法进行拟合;
基本统计工具可提供最小值、最大值、平均 值、中位值、标准差、数据范围等统计运算。
1.数据拟合工具
第5章 MATLAB数值计算
使用数据拟合工具首先需要创建一幅图形,在 命令行窗口输入以下程序:
两个矩阵x和y的相关系 数
第5章 MATLAB数值计算
5.2 数值运算 一、 多项式
名称
创建多项 式
求根
求值
多项式乘 法
多项式除 法
多项式求 导
函数格式 P=[ a0 a1 a2 …an-1
an] P=poly(A) roots(P) polyval(P,A)
polyvalm(P,m)
说明
P为多项式(以下各函数中P均为多项式),a0 a1 a2 … an-1 an为按降幂顺序排列的多项式系数 A为向量。创建以向量A中元素为根的多项式

MaabGUI图形用户界面设计

MaabGUI图形用户界面设计
图形用户 界面GUI设计 窗口由菜单栏、 工具栏、控件 工具栏以及图 形对象设计区 等4个功能区 组成.
左图为空白 GUI模板情形
GUI设计 窗口的菜单栏 有File、Edit、 View、Layout、 Tools和Help 6 个菜单项,使用 其中的命令可 以完成图形用 户界面的设计 操作.
编辑工具在菜单栏的下方,提供了常用的工具;设计工 具区位于窗口的左半部分,提供了设计GUI过程中所用的用 户控件;空间模板区是网格形式的用户设计GUI的空白区域.
菜单编辑器包括菜单的设计和编辑,菜单编辑器有八个 快捷键,可以利用它们任意填写或删除菜单,可以设置菜单项 的属性,包括名称(Label)、标识(Tag)、选择是否显示分隔线 (Separator above this item)、是否在菜单前加上选中标记 (Item is checked)、调用函数(Callback).
菜单编辑器(Menu Editor)——创建、设计、修改下拉式 菜单和快捷菜单;
Tab顺序编辑器(Tab Order Editor)——用于设置当用 户按下键盘上的Tab键时,对象被选中的先后顺序.
在Matlab 5中, GUI的设计是以 M文件的编程形式实现 的,GUI的布局代码存储在M文件和MAT文件中,而在Matlab 6中有了很大的改变, Matlab 6将GUI的布局代码存储在 FIG 文件中,同时还产生一个M文件用于存储调用函数,在M文件 中不再包含GUI的布局代码,在开发应用程序时代码量大大 减少.
对象位置调整器中的第一栏是垂直方向的位置调整,第 二栏是水平方向的位置调整.
在选中多个对象后,可以方便的通过对象位置调整器调 整对象间的对齐方式和距离.
3. 用属性查看器设置控件属性

MATLAB-GUI图形用户界面设计分析

MATLAB-GUI图形用户界面设计分析

1) 双击设计工作区的空白局部,翻开整个图形窗的属性框。
MuUnnuiBtsa或r: FnoonnteUnits可选择%:图i形nc窗he是s(英否寸使)用,标ce准nt菜im单eters
(厘N米am),e: cnaocrumlaatloizred%(按图比形例窗缩名放称),points(点阵), pixels
翻开GUI设计工作台的命令:
guide
%翻开设计工作台启动界面
guide file %在工作台中翻开文件名为file的用户界面
菜单项[ File:New->GUI ] %翻开设计工作台启动界面
留意:guide命令中文件名不区分大小写。
翻开的GUI启动界面供给新建界面( Create New GUI )或 翻开已有界面文件( Open Existing GUI )的属性页。新建界面 可以选择空白界面、包含有控件的模板界面、包含有轴对象
riFghotn。tUnits: points
%字体大小的度量单位
Ho控riz件on句ta柄lATliaggn有m默en认t: 值Ce,nt建er议修%改对为齐带方有式具体含义的字 符S串tr,ing以: E增x加pr程ess序io可n 读性和%便待利显回示调的函字数符调用。
Tag: text1
%该静态文本框的句柄handles.text1
留意: 1) 先完成大致界面布局,再编写功能程序。 2) 界面风格要全都,且符合使用习惯。例如,一般习惯图形
区在上面或左面,把握区在下面或右面等等。
2023/10/12
3
GUI图形用户界面
例如,以本次试验的内容“计算器”为例。
1) 功能分析:完成数字的四则运算,以及一局部常用的科学 计算:sin, cos, log等等。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


2017年4月1日星期六
22
• • •


修改两个Push Button控件的String属性为Plot和Close 设置好各个控件的属性列表后,回到GUIDE主窗口保存。 给文件命名为ex81,同时M-file文件窗口打开。 打开M-file文件窗口设置回调函数。从图8-8中可以看出有 五个回调函数,分别应用于两个Push Button控件、 Checkbox控件、Popup Menu空间和Slider控件。本例使用 了自动生成的回调函数,但是回调函数都是空的,我们要 在M-file文件中对他们进行定义说明。 保存修改后的M-file文件,现在就可以运行我们定义的GUI 了。单击工具栏中的“激活运行按钮”,打开GUI界面, 把滑块拖到任意位置,调整Popup Menu,然后单击plot按 钮就可以看到绘出的相应频率的波形了 运行结果如下图:
菜单对象 Uimenu
控制对象 Uicontrol
坐标轴对象 Axes
线对象 Line
文字对象 Text
表面图对象 Surface
图像对象 Image
光源对象 Light
8.1 GUI对象层次结构图
2017年4月1日星期六
6
句柄对象
• 在MATLAB中,每一个对象都有一个数字来标识, 叫做句柄。 • 每次创建一个对象时,就为它建立一个唯一的句 柄。 • 图形窗口的句柄为整数,通常显示在图形窗口标 题条中。 • 其它对象句柄是MATLAB双精度的浮点值。 • MATLAB可以用来获得图形、坐标轴和其它对象的 句柄。 • 所有产生对象的MATLAB函数都为所建立的每个对 象返回一个句柄(或句柄的列向量)。
2017年4月1日星期六 3
8.2 图形对象和图形对象的句柄
• 每个图形对象都有一个句柄,只有获取了 图形对象的句柄,才可以对该图形对象进 行控制,设置或修改对象的有关属性。 • 句柄图形式队底层图形对象集合的总称, 实际上它进行了生成图形的工作。
2017年4月1日星期六
4
图形对象与图形对象的结构
2017年4月1日星期六
14
下面在建立的控件上单击右键是出现的菜单(如 图8-4)说明一下,主要介绍我们常用的几个选项 : • Cut:对选中的控件进行剪切操作。 • Copy:复制选中的控件。 • Paste:粘贴复制的控件。 • Delete:删除选中的控件。 • Property Inspector:对选中的控件打开属性查看器 。 • Object Browser:打开对象浏览器。 • BottonDownFcn:按下鼠标时控件回调的函数。 • Callback:单击鼠标时控件回调的函数或功能。 • CreateFcn:定义控件在创建阶段执行的回调函数 。 • DeleteFcn:定义在对象的删除阶段执行的回调函 数。 2017年4月1日星期六
13
2017年4月1日星期六
• Static Text:静态文本区,用于在图形上建立文字说明,无法 直接在上面输入文字。 • Slider:滚动条,其状态可以为竖直的,也可以是水平的。通 过改变它的属性,使宽(Width)大于高(height)就可以使 滚动条变为水平的,最直接的是使用鼠标拖动改变它的形状 来实现。通过鼠标拖动滑块,或者点击两个方向可以设定数 据的范围(range)。 • Frame:本身没有什么特殊作用,将一组属性相同或使用频 率高的按钮用框架集中起来,配合颜色的设定,有利于识别 ,使界面显得美观整齐。 • Listbox:建立选择列表,供用户选取,每个列表项都可以执 行特定的操作。通过修改其属性中的min和max值,使二者之 差大于1就可以实现多选功能。 • Popup Menu:与Listbox类似,建立的方法完全相同,只不过 显示的方式不同,它只有在鼠标单击时才会出现列表项。但 是它没有多选的功能。
• 在MATLAB中,图形对象是一幅图中很独特 的成分,它可以被单独地操作。 • 在MATLAB中,由图形命令产生的每个对象 都是图形对象。
• 所有创建对象的函数当父对象或对象不存 在时,都会创建它们。
2017年4月1日星期六
5
根对象 Root
图形窗口对象 Figure
右菜单对象 Uicontextme nu
2017年4月1日星期六 9
获得和设置对象属性
• 获得对象的句柄值后,就可以利用该对象句 柄设置或修改对象的属性。 • 在MATLAB中,可以通过函数get来获得图形对 象的属性,通过函数set来设置对象的属性。 • get和set函数的使用方式如下: 属性值=get(句柄,属性) set(句柄,属性1,属性值1,属性2,属性值2 ,…)
• 利用对象属性查看器,可以查看每个对象的 属性值,也可以修改、设置对象的属性
• 从对象设计编辑器界面工具栏上选择按钮, 或者View菜单下的Proporty Ispector子菜单 • 或者鼠标右键单击所要查看的控件选择里面 的Proporty Ispector,就可以看到对象属性查 看器的界面,如图8-6所示。
2017年4月1日星期六 17
控件位置在竖直方向 上的对齐方式
控件间的空间在竖直 方向上的分布方式
设置控件 的距离
控件位置在水平方向 上的对齐方式
控件间的空间在水平 方向上的分布方式
图8-5 Align Object对话框
2017年4月1日星期六
应用选定的队 列操作
18
8.3.3对象属性查看器(Proporty Ispector)
第8章 MATLAB图形用户界面设计技术
2017年4月1日星期六
1
第8章 MATLAB图形用户界面设计技 术
• 学习目标
– 了解什么是图形用户界面设计; – 掌握利用图形界面设计向导设计用户图形界面 ; – 利用编写M文件来实现图形界面两种方法; – 掌握数学建模的思路和如何利用图形界面实现 用户的需求。
2017年4月1日星期六 8
获得句柄方法
• MATLAB可以用来获得图形、坐标轴、uimenu、 uicontextmenu、uicontrol和其他对象的句柄。具体 的讲,可以通过下述三个函数来获得对象句柄值: • gcf 获得当前图形窗口的句柄值 其语法格式为h=gcf • gca 获得当前图形窗口内当前坐标轴的句柄值 其语法格式为h=gca • gco 获得当前图形窗口内当前对象的句柄值 其语法格式为h=gco 当前对象的定义为用鼠标刚刚点过的对象。这种对 象可以是除根对象(计算机屏幕)之外的任何图形 对象。
2017年4月1日星期六
2
8.1 图形用户界面简介
• 图形用户界面(GUI)的广泛流行是当今计 算机技术得重大成就之一,它以其友好性 和直观性易懂性在软件编程上被广泛使用 。 • MATLAB以它强大的科学计算及图像生成功 能著称,它同时也提供了图形用户界面的 设计和开发功能。 • 到MATLAB的科学计算功能不仅仅是通过输 入一个个的函数代码来实现,还可以通过 单击按钮和对话框等直观的图像来实现。
2017年4月1日星期六
23
2017年4月1日星期六
24
8.3.4 菜单编辑器
• 绝大多数的图形用户界面下都包含菜单。通过选择 各级菜单,可以执行相应的命令,实现相应的功能 。 • 一般地,从菜单的标题或名字可以大概了解该菜单 的功能。 • 在Windows系统中,菜单一般位于用户图形界面的 顶端。 • 在各级主菜单下,还可以嵌入子菜单,就会显示该 主菜单的下拉式菜单。 • 在MATLAB图形用户界面(GUI)设计中,有两种菜 单类型,分别是下拉菜式菜单类型uimenu和内容式 菜单类型uicontextmenu。
ቤተ መጻሕፍቲ ባይዱ
2017年4月1日星期六
19
图8-6 属性查看器
2017年4月1日星期六 20


• • •



我们把其中在设计GUI时经常用到的几个重要的属性值介绍如 下: Callback:定义对象的控制动作,为单击控件时回调的例程 。其值为一个有效的MATLAB表达式或者一个可执行的m文件 名。 ButtonDownFcn:当鼠标在该控件上按下去时调用的例程, 其值为一个有效的MATLAB表达式或者一个可执行的m文件名 。 Position:有4个分量x、y、width、hight,分别用于确定控件 的位置和大小。 String:其值为一个字符串,为显示在控件上的文本串。 Tag:其值为一个字符串,标记控件的名字,编程时可以用 它来指定控件。 TooltipString:其值为一个字符串,当鼠标移动到该控件上时 显示这个字符串。 UincontextMenu:其值为一个context menu菜单的句柄,在 该控件上单击右键将弹出这个句柄指向的菜单。 Visible:其值为on和of,分别设置该控件为可见和不可见。
21
2017年4月1日星期六
例8.1 设计GUI,通过调节滑块可以画出不同频率的三角波形 ,同时学习对Push Button、Checkbox、Slider、Axes、Popup Menu、Static Text控件的使用和操作。 • • • 打开GUIDE窗口,在控件布局设计区放置一个Axes控件, 两个Push Button控件、一个Slider控件、一个Checkbox控件 、一个Popup Menu和一个Static Text控件。 对这些控件进行调整放在合适的位置,可以通过鼠标,也 可以通过修改各个控件中的Position属性来完成调整后的控 件布局如图8-7。 打开Axes控件的属性栏,在其Tag属性修改为ex81_axes,用 同样的方法把Static Text控件和Checkbox控件的Tag属性分别 修改为ex81_text,ex81_gridon。用同样的方法修改其他控件 的Tag属性。其中Static Text用来动态显示信息。 打开Slider控件的属性栏修改其Max属性为5,修改Popup Menu控件的Value属性sinx、cosx、tanx、cotx。
相关文档
最新文档