第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');

MATLAB图形对象句柄命令

MATLAB图形对象句柄命令

MATLAB图形对象句柄命令MATLAB图形对象句柄命令2010-05-25命令1 figure功能创建一个新的图形对象。

图形对象为在屏幕上单独的窗口,在窗口中可以输出图形。

用法figure用缺省的属性值创建一个新的图形对象。

figure('PropertyName',PropertyValue,…)对指定的属性PropertyName用指定的属性值PropertyValue(属性名与属性值成对出现)创建一个新的图形窗口,对于那些没有指定的属性,则用缺省值。

属性名与有效的属性值见下表。

figure(h)1.若h为一个已经存在的图形的句柄,则figure(h)使由h标记的图形成为当前图形,使它可见,且在屏幕上把它显示到所有图形之前。

当前图形为图像输出的地方。

2.若h不是已经存在图形的句柄,但是为一整数,则该命令生成一图形窗口,同时把该窗口的句柄赋值为h;若h不是一图形窗口的句柄,也不是一整数,则返回一错误信息。

h=figure(…)返回图形窗口对象的句柄给h。

表7-10属性名属性说明有效属性值窗口位置Position图形窗口的位置与大小有效值:四维向量[left,bottom,width,height]缺省值:决定于显示Units用于解释属性Position的单位有效值:inches(英寸)centimeters(厘米)normalized(标准化单位,认为窗口为一长宽都是1)points(点)pixels(像素)characters(字符)缺省值:pixels指定类型与外在显示Color窗口的背景颜色有效值:ColorSpec(有效的颜色参数)缺省值:取决于颜色表(参见命令colordef)Menubar转换图形窗口菜单条的"开"与"关"有效值:none、figure缺省值:figure Name显示图形窗口的标题有效值:任意字符串缺省值:''(空字符串)NumberTitle标题栏中是否显示'Figure No.n',其中n为图形窗口的编号有效值:on、off缺省值:on Resize指定图形窗口是否可以通过鼠标改变大小有效值:on、off缺省值:on SelectionHighlight当图形窗口被选中时,是否突出显示有效值:on、off缺省值:on Visible确定图形窗口是否可见有效值:on、off缺省值:on WindowStyle指定窗口为标准窗口还是典型窗口有效值:normal(标准窗口)、modal(典型窗口)缺省值:normal控制色图Colormap图形窗口的色图有效值:m*3阶的RGB颜色矩阵缺省值:jet色图Dithermap用于真颜色数据以伪颜色显示的色图有效值:m*3阶的RGB颜色矩阵缺省值:有所有颜色的色图DithermapMode是否使用系统生成的抖动色图有效值:auto、manual缺省值:manual FixedColors不是从色图中获得的颜色有效值:m*3阶的RGB颜色矩阵缺省值:无(只读模式)MinColormap系统颜色表中能使用的最少颜色数有效值:任一标量缺省值:64 ShareColors允许MATLAB共享系统颜色表中的颜色有效值:on、off缺省值:on指定透明度Alphamap图形窗口的α色图,用于设定透明度。

【转】matlab图形句柄详解(一)

【转】matlab图形句柄详解(一)

【转】matlab图形句柄详解(⼀)在matlab中,每⼀个对象都有⼀个数字来标识,叫做句柄.当每次创建⼀个对象时,matlab就为它建⽴⼀个唯⼀的句柄,句柄中包含有该对象的相关信息参数,可以在后续程序中进⾏操作,改变其中的参数,以便达到不同的效果。

例如:gcf 是返回当前被激活的窗⼝的句柄。

你可以认为它就指代当前窗⼝。

figure(gcf)打开这个窗⼝。

句柄式图形常⽤函数:所有对象都有属性来定义它们的特征,正是通过设定这些属性来修正图形显⽰的⽅式。

尽管许多属性所有的对象都有,但与每⼀种对象类型(⽐如坐标轴,线,曲⾯)相关的属性列表都是独⼀⽆⼆的。

对象属性可包括诸如对象的位置、颜⾊、类型、⽗对象、⼦对象及其它内容。

每⼀个不同对象都有和它相关的属性,可以改变这些属性⽽不影响同类型的其他对象。

