《MATLAB 7.X程序设计》-王建卫-电子教案 第6章 3

上传人:E**** 文档编号:89398662 上传时间:2019-05-24 格式:PPT 页数:58 大小:408KB
返回 下载 相关 举报
《MATLAB 7.X程序设计》-王建卫-电子教案 第6章 3 _第1页
第1页 / 共58页
《MATLAB 7.X程序设计》-王建卫-电子教案 第6章 3 _第2页
第2页 / 共58页
《MATLAB 7.X程序设计》-王建卫-电子教案 第6章 3 _第3页
第3页 / 共58页
《MATLAB 7.X程序设计》-王建卫-电子教案 第6章 3 _第4页
第4页 / 共58页
《MATLAB 7.X程序设计》-王建卫-电子教案 第6章 3 _第5页
第5页 / 共58页
点击查看更多>>
资源描述

《《MATLAB 7.X程序设计》-王建卫-电子教案 第6章 3 》由会员分享,可在线阅读,更多相关《《MATLAB 7.X程序设计》-王建卫-电子教案 第6章 3 (58页珍藏版)》请在金锄头文库上搜索。

1、第6章 MATLAB 绘图 (3),MATLAB 7.X程序设计,2/58,6.4 句柄图形,6.4.1句柄图形体系 1 图形对象和句柄 图形对象是一组紧密相关、形成惟一整体的子对象的集合,并且子对象可以被单独地操作。 在创建每一个图形对象时,都为该对象分配惟一的一个数值,称为图形对象句柄。句柄是图形对象的惟一标识符,不同对象的句柄是不同的。,MATLAB 7.X程序设计,3/58,2 句柄图形的结构,由图形创建函数产生的每一个对象都是图形对象,包括图形窗口、坐标轴、线条、曲面和文本,这些对象按父对象和子对象组成层次结构。 计算机屏幕是根对象,并且是所有其他对象的父对象。 图形窗口是根对象的子

2、对象,坐标轴和用户界面对象是图形窗口的子对象,线条、文本、曲面、贴片和图像对象是坐标轴对象的子对象。,MATLAB 7.X程序设计,4/58,6.4.2 图形对象的建立,1 图形窗口对象 figure:建立新的图形窗口的函数h=figure(PropertyName1, PropertyValue1,PropertyName2, PropertyValue2,) 功能:建立图形窗口并设置指定属性的属性值,将句柄值赋给句柄变量h。其中PropertyName, PropertyValue(即属性名,属性值)构成属性二元对,该属性二元对还可以用结构数组表示。,MATLAB 7.X程序设计,5/58

3、,例6-44 建立一个图形窗口。该图形窗口有菜单条,名称为“This is the first figure.”,大小为300300像素点,背景颜色为红色,鼠标键按下响应事件为在该图形窗口绘制出的正弦曲线。,例6-45 创建一个窗口,背景为红色,没有菜单条,窗口的左下角在屏幕的(0,0)位置,宽度、高度分别为300、400(单位:像素),MATLAB 7.X程序设计,6/58,figure 或 h =figure 功能:按默认的属性值建立图形窗口。 要关闭图形窗口,使用close函数,调用格式为: close(h) 功能:关闭句柄为h的图形窗口。 close all 功能:关闭所有的图形窗口。

4、 注意clf命令则是清除当前图形窗口的内容,但不关闭窗口。,MATLAB 7.X程序设计,7/58,2 坐标轴对象,axes:建立坐标轴对象 a=axes(PropertyName1, PropertyValue1,PropertyName2, PropertyValue2,) 功能:用指定的属性在当前图形窗口创建坐标轴,并将其句柄值赋给句柄变量a。 axes 或 a=axes 功能:按默认的属性值在当前图形窗口创建坐标轴。,MATLAB 7.X程序设计,8/58,3 曲线对象,line:建立曲线对象 L=line(x,y,z,PropertyName1, PropertyValue1,Pro

5、pertyName2, PropertyValue2,) 功能:绘制曲线,并将句柄值赋给句柄变量L,其中x,y,z的含义与高层绘图函数plot和plot3等一样。,MATLAB 7.X程序设计,9/58,例6-46 绘制正弦曲线,并分别用元胞数组和构架数组设置对象属性。,MATLAB 7.X程序设计,10/58,4 文字对象,text:建立文字对象的函数 t=text(x,y,z,说明文字,PropertyName1, PropertyValue1,PropertyName2, PropertyValue2,) 功能:在指定位置和以指定的属性值添加文字说明,并保存句柄值为t。说明文字中除使用标

