MATLAB图形对象和句柄.pptVIP

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MATLAB图形对象和句柄

第14章 图形对象和句柄 本书在第12章向读者详细介绍了MATLAB的数据可视化功能,即如何通过运用MATLAB的绘图函数和图形绘制窗口绘制用户需要的二维、三维等图形,相信读者通过学习,已经应该对于“高级”绘图的运用有了一定程度的了解。正如笔者提到的一样,MATLAB 7.0中的“高级”绘图指令往往不能使用户对于图形绘制了解得很透彻,如果用户需要通过了解“低层”绘图指令和图形对象属性开发函数,来对高级绘图指令的形成原理进行深入理解,并绘制出更加个性化的图形,那么读者应该仔细阅读本章。 本章首先简要介绍了MATLAB图形对象的相关概念、体系结构等;MATLAB中需要通过句柄访问和控制图形对象,因此第14.2节讨论对象句柄的概念及其访问;第14.3节介绍了MATLAB中对象属性的查询、设置;第14.4-14.5节分别讨论了两类重要的MATLAB图形对象,即窗口对象和轴对象;第14.6节介绍了图形输出控制相关的属性设置;第14.7节介绍M文件内句柄的存储及MATLAB内建函数对句柄的操作,最后第14.8节对本章进行了小结。 14.1 图形对象概述 图形对象(Graphics Object)是MATLAB 7.0提供给用户的一种用于创建计算机图形的面向对象的图形系统,该系统提供给用户创建线、字、网格、面及图形用户界面(GUI,有关内容详见本书第17章)的多种3绘图指令。第12章所介绍的各种“高级”指令都是以图形对象为基础生成的,所以图形对象也称为低层图形。低层指令的调用,没有高层指令那样简明清晰、通俗易懂,但是低层指令可以直接对图形的基本要素进行操作的特点决定了使用者可以让绘制的图形更加个性化,更加具有表现力。 14.1.1 图形对象的体系结构 图形对象是MATLAB中用来显示数据和创建GUI的基本绘图元素,对象的每个实例(instance)都对应唯一的标识符(Identifier),此标识符称为对象的句柄(handle),句柄由系统设定,用户不能改变。用户可以利用句柄轻松地操作现有图形的各项特征,即设置对象属性。 MATLAB的图形对象体系结构中包含各种具有继承关系的对象,其关系有“父子”(从属)关系和“兄弟”(平行)关系两种,具体如图14.1所示。 14.1.2 图形对象的类型 本小节主要是在14.1.1节的基础上向用户详细介绍各种类型的图形对象。 (1)根对象。 (2)图形窗口对象(Figure)。 (3)用户界面对象(UI objects)。用户界面对象是图形窗口对象的一个子对象,其用来创建用户界面的若干相关图形。 (4)轴对象(Axes)。轴对象和用户界面对象是平行的兄弟关系。 14.1.3 MATLAB中对象的属性 MATLAB中各级对象的属性控制其各种外观和显示特性。对象的属性包括公共属性(如对象类型、父、子对象、是否可见等)和不同类型对象的特有属性。例如,通过任何给定的图形对象,用户可以获取窗口中的最后击键、鼠标指针位置,或是最后选中的菜单句柄。 14.2 访问对象句柄 MATLAB中创建的任何对象都由系统赋予一个句柄,所有构造函数的返回值即为其所创建对象的句柄。 14.1.3节已经向读者介绍了对于对象属性的查询和设置,读者已了解到,如果需要做到对于对象属性的操作(查询或设置),则必须在对象创建之初就将其句柄保存在变量中,作为准备;如果用户觉得这样比较烦琐,或者偶尔忘记了保存,则还可以调用findobj函数或罗列其父对象的Children属性来获取现有对象的句柄。 读者应该很清楚,根对象的句柄为0,而其子对象,图形窗口对象的句柄一般有两种情况: 整数:默认显示在窗口标题栏中; 浮点数:具有完全的MATLAB内部精度。 14.2.1 获取当前对象的句柄 MATLAB中,有关句柄图形的一个极为重要的概念是当前性(Be Current)。例如,当前的窗口即为接受绘制函数输出的窗口;当前的坐标轴就是创建坐标轴子对象的命令输出目标坐标轴;而当前的图形对象则为最后创建的图形对象,或被用户用鼠标点击选中的图形对象。 用户可以直接把调用绘图函数的返回值存放在一个变量中,那么这个变量就是相应图形的句柄。 另外一种获取当前对象句柄的常用方法是调用get函数, get函数的调用格式和功能系统地阐述如下。 14.2.2 调用findobj函数通过属性值查询对象 MATLAB提供给用户findobj函数,用于通过对属性值的搜索来查询对象句柄。findobj函数可以快速形成一个结构层次的截面并获得具有指定属性值的对象句柄,如果用户没有指定起始对象,那么系统默认findobj函数从Root对象开始,搜索与用户指定属性名和属性值相符的所有对象。 用户希望将字符串‘sin(t)=.707’从当前位置点[pi/4,sin(pi/4)

文档评论(0)

118books + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档