当前位置:文档之家› Matlab工程应用基础

Matlab工程应用基础

2020/9/28
第4章 Matlab的图形功能
2020/9/28
第4章 Matlab的图形功能
2.用户菜单对象(unimenu) 由GUI 窗口上【 Tools】->【 Menu Editer】命令,或者工 具栏上的按钮,即可打开菜单编辑器。
最上面的主要功能按钮为: ➢New Menu:新建一个菜单; ➢New Menu Item:新建一个子菜单项; ➢New Contextmenu:新建一个上下文
2020/9/28
第4章 Matlab的图形功能
2.图形对象和句柄图形的结构层次 ➢ 图形对象包括图形窗口或者图形,还有坐标系、线条、
曲面、文本等。这些对象按父对象和子对象组成 MATLAB 图形体系的层次结构。 ➢ 每个图形对象都由若干可以被独立操作的对象构成,它 不必包含全部对象,但是必须具备根屏幕( Root)和图 形窗( Figure)。 ➢ 每个父对象可以包含一个或多个子对象。除了控件对象 ( Uicontrol)和菜单对象( Uimenu)外,所有的对象 都是坐标轴的子对象,并且在这些坐标轴上显示。所有 创建对象的函数当父对象不存在时,都会创建它们。
第4章 Matlab的图形功能
七、图形对象的有关概念 图形用户界面( Graphic User Interface)是指包含图形对 象的用户界面,是MATLAB句柄图形系统的子系统。它 包含两类图形对象:一是用户界面控件对象( Uicontrol); 一是用户界面菜单对象( Uimenu)。 1.句柄图形 ➢句 柄 图 形 ( Handle Graphics) 是 一 种 面 向 对 象 ( Object-Oriented)的绘图系统概念,它提供了创建计算 机图形所必须的各种软件,所支持的指令可以直接创建线、 文字、面以及图形用户界面。 ➢句柄图形基于这样的概念:一幅图的每一个组成部分都 是 一 个 对 象 ( Object), 每 一 个 对 象 有 一 系 列 句 柄 ( Handle)和它相关。
▪ 阅读或者打印以下 PDF 文件:
help\pdf_doc\matlab\graphg.pdf; help\pdf_doc\matlab\ref\refbook2.pdf
▪ 用命令 help 查看有关对象的资料
在命令窗口中键入 help figure,直接获得有关图形对象的属性描述;
▪ 在帮助窗口中,键入关键字( 如 Graphic Property)搜索、查询关 于对象属性的文件;
创建一个图形对象,并寻求图形对象的句柄值。
mesh(peaks(30)); %创建山峰的网格图 text(30,20,2,'\leftarrowpeak') %给图形对象加上文本,图形对象中包括坐标轴、线条和 文本标注
h=findobj(gcf) %求当前图形窗口的句柄
h=
%返回句柄值赋予变量
1.0000
第4章 Matlab的图形功能
创建一个图形对象,练习和体会 set 和 get 函数的用法。
x=0:0.1:2*pi;
y1=sin(x);
%创建一个正弦函数
H1_sin=plot(x,y1,'*')
%画图并返回图像的句柄值
set(H1_sin,'color',[1,0.5,0],'Linewidth',1) %调用函数 set 设置正弦曲线的颜色和线宽
101.0011
100.0038
h=
101.0011
2020/9h/2a8= 200.0004
第4章 Matlab的图形功能
5.图形对象属性的获取及其设置 ➢所有的对象都有属性( Property),对象的属性可包括
诸如对象的位置、颜色、类型、父对象、子对象及其他 内容。可通过设定这些属性来定义和修改对象的特征。 ➢对象属性包括属性名(字符串,识别属性时不分大小写) 和相应的属性值。 ➢涉及到各对象属性的文件和查阅方法
1.图形属性编辑器 ➢属性检查器( Property Inspector)可以对所有图形对象 的所有属性进行交互式编辑。 ➢属性检查器显示了当前对象的所有属性值,各种对象按 层次排列。最上面的按钮表示所显示属性所属的对象名称, 编辑器下面为属性内容,其中,左侧为对象的所有属性名 称,右侧为当前该属性的取值,用户可在此栏对属性的值 进行修改和添加。
调用方式如下: ➢ h=findobj(’propertyname’,propertyvalue,…):在所有的对象层中查
找符合指定属性值的对象,返回句柄值h; ➢ h=findobj(ObjectHandle ,'propertyname',propertyvalue,…):查找
范围限制在句柄“ ObjectHandle”指定的对象及其子对象中; ➢ h=findobj(ObjectHandles,'flat', 'propertyname',propertyvalue,…):
◆ v = get(h, ’default<ObjectType><PropertyName>’) :返回缺省的属 性值。句柄h必须是标量,尖括号内的内容表示可选,如果这两个内 容都不选,那么该函数返回句柄为 h 的对象所有属性的缺省值。
2020/9/28
第4章 Matlab的图形功能
set 函数用来设置对象属性值。 调用方法: ◆ set(H,’PropertyName’,PropertyValue):把句柄为H的对
2020/9/28
第4章 Matlab的图形功能
2020/9/28
句柄图形体系的对象层次结构图
第4章 Matlab的图形功能
3.对象句柄 ➢ 句柄( Handle)是分配给每一个对象的数字标识(
Identifier),每创建一个对象时,就为它建立一个惟一 的句柄。句柄是存取图形对象的惟一规范识别符,不同 对象的句柄不可能重复和混淆。 ➢ 每台计算机的根对象是根屏幕(Root),其句柄总是数 字0;而图形窗口( Figure )的句柄总是正整数,用它 来标识图形窗的序号。除根对象和图对象外,其余对象 的句柄则是双精度浮点数。 ➢ 除了根对象外,所有的对象都由与之相对应的内置函数 ( Build-in Function)创建,每个函数在创建对象的同 时,还可以返回该对象的句柄 h。
2020▪/9/2利8 用 get、set 命令在 命令窗口中直接查询对象的属性。
第4章 Matlab的图形功能
get 函数用于获取指定对象的属性。 调用方法:
◆ v = get(H,’PropertyName’) : 返 回 句 柄 为 H 的 对 象 中 名 为 “ PropertyName”属性的值。H 是向量,将同时返回向量 H 中每个 句柄对应图形对象的指定属性值, H 是标量,返回句柄为 H的对象 的所有属性名及其当前取值;
2020/9/28
第4章 Matlab的图形功能
函数 copyobj 的用法。
mesh(peaks(30));
text(30,20,2,'\leftarrowpeak');
hh=findobj(gcf)
在上述程序之后加入如下内容:
h=findobj('string','\leftarrowpeak') %将文字对象的句柄值返回给变量 h
99.0010
101.0006
100.0016
句柄中的元素排列顺序决定于各个对 象在整个对象层次结构中的位置。
h(1)=1 为图形对象( Figure)的句柄; h(2)=99.001 为图的下一级子对象坐标轴的句柄; h(3)=101.0006 为坐标轴的下一级子对象线条的句柄; h(4)=100.0016 为坐标轴的下一级子对象文本的句柄。
delete(h) 该命令可以删除句柄 h 所指的对象及其所有的子对象。 例如 delete(gca)将删除当前轴和它所有的子对象。 由于该命令不提供确认、直接执行,用户在使用时应谨慎 进行。
2020/9/28ຫໍສະໝຸດ 第4章 Matlab的图形功能
b. 函数 findobj 快速地遍历对象层,并获取指定属性的对象句柄。
把查找的范围限制在句柄 “ ObjectHandle”指定的对象中,但不包 括其子对象; ➢ h=findobj:返回根对象和所有子对象的句柄值; ➢ h=findobj(ObjectHandles):返回“ ObjectHandle”指定的对象和其 所有子对象的句柄值。
2020/9/28
第4章 Matlab的图形功能
象 中 名 为 PropertyName 的 属 性 值 设 置 为 “ PropertyValue”。H为向量时,函数为所有对象设置属性值; ◆ set(h,a) : a 是结构,其域名就是对象的属性名,属性 值包括在域中。把属性值赋给和域名相同的属性。句柄 h 为标量; ◆ set(H,PN,PV):PN和PV都是n×1维的数组,PN中的元 素为需要设置的属性名,PV中的元素是设置的属性值; ◆ set(H,’PropertyName1’,PropertyValue1,’PropertyName2 ’,PropertyValue2,...): 2020/9/28用一条语句同时设置多个属性值。
y2=cos(x);
hold on
H1_cos=plot(x,y2)
set(H1_cos,'color',[0.25 0 1]) title('正弦和余弦函数曲线','fontsize',16,'color','blue') H_sin_color=get(H1_sin,'color') %调用 get 函数返回具有句柄 H1_sin 的对象的颜色
相关主题