和每⼀种对象类型(图形,坐标轴,线,⽂本,曲⾯,补⽚和图象)相关的完整的属性列表在本章的后⾯给出。

对象属性包括属性名和与它们相联关的值。

属性名是字符串,它们通常按混合格式显⽰,每个词的开头字母⼤写,⽐如:’ LineStyle ‘ 。

但是,MATLAB识别⼀个属性时是不分⼤⼩写的。

另外,只要⽤⾜够多的字符来唯⼀地辨识⼀个属性名即可。

例如,坐标轴对象中的位置属性可以⽤ ‘ Position ‘, ‘ position ‘ ,甚⾄是 ‘ pos ‘来调⽤。

当建⽴⼀个对象时,它⽤⼀组缺省属性值,该值可以⽤两种⽅法来改变:改变默认属性值⽅法1:» Hf_1=figure( ‘color’, ‘white’ )它⽤缺省的属性值建⽴⼀个新的图形窗⼝,只是背景颜⾊被设为⽩⾊⽽不是缺省的[0.8 0.8 0.8](灰⾊)。

改变默认属性值⽅法2:为了获得和改变句柄图形对象(如上⾯的Hf_1)的属性只需要两个函数:函数get返回某些对象属性的当前值。

使⽤函数get的最简单语法是get(handle, ‘ PropertyName’ )。

图形句柄

图形句柄

0
-0.2
-0.4
0
2
4
6
8
10
12
14
五、创建图形对象函数
1、创建图形窗口
figure
调用格式: H=figure(n)
n为窗口序号
例:创建1号窗口,并返回句柄。
>>H=figure(1) H=1
返回值为窗口号数
2、创建轴对象
axes
left, bottom H=axes(‘property’, ) width,height
变量H是句柄值——浮点数
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1
0
1
2
3
4
5
6
7
4、标注文字
text
H=text(x,y,’string’)
确定标注位置 标注字符串
每个函数只能创建一个图形对象, 并将它们置于适当的父辈对象中。
图形对象的基本要素以根屏幕为先导
根屏幕 父对象
窗口1
窗口2
……
窗口n
界面控制
界面菜单

线




子对象
图形对象之间的关系为父代与子代的关系
窗口对象
1 0.8 0.6 0.4 0.2 0
轴对象 线 对 象
图形对象句柄:
根屏幕(Root)句柄总是数字0; 图形窗口( Figure )的句柄总是正 整数,用它来标识图形窗的序号。 其它图形对象的句柄为浮点数。
第五节 图形句柄
一、matlab句柄绘图的特点
——matlab语言的句柄绘图可以对 图形各基本对象进行更为细腻 的修饰,可以产生更为复杂的 图形,而且为动态图形的制作 奠定了基础。

MATLAB句柄图形

MATLAB句柄图形

句柄图形句柄图形对象句柄图形是对底层图形例程集合的总称,实际上是进行生成图形的工作句柄图形的概念:一幅图的每一组成部分是一个对象,每一个对象有一系列句柄和它相关,每一个对象又按需要可以改变属性1、图形框架窗口对象(Figure)(1)、绘制图形的图形框架窗口对象gca:获得当前坐标轴对象的句柄gcbf:获得当前正在执行调用的图形对象的句柄gcbo:获得当前正在执行调用的对象的句柄gcf:获得当前图形对象的句柄gco:获得当前对象的句柄get(gcf) %由于当前状态下不存在图形窗口,系统生成新的图形窗口(2)、核心(Core)对象核心对象:包括直线、文本和特殊对象(光、图像和面图)等基本的绘图命令坐标系对象:包括线、面图和等高线图等描述的数据对象MATLAB中创建核心对象的函数axes:坐标轴image:MATLAB中的图像light:光源line:二维图形中最基本的图形对象patch:按指定方式填充多边形rectangle:具有可设置边界和表面颜色的二维图形对象surface:图形表面text:图形中的文本[x y]=meshgrid([-2:0.4:2]);Z=x.*exp(-x.^2-y.^2);fh=figure('Position',[350 275 600 450],'Color','w');ah=axes('Color',[0.8 0.8 0.8],'XTick',[-2 -1 0 1 2],...'YTick',[-2 -1 0 1 2]);sh=surface('XData',x,'YData',y,'ZData',Z,...'FaceColor',get(ah,'Color')+0.1,...'EdgeColor','k','Marker','o',...'MarkerFaceColor',[0.5 1 0.85]);view(3)(3)、绘图(Plot)对象绘图对象的父对象可以是坐标轴对象或是群对象MATLAB中绘图对象及其绘图命令areaseries:用于创建area图barseries:用于创建bar图contourgroup:用于创建contour图errobarseries:用于创建errorbar图lineseries:提供给绘制线型图的plot和plot3等函数使用quivergroup:用于创建quiver和quiver3图形scattergroup:用于创建scatter和scatter3图形stairseries:用于创建阶梯图形stemseries:用于创建stem和stem3图形surfaceplot :提供给surf和mesh群函数使用[x y z]=peaks;[c h]=contour(x,y,z);set(h,'LineWidth',3,'LineStyle',':')(4)、注释对象图形编辑工具栏Insert菜单注释函数x=-2*pi:pi/12:2*pi;y=x.^2;subplot(2,2,1:2)plot(x,y)h1=subplot(223);y=x.^4;plot(x,y)h2=subplot(224)y=x.^5;plot(x,y)%定义注释矩形的位置和大小p1=get(h1,'Position');t1=get(h1,'TightInset');p2=get(h2,'Position');t2=get(h2,'TightInset');x1=p1(1)-t1(1);y1=p1(2)-t1(2);x2=p2(1)-t2(1);y2=p2(2)-t2(2);w=x2-x1+t1(1)+p2(3)+t2(3);h=p2(4)+t2(2)+t2(4);%创建注释矩阵来环绕下面两个子图annotation('rectangle',[x1 y1 w h],...'FaceAlpha',0.2,'FaceColor','red','EdgeColor','red');通用函数get和set1、get函数get(handle,’PropertyName’):得到对象的属性及其属性值Hf_1=figure('color','w')p=get(Hf_1,'position') %位置p=get(Hf_1,'Children') %子对象p=get(Hf_1,'Color') %颜色get(Hf_1) %整个图形的属性2、set函数set(H,’PropertyName’,PropertyValue):可以同时设置多个属性的值set(H,a):a为结构体,字段名为图形对象的属性名,字段值为属性值set(H,pn,pv):通过单元型变量为图形对象进行属性赋值,其中pn和pv为单元型变量,pn 为1*n的字符型单元变量,其分量为图形对象的属性名,pv可以是m*n的单元型变量,这里m为句柄数组H的长度,即m=length(H)x=-2*pi:pi/12:2*pi;y=x.^2+x.^3;h=figure;plot(x,y);set(h,'position',[232 248 560 420])set(h,'units') %帮助set(h,'position') %帮助figure('Color','blue','NumberTitle','off','Name','My Figure')Hf_fig=figureHf_line=lineset(Hf_line)get(Hf_line)x=linspace(-2*pi,2*pi,200);y=sin(x);Hf_sin=plot(x,y);set(Hf_sin,'Color',[1 0.5 0],'LineWidth',3)z=cos(x);hold onHf_cos=plot(x,z);set(Hf_cos,'Color',[0.75 0.75 1])查找对象Hf_fig=gcf:返回当前图形的句柄Hf_ax=gca:返回当前图形的当前坐标轴句柄Hx_obj=gco或是Hx_obj=gco(Hf_fig):获取当前对象findobj函数Hx=findobj(‘P1name’,P1value,…):返回根部和根部以下的那些属性值与findobj参数项匹配的对象句柄Hx=findobj(Objecthandle,‘P1name’,P1value,…):限定在Objecthandle中列出的对象和它们的子对象Hx=findobj(Objecthandle,’flat’,‘P1name’,P1value,…):限定在Objecthandle中列出的对象H=findobj:返回根对象和它所有子对象的句柄H=findobj(Objecthandle):返回Objecthandle中列出的对象和它们的子对象的句柄当前对象的定义:用鼠标刚刚点过的对象x=linspace(-pi,pi,100);y=sin(x);z=cos(x);plot(x,y,'r',x,z,'g');H1_lines=get(gca,'Children');for k=1:size(H1_lines)if get(H1_lines(k),'color')==[0 1 0] %查找图中绿色线条的句柄H1_green(k)=H1_lines(k);endendH1_green堆积次序堆积次序决定哪一对象叠加在其他对象上,最后被创建的对象在堆栈顶部默认属性使用set函数默认属性名:Default+属性名set(0,'DefaultAxesColorOrder',[0 0 0],...'DefaultAxesLineStyleOrder','-|--|:|-.')z=peaks;plot(1:49,z(4:7,:))。

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中元素为根的多项式

matlab程序设计第八章和九章matlab句柄绘图

matlab程序设计第八章和九章matlab句柄绘图

3.图形set(h1, ’unit’,’centimeters’,’position’,[100 200 300 500],’color’,’r’)%指points. set(h1,‘unit’,‘normalized’,‘position’,[0.2,0.2,0.64,0.32])%归一化 注:’unit’单位的取值为:‘inches’,‘centimeters’,‘normalized’, ‘points’,‘pixels’和‘characters’。
什么是句柄操作? 向量化的绘图要求给每个图形元素分配一个句 柄 (handle), 以后再对该图形元素做进一步操作 时,则只需对该句柄进行操作即可。
• 各图形对象的句柄的数据格式:
根屏幕
0
图形窗口 整数,表示图形窗口数
其它对象 对应的浮点数
• 所有能创建图形对象的matlab函数都可
给出所创建图形对象的句柄 例:创建1号窗口,返回句柄
• h1=line([0:10],[0:10])
h1 = h1为句柄的代码值
10
9
8
7
6
5
4
3
2
1
0
0
1
2
3
4
5
6
7
8
9
10
• 查阅线对象的属性名称和属性值 get(h1)
Color = [1 1 0] EraseMode = normal LineStyle = LineWidth = [0.5] MarkerSize = [6] Xdata = [ (1 by 11) ] Ydata = [ (1 by 11) ] Zdata = []
例2:
x=1:10,y=1:10; h2=plot(x,y); set(h2,'linewidth',2,'color','r'); set(h2,'linestyle','-.')

第8章 matlab图形句柄

第8章 matlab图形句柄

图形窗口常用属性
(1)MenuBar/ToolBar属性。属性的取值可以是figure(默认值)或none,用来 控制图形窗口是否具有菜单条/工具栏。 (2)NumberTitle属性。该属性的取值是on(默认值)或off,决定在图形窗口 的标题中是否以“Figure No.n:”为标题前缀,这里n是图形窗口的序号,即句 柄值。 (3)Resize属性。该属性的取值是on(默认值)或off。决定着在图形窗口建立 后可否用鼠标改变该窗口的大小。 (4)Pointer属性。该属性的可取值是arrow(默认值)、crosshair、ibeam、 watch、topl、topr、botl、botr、circle、cross、fleur、custom等,分别对应 于15种典型的鼠标指针形式。 (5)Position属性。该属性的取值是一个由4个元素构成的向量,其形式为 [n1,n2,n3,n4]。这个向量定义了图形窗口在屏幕上的位置和大小,其中n1和 n2分别为对象左下角的横纵坐标值,n3和n4分别为图形窗口的宽度和高度。 它们的单位由Units属性决定。 (6)Units属性。该属性的取值可以是下列字符串中的任何一种: normalized (相对单位,为默认值)、pixel(像素)、inches(英寸)、centimeters (厘米)和points(磅)。 (7)对键盘及鼠标响应属性。MATLAB允许对键盘和鼠标键按下这样的动作进 行响应,这类属性有KeyPressFcn(键盘键按下响应)、 WindowButtonDownFcn(鼠标键按下响应)、WindowButtonMotionFcn (鼠标移动响应)、WindowButtonUpFcn(鼠标键释放响应)等,这些属性 所对应的属性值可以为用MATLAB编写的函数名或命令名,表示一旦键盘键 或鼠标键按下之后,将自动调用给出的函数或命令。

五讲matlab句柄绘图ppt课件

五讲matlab句柄绘图ppt课件
get(gca,'colororder') ans =
110 101 011 100 010 001
• 设置线条和窗口的颜色 set(h1,'color',[1 0 0]) set(h1,'color',[1 0.5 0])
10
10
9
9
8
8
7
7
6
6
5
5
4
4
3
3
set(gcf,'color',[0.5 0.5 0.5]) set(gcf,'color',[0.5 0.6 0.8])
• 底层绘图函数——可以定制图形,对图 形的每一部分进行控制,用户可以用来 开发用户界面以及各专业的专用图形。 充分体现了matlab语言的开发性
一、什么是句柄图形
• 句柄图形:利用底层绘图函数,通 过对对象属性的设置(Handle Graphics)与操作实现绘图。
• 句柄图形中所有图形操作都是针对 图形对象而言的。
界面菜单: 图形窗口的子代,创建用户界 面菜单对象
轴:图形窗口的子代,创建轴对象,并返回 句柄,线面字块像的父辈
线:轴的子代,创建线对象 面:轴的子代,创建块对象 字:轴的子代,创建字对象 块:轴的子代,创建块对象 像:轴的子代,创建图像对象
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
轴对象
窗口对象
2
3
4
5
6
7
set(0,'defaultfigurecolor','b') set(0,'defaultaxescolor','g') h=line(x,y) set(h,'color','r') set(gca,'xcolor','w') set(gca,'ycolor','w')

第8章 MATLAB图形句柄

第8章  MATLAB图形句柄
Matlab仿真技术与应用
为低层指令准备图/轴
• 用低层指令创建线、面等‘子’对象时,涉及到如何 为它们准备图、轴两代“父”对象的问题,也就是如 何设置figure、axes的“Nextplot”的属性值的问题 对象 figure axes Nextplot可 add 取属性值 对应取值 对应取值 replacechilchen replace Clf reset Cla reset
第8章 MATLAB图形句柄 8.1 图形对象及其句柄 8.2 图形对象属性 8.3 图形对象的创建
Matlab仿真技术与应用
8.1 图形对象及其句柄 1.图形对象 Matlab把用于数据可视和界面制作的基本绘图要素称为句柄绘图对象 (handle graphics object)构成Matlab图形句柄图形体系的11个图形 对象如下图1所示 Matlab生成的每个具体图形,都由若干个不同的对象构成,每个具体图 形不必包含全部,但每个图形必须包含根屏幕和图形窗
Hold on clf Hold on Clf or cla
Matlab仿真技术与应用
3.对象的公共属性 对象常用的公共属性:Children属性、Parent属性、Tag属性、 Type属性、UserData属性、Visible属性、ButtonDownFcn 属性、CreateFcn属性、DeleteFcn属性。 例8-2 在同一坐标下绘制红、绿两根不同曲线,希望获得绿 色曲线的句柄,并对其进行设置。
Matlab仿真技术与应用
例8-3 建立一个图形窗口。该图形窗口没有菜单条,标题名 称为“我的图形窗口”,起始于屏幕左下角、宽度和高度 分别为450像素点和250像素点,背景颜色为绿色,且当用 户从键盘按下任意一个键时,将在该图形窗口绘制出正弦 曲线。

经典MATLAB图形句柄

经典MATLAB图形句柄
使用`get`命令获取图形属性
PropertyValue = get(h,'PropertyName');
使用`refreshdata`命令更新图…
refreshdata(h);
使用`drawnow`命令更新图形窗口
drawnow;
图形句柄的删除和销毁
使用`delete`命令删除指定图形对象
delete(h);
图形句柄的分类
线条句柄
用于标识和操作线条ቤተ መጻሕፍቲ ባይዱ象。
曲面句柄
用于标识和操作曲面对象。
文本句柄
用于标识和操作文本对象。
图像句柄 组句柄
用于标识和操作图像对象。
用于标识和操作一组相关的 图形对象。
02
常用图形句柄
坐标轴句柄
获取当前坐标轴句柄
使用`gca`函数可以获取当前坐标轴的句柄。
设置坐标轴属性
通过坐标轴句柄,可以设置坐标轴的属性,如坐标轴范围、刻度标记等。
对于初学者来说,经典Matlab图形句柄的学习曲线可能较为陡峭,需 要投入较多时间和精力。
Matlab图形句柄的未来发展
性能优化
未来版本的Matlab可能会对图形句柄进行 性能优化,提高绘图速度和响应能力。
增强灵活性
为了满足更多样化的绘图需求,未来版本的Matlab 可能会增加更多的图形句柄功能和选项。
区域句柄
创建区域
01
使用`area`函数可以创建区域图,并返回区域的句柄。
设置区域属性
02
通过区域句柄,可以设置区域的填充颜色、边框颜色等属性。
添加数据标签
03
使用区域句柄,可以在区域上显示数据标签,以标识区域的值。
03

《Matlab程序设计》课程教学大纲

《Matlab程序设计》课程教学大纲

Matlab程序设计Matlab Program Design一、课程基本情况课程类别:专业任选课课程学分:2学分课程总学时:32学时,其中讲课:24学时,实验(含上机):8学时课程性质:选修开课学期:第4学期先修课程:计算机基础,高等数学,线形代数适用专业:电子科学与技术教材:MATLAB程序设计教程,中国水利水电出版社,刘卫国,2010,第2版开课单位:电子与信息工程学院电子科学与技术系二、课程性质、教学目标和任务MATLAB程序设计是电子与电气信息类相关专业的专业任选课程之一。

MATLAB是由MathWorks 公司1985 年推出的一种面向科学与工程的计算软件,它具有极强的数值计算、图形文字处理、数据分析、动态仿真、信号处理等功能,涉及了数值分析、自动控制、信号处理、图像处理等十几个领域的计算和图形显示,功能强大。

因此,将MATLAB引入教学,强化应用能力培养,学生在学习专业基础课程时,增加工程应用背景,在打好专业基础的同时,提高学生的应用、创新意识。

通过本课程的学习,使学生学习和掌握如何利用MATLAB对所学理论、原理和方法进行计算机仿真,通过仿真,加深对所学知识的理解和掌握,解决学习相关课程中遇到的抽象问题,为后续专业课程的学习奠定基础。

通过工程软件在电气类专业基础课程的应用,提高学生动手能力、分析问题与解决问题的能力,到达对学生的工程意识培养的目的。

三、教学内容和要求第1章MATLAB系统环境(2学时)(1 )了解MATLAB的影响及其开展历史和MATLAB 7.0的主要功能;(2)理解MATLAB 7.0的运行环境与安装过程,熟悉菜单栏、工具栏的使用;( 3)掌握命令窗口、历史记录窗口、当前目录窗口的使用方法;重点:命令窗口、历史记录窗口、当前目录窗口的使用方法;难点:MATLAB 7.0的辅助局部和MATLAB的数学函数库。

第2章MATLAB数据及其运算(2学时)(1 )了解元胞数组、结构与结构数组;( 2)理解一、二维数组的创立方法;( 3)掌握数值表示、变量表达式、矩阵的表示、字符串矩阵的算术运算、数组运算;重点:矩阵线性运算;创立数组、数组的算术运算;难点:数组运算。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8.1 图形对象及其句柄
MATLAB的图形系统是面向对象的,图形对象是MATLAB为了描述具有 类似特征的图形元素而定义的具有一些公共属性的抽象的元素集合, 是用于显示图形和制作用户界面的基本要素。
8.1.1 图形对象
MATLAB的图形对象包括图形窗口、坐标轴、用户界面、曲线、曲面、 文字、图像等。在MATLAB中,每一个具体的图形都是由若干个不同 的图形对象组成的。图形对象是有层次的,其层次结构如图8.1所示。 图形窗口是根对象的子对象,坐标轴和用户界面对象是图形窗口的子 对象,曲线、曲面、文字等是坐标轴的子对象。
8.1.3 图形对象属性 1.属性名与属性值 为方便属性的操作,MATLAB给每种对象的每一个属性规定了一个名字, 称为属性名,而属性名的取值称为属性值。例如,LineStyle是曲线对 象的一个属性名,它的值决定着线型,取值可以是'-' 、':'、'-.'、'--'或 'none'。在属性名的写法中,不区分字母的大小写,而且在不引起歧 义的前提下,属性名不必写全。例如,lines就代表LineStyle。此外, 属性名要用单撇号括起来。 2.属性的操作 (1)设置图形对象属性 用户可以通过set函数重新设置图形对象属性,其调用格式为 set(句柄,属性名1,属性值1,属性名2,属性值2,…) 其中“句柄”用于指明要操作的图形对象。如果在调用set函数时省略全 部属性名和属性值,则将显示出句柄所有的允许属性。 (2)获取图形对象属性 用户可通过get函数获取图形对象的属性值,其调用格式为 V=get(句柄,属性名) 其中V是返回的属性值。如果在调用get函数时省略属性名,则将返回句 柄所有的属性值。例如,以下命令用来获得上述曲线的颜色属性值: col=get(h,'Color');
【例8.2】在同一坐标下绘制红、绿两条不同的曲线,然后获取绿色曲线 的句柄,并利用句柄更改绿色曲线的样式。 程序如下: x=0:pi/50:2*pi; y=sin(x); z=cos(x); plot(x,y,'r',x,z,'g'); %绘制两根不同曲线 Hl=get(gca,'Children'); %获取两曲线句柄向量Hl for k=1:size(Hl) if get(Hl(k),'Color')==[0 1 0] %[0 1 0]代表绿色 Hlg=Hl(k); %获取绿色线条句柄 end end pause %便于观察设置前后的效果 set(Hlg,'LineStyle',':','Marker','p'); %对绿色线条进行设置
【例8.3】建立一个图形窗口。该图形窗口没有菜单条,标题名称为“我 的图形窗口”,该窗口位于屏幕的左下角,其宽度和高度分别为450 像素和250像素,且当用户从键盘按下任意一个键时,将在该图形窗 口绘制出正弦曲线。 命令如下: x=linspace(0,2*pi,60); y=sin(x); hf=figure('Position',[5,5,360,210],'MenuBar','none',… 'Name','我的图形窗口','NumberTitle','off', … 'KeyPressFcn', 'plot(x,y);axis([0,2*pi,-1,1]);');
表 8.1 函 gcf gca gco findobj 数 常用的获取图形对象句柄的函数 功 获取当前图形窗口的句柄(get current figure) 获取当前坐标轴的句柄(get current axis) 获取最近被选中的图形对象的句柄(get current object) 按照指定的属性来获取图形对象的句柄 能
第8章 图形句柄
MATLAB的图形是由不同图形对象(如坐标轴、曲线、曲面 或文字等)组成的。MATLAB系统给每个图形对象分配一 个标识符,称为句柄,以后可以通过该句柄获取或设置该 图形对象的属性 【本章学习目标】 ● 了解图形对象和图形句柄的基本概念。 ● 掌握图形对象属性的基本操作。 ● 掌握利用图形对象进行绘图操作的方法。
8.2 图形窗口对象与坐标轴
除根对象外,所有图形对象都可以由与之同名的低层函数创建。 8.2.1 图形窗口对象 创建图形窗口对象使用figure函数,其调用格式如下。 ● 句柄变量 = figure(属性名1,属性值1,属性名2,属性值2,…) ● figure(窗口句柄) 使用第1种格式时,按指定的属性来创建图形窗口。使用第2种格式时, 若句柄是已经存在的某图形窗口句柄,则使该图形窗口成为当前图形 窗口,并在此输出;若句柄是不存在的图形窗口句柄,则使用该句柄 创建一个新的图形窗口后,在新的图形窗口输出。figure函数不带参 数时,按MATLAB默认的属性值创建图形窗口。 要关闭图形窗口,使用close函数,其调用格式为 close(窗口句柄) 另外,close all命令可以关闭所有的图形窗口,clf命令则是清除当前图形 窗口的内容,但不关闭窗口。
3.对象的公共属性 图形对象具有各种各样的属性,有些属性是所有对象共同具备的,有些 属性则是各对象所特有的。这里先介绍对象常用的公共属性。 (1)Children属性。该属性的取值是该对象所有子对象的句柄组成的一 个向量。 (2)Color属性。该属性的取值是一个颜色值,既可以用字符表示,也 可以用RGB三元组表示。 (3)Parent属性。该属性的取值是该对象的父对象的句柄。 (4)Tag属性。该属性的取值是一个字符串,它相当于给该对象定义了 一个标签。定义了Tag属性后,在任何程序中都可以通过findobj函数 获取该标签所对应图形对象的句柄。例如,hf = findobj(0, 'Tag','Flag1')将在屏幕对象及其子对象中寻找Tag属性为Flag1的对象, 并返回句柄。 (5)Type属性。表示该对象的类型,该属性的值是只读的。 (6)UserData属性。该属性的取值是一个矩阵,默认值为空矩阵。在 程序设计中,可以将一个与图形对象有关的比较重要的数据存储在这 个属性中,借此可以达到传递数据的目的。具体做法是,先用set函 数给某一句柄添加一些附加数据(一个矩阵),如果想使用这样的矩 阵,再用get函数调用出来。 (7)Visible属性。该属性的取值是on(默认值)或off,决定着图形对 象是否在图形窗口中显示出来。
图形窗口常用属性
(1)MenuBar/ToolBar属性。属性的取值可以是figure(默认值)或none,用来 控制图形窗口是否具有菜单条/工具栏。 (2)NumberTitle属性。该属性的取值是on(默认值)或off,决定在图形窗口 的标题中是否以“Figure No.n:”为标题前缀,这里n是图形窗口的序号,即句 柄值。 (3)Resize属性。该属性的取值是on(默认值)或off。决定着在图形窗口建立 后可否用鼠标改变该窗口的大小。 (4)Pointer属性。该属性的可取值是arrow(默认值)、crosshair、ibeam、 watch、topl、topr、botl、botr、circle、cross、fleur、custom等,分别对应 于15种典型的鼠标指针形式。 (5)Position属性。该属性的取值是一个由4个元素构成的向量,其形式为 [n1,n2,n3,n4]。这个向量定义了图形窗口在屏幕上的位置和大小,其中n1和 n2分别为对象左下角的横纵坐标值,n3和n4分别为图形窗口的宽度和高度。 它们的单位由Units属性决定。 (6)Units属性。该属性的取值可以是下列字符串中的任何一种: normalized (相对单位,为默认值)、pixel(像素)、inches(英寸)、centimeters (厘米)和points(磅)。 (7)对键盘及鼠标响应属性。MATLAB允许对键盘和鼠标键按下这样的动作进 行响应,这类属性有KeyPressFcn(键盘键按下响应)、 WindowButtonDownFcn(鼠标键按下响应)、WindowButtonMotionFcn (鼠标移动响应)、WindowButtonUpFcn(鼠标键释放响应)等,这些属性 所对应的属性值可以为用MATLAB编写的函数名或命令名,表示一旦键盘键 或鼠标键按下之后,将自动调用给出的函数或命令。
8.2.2 坐标轴 坐标轴是在图形窗口中定义的一个画图区域。坐标轴对象是 图形窗口的子对象,在某个图形窗口中输出图形图像,实 质上是指在该图形窗口的当前坐标轴中输出图形图像。 建立坐标轴对象使用axes函数,其调用格式如下。 ● 句柄变量=axes(属性名1,属性值1,属性名2,属性值2,…) ● axes 或 句柄变量=axes 调用axes函数用指定的属性在当前图形窗口创建坐标轴,并 将其句柄赋给左边的句柄变量。函数不带参数表示按 MATLAB默认的属性值在当前图形窗口创建坐标轴。 用axes 函数建立坐标轴之后,还可以调用axes 函数将其设 定为当前坐标轴,且坐标轴所在的图形窗口自动成为当前 图形窗口,调用格式为 axes(坐标轴句柄)
【例8.1】绘制曲线并查看有关对象的句柄。 命令如下: x=linspace(0,2*pi,30); y=sin(x); h0=plot(x,y,'rx') %曲线对象的句柄 h0 = 171.0016 h1=gcf %图形窗口句柄 h1 = 1 h2=gca %坐标轴句柄 h2 = 170.0017 h3=findobj(gca,'Marker','x') %坐标轴上曲线的句柄 h3 = 171.0016 图形对象的句柄由系统自动分配,每次分配的值不一定相同。在获取对 象的句柄后,可以通过句柄来设置或获取对象的属性。

轴 注解对象
核心对象
绘图对象
相关文档
最新文档