6、准的ASCII字符外,还可使用LaTeX格式的控制字符。,MATLAB 7.X程序设计,11/58,例6-47 利用曲线对象绘制正弦、余弦曲线,并利用文字对象完成标注。,MATLAB 7.X程序设计,12/58,5 曲面对象,surface:建立曲面对象 s=surface(x,y,z,PropertyName1, PropertyValue1,PropertyName2, PropertyValue2,) 功能:建立句柄值为s的曲面对象。其中对x,y,z的含义与曲面绘制函数mesh和surf等一样。,MATLAB 7.X程序设计,13/58,例6-48 利用曲面对象绘制三维曲面,MATLAB

7、 7.X程序设计,14/58,6.4.3 对象句柄的获取方法,句柄值的获取方法: 1)追溯法获取句柄 h_pa=get(h_known,parent) 功能:获取h_known的父对象句柄值,并赋给h_pa。 h_ch=get(h_known,children) 功能:获取h_known的子对象的句柄值,并赋给h_ ch。,MATLAB 7.X程序设计,15/58,2)当前对象句柄的获取,Hf_fig=gcf 功能:返回当前图形窗口的句柄值,并赋给Hf_fig,Ha_ax=gca 功能:返回当前图形的当前坐标轴的句柄值,并赋给Ha_ax。,Hx_obj=gco 功能:获取当前对象的句柄值,并赋

8、给Hx_obj。,Hx_obj=gco(Hf_fig) 功能:返回句柄值为Hf_fig的图形中当前对象的句柄值。,MATLAB 7.X程序设计,16/58,3) 根据对象特性获取句柄,findobj 函数是根据对象特性获取句柄的一种重要方法。调用格式如下: h=findobj(h-ori,PropertyName, PropertyValue) h=findobj PropertyName, PropertyValue,) 功能:获取根和根以下以属性二元对(PropertyName, PropertyValue)指定属性值的对象的句柄值,并赋给h。,MATLAB 7.X程序设计,17/58,H

9、= findobj 功能:获取根对象和所有子对象的句柄值,并赋给H。,H= findobj (ObjectHandles) 功能:获取句柄为ObjectHandles对象中列出的对象和它们的子对象的句柄值,并赋给H。,MATLAB 7.X程序设计,18/58,例6-49 绘制三维网格图,并用追溯法返 回图形窗的句柄。,MATLAB 7.X程序设计,19/58,6.4.4 对象属性的获取和设置,句柄图形建立后,应用函数get和set获取和设置对象的属性。 get(h_obj) 获取句柄对象所有属性的当前值 get(h_obj, PropertyName) 获取句柄对象h_obj的属性名为Prop

10、ertyName的当前值 set(h_obj) 显示句柄对象所有属性和属性值。,MATLAB 7.X程序设计,20/58,set(h_obj, PropertyName) 设置句柄对象指定属性名的属性值,set(h_obj, PropertyName, PropertyValue ) 设置句柄对象指定属性名的属性值,set(h_obj, PropertyStructure) 用结构数组设置句柄对象指定属性的属性值,MATLAB 7.X程序设计,21/58,get(h_obj, DefaultObjectTypePropertyName) 获取对象属性的默认值,set(h_obj, Defaul

11、tObjectTypePropertyName, PropertyValue) 设置属性的用户定义默认值,set(h_obj, DefaultObjectTypePropertyName, Remove) 删除属性的用户定义默认值,MATLAB 7.X程序设计,22/58,例6-50(续例6-45)获取句柄为h_fig为图形对象属性,将窗口的背景设置为白色背景。,例6-51 绘制曲线y=1-sinxcosx,并设置曲线颜色为红色,宽度为3像素,窗口背景为绿色。,例6-52 在同一个图形窗口以不同的坐标轴分别绘制正弦曲线和余弦曲线,并对曲线注释。,MATLAB 7.X程序设计,23/58,6.5

12、 图形用户界面,6.5.1 图形用户界面对象层次结构 图形用户界面(Graphical User Interfaces,GUI): 由窗口、光标、按键、菜单、文字说明等对象构成的一个用户界面。 用户通过鼠标或键盘选择、激活这些图形对象,使计算机产生某种动作或变化。 MATLAB中设计图形用户界面的方法有两种:使用可视化的界面环境和通过编写程序。 用户菜单、用户控件和对话框是和坐标轴处于同一层次的,都是图形窗口的子对象。,MATLAB 7.X程序设计,24/58,6.5.2用户菜单,1 自定义的用户菜单 unimenu: 自定义的用户菜单的建立函数Hm=unimenu(Hp,PropertyNa

13、me1,PropertyValue1,PropertyName2,PropertyValue2,) 功能:创建句柄值为Hm的自定义的用户菜单。其中Hp为其父对象的句柄,PropertyName和PropertyValue构成属性二元对,定义用户菜单的属性。,MATLAB 7.X程序设计,25/58,菜单对象除具有Children(子对象),Parent(父对象),Tag(标签),Type(类型),UserData(用户数据),Enable(使能)和 Visible(可见性)等公共属性,还有一些常用的特殊属性,如回调(callback)属性和菜单名(label)。 另外,用户菜单的外观有四个属性

14、:Position(位置),Separator(分隔线),checked(检录符)和ForeGroundColor(前景颜色)。,MATLAB 7.X程序设计,26/58,因调用方法的不同,该函数也可以用于建立一级菜单项和子菜单项。 建立一级菜单项的函数调用格式为: 一级菜单项句柄=uimenu(图形窗口句柄,PropertyName,PropertyValue,) 建立子菜单项的函数调用格式为: 子菜单项句柄=uimenu(一级菜单项句柄,PropertyName,PropertyValue,) 图形窗的标准菜单可以通过属性MenuBar隐藏和恢复。,MATLAB 7.X程序设计,27/58

15、,例6-53 隐藏和恢复句柄值为H_fig的图形窗口的标准菜单的显示。,例6-54 在图形窗口的标准菜单基础上增加Color菜单,该菜单有设置图形窗背景颜色分别为蓝色或绿色的两个选择项。,MATLAB 7.X程序设计,28/58,2 快捷菜单,用uicontextmenu函数和图形对象的UIContextMenu属性来建立快捷菜单,具体步骤为: 1) 利用uicontextmenu函数建立快捷菜单,格式为: hc=uicontextmenu 功能:建立快捷菜单,并将句柄值赋给变量hc。,MATLAB 7.X程序设计,29/58,2) 利用uimenu函数为快捷菜单建立菜单项,格式为: uime

16、nu(快捷菜单名,PropertyName, PropertyValue,.) 功能:为创建的快捷菜单赋值,其中PropertyName和PropertyValue构成属性二元对。 3) 利用set函数将该快捷菜单和某图形对象联系起来。,MATLAB 7.X程序设计,30/58,例6-55 绘制曲线y=1-sin(x)cos(x),并建立控制曲线的线型和曲线宽度的快捷菜单。,MATLAB 7.X程序设计,31/58,6.5.3 对话框,1创建对话框 创建对话框的函数是dialog,调用格式为: H=dialog(PropertyName,PropertyValue,) 功能:创建句柄变量为H 的对话框。 常用的属性有ButtonDownFcn(鼠标按下调用函数),Colormap(色图),Color(颜色),HandleVisibility(句柄可视性),IntegerHandle(集成句柄), MenuBar(菜单条),NumberTitle(编号标题),PaperPositionMode(位置模式)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号