MATLAB基础与编程入门(第二版)(张威)-第7章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1
2
34
图7-5 绘制的原始图形
第七章 GUIDE入门 获取当前的曲线对Leabharlann Baidu句柄:
>> h_line = findobj(gca,'Marker','X') h_line =
3.0011 尽管这里h_line为一个双精度的数值,但这个数值变量 具有特殊的意义,它代表了在当前坐标轴上绘制的曲线,可以通 过这个变量来操作曲线对象,例如获取整个曲线的属性列表: >> get(h_line) Color = [1 0 0] EraseMode = normal
第七章 GUIDE入门
使用GUIDE和图形句柄创建的图形用户界面的主要区别在 于,利用图形句柄创建的图形界面应用程序只有一个文件——M文 件,而利用GUIDE创建的图形用户界面应用程序一般由两个文件组 成,一个是应用程序文件——M文件,另一个是外观文件——fig 文件。
MATLAB图形用户界面的例子非常多,不仅在MATLAB的 Demos中有很多用户界面的例子,如图7-1所示,在MATLAB的工具 箱中也有很多是利用GUIDE编写的小工具,不过早期的MATLAB工具 多数都使用图形句柄进行开发。若MATLAB的图形用户界面功能不 能够满足用户的需要,用户还可以利用Java语言的工程来扩充界 面功能,不过使用Java语言来扩充MATLAB的功能属于MATLAB外部 接口编程的内容,有兴趣的读者可以参阅MATLAB的帮助文档或者 《MATLAB外部接口编程》一书。
第七章 GUIDE入门
在MATLAB中创建图形用户界面的方法有两种——图形句 柄和GUIDE,这两种实现的方法都需要使用M语言编程,但是技术 的侧重点不同。其实GUIDE创建图形用户界面的基础也是图形句 柄对象,只不过是具有很好的封装,使用起来简便,而且还能够 做到可视化的开发,对于一般的用户使用GUIDE创建图形用户界 面应用程序已经足够了。MATLAB提供了基本的用户界面元素,包 括菜单、快捷菜单、按钮、复选框、单选框、文本编辑框、静态 文本、下拉列表框、列表框等。需要注意的是,MATLAB的图形用 户界面程序大多数是对话框应用程序,利用MATLAB编写文档视图 应用程序相对来说比较困难。
>> X = linspace(-pi,pi,25); >> Y = sin(X); >> plot(X,Y,'rX'); 这时的图形结果为红色的以“X”为符号的正弦曲线,如图7-5所示。
第七章 GUIDE入门
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1-4 -3 -2 -1
0
第七章 GUIDE入门 MATLAB的图形对象是按照一定的层次排列的,如图7-3所示。
根(屏幕) 图形窗体 坐标轴
核心对象 图像
UI对象 UI按钮组
UI控件
Plot对象 分组对象
UI菜单 注释对象
光线
线条
贴块
UI上下文 菜单
UI面板
矩形
曲面
UI工具栏 UI推按钮
UI切换按钮
文本
图7-3 图形句柄的层次
第七章 GUIDE入门 图7-1 MATLAB图形用户界面示例
第七章 GUIDE入门
通过如图7-1所示的界面,用户可以不必过多了解内部 细节就可以使用MATLAB的强大数据可视化和计算的功能了。例如, 单击用户界面右边的按钮,可以在图形窗体的绘图区域绘制各种 图形,同时在文本显示区域显示具体命令行代码,如图7-2所示。
第七章 GUIDE入门
表7-1 常用的图形句柄操作函数
函数 findobj gcf gca gco get set
说明 按照指定的属性来获取图形对象的句柄 获取当前的图形窗口句柄 获取当前的轴对象句柄 获取当前的图形对象句柄 获取当前的句柄属性和属性值 设置当前句柄的属性值
第七章 GUIDE入门 例子7-1 使用图形句柄。 在MATLAB命令行窗口中,键入下面的指令:
第七章 GUIDE入门
在图7-3中,除了最上一层的屏幕(root)对象以外,每 一种对象都具有自己的父层次对象,即对象的上一层次的对象, 而自己下一层次的对象都被称为子对象。
具体来说,一个图形界面在Windows操作系统中的层次 分布如图7-4所示。
第七章 GUIDE入门
UI菜单 文本 坐标轴 表面 线条
第七章 GUIDE入门 图7-2 显示具体的算法以及图形
第七章 GUIDE入门
7.2 图形句柄入门
在第六章中介绍了很多MATLAB可视化函数,这些函数都 是将不同的曲线或者曲面绘制在图形窗体中,而图形窗体也就是 由若干图形对象组成的可视化的图形界面。在 MATLAB 环境中每 一个图形对象都有一个相应的句柄,这些句柄帮助系统标识这些 对象,获取或者设置它们的属性。理解图形对象句柄也是进行图 形界面创建的前提之一,所以首先简要介绍图形对象句柄的概念, 以及图形句柄的使用方法。
第七章 GUIDE入门
第七章 GUIDE入门
7.1 概述 7.2 句柄图形入门 7.3 GUIDE工具入门 7.4 创建图形用户界面外观 7.5 图形用户界面编程 7.6 常用的图形界面函数 7.7 本章小结
第七章 GUIDE入门
7.1 概 述
MATLAB作为一种科学计算软件,其基本的功能需要通过M 语言编程来实现。那么通过图形用户界面的形式来发布应用程序 的好处就是可以允许程序的使用者不具备很深厚的MATLAB知识或 者数学知识,只要用户熟悉了解计算机的基本操作就可以完成相 应的计算。MATLAB的图形用户界面同流行的操作系统——Windows、 Unix或者Linux的图形界面类似,它使用这些平台上的统一外观作 为自己的外观样式,它的图形用户界面应用程序可以做到一处编 写到处运行,只要相应的平台上具有MATLAB即可。
第七章 GUIDE入门 LineStyle = none LineWidth = [0.5] Marker = x MarkerSize = [6] MarkerEdgeColor = auto MarkerFaceColor = none XData = [ (1 by 25) double array] YData = [ (1 by 25) double array] ZData = []
图7-4 图形句柄的具体层次
根对象 图形窗体 UI控件
第七章 GUIDE入门
在MATLAB中,只要获得了图形对象的句柄,就可以通过 对属性的操作来修改图形对象的外观,这也是MATLAB图形用户界 面编程的基本原理。MATLAB提供了若干函数用来对图形句柄进行 操作,这其中较为常用的函数在表7-1中进行了总结。