第三章 matlab 图形系统

Post on 21-Jan-2016

78 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

第三章 MATLAB 图形系统. §3.1 简单图形绘制. 本节以一个简单的正弦函数曲线 例来说明图形的绘制,这一过程 在 MATLAB 中很简单。. §3.1 简单图形绘制. 设要产生从 0 到 2pi 之间的正弦函数,则 可按下列步骤进行: 1. 产生 x 轴、 y 轴数据: x=0:pi/20:2*pi y=sin(x) 2. 打开一个新的图形窗口: figure(1). §3.1 简单图形绘制. 3. 绘制出正弦曲线: plot(x, y, ‘ r- ’ ) ‘ r- ’ 表示以红色实线绘制出正弦曲线。 - PowerPoint PPT Presentation

TRANSCRIPT

第三章

MATLAB 图形系统

§3.1 简单图形绘制

本节以一个简单的正弦函数曲线例来说明图形的绘制,这一过程在 MATLAB 中很简单。

§3.1 简单图形绘制 设要产生从 0 到 2pi 之间的正弦函数,

则可按下列步骤进行:1. 产生 x 轴、 y 轴数据: x=0:pi/20:2*pi

y=sin(x)

2. 打开一个新的图形窗口: figure(1)

§3.1 简单图形绘制3. 绘制出正弦曲线: plot(x, y, ‘r-’)

‘r-’ 表示以红色实线绘制出正弦曲线。4. 给图形加上栅格线: grid on

这样就可以得到如书 P81 图 3.1 所使得正 弦曲线。 从这一过程看出,在 MATLAB 中建立曲

线图是很方变的。

§3.1 简单图形绘制

我们还可以将图形窗口进行分割,从而可在每个窗口各绘制一条曲线。例如将图形窗口分割成 2*2 的窗格,分别绘制出正

弦、余弦、正切、余切函数曲线。 程序和图见书 P82 页。

§3.2 图形标注

绘制图形后,还应该给图形进行标注。例如,可给每个图加上标题、坐标轴标记和曲线说明等。

§3.2 图形标注例如: 给书图 3.1 加上标题和轴标记,可

输入: title(‘sin(\alpha)’)

xlabel (‘alpha’)

ylable(‘sin(\alpha)’)

则可得到如书图 3.3 所示的结果。这里 \alpha 表示,取自于 text 字符集。

§3.2 图形标注

1. 利用 legend 函数可对图中的曲线进行 说明。 例如,在同一张图上可得到两条曲线, 这时利用 legend 函数可方便的标注各自 的曲线。注意:字符串中 ^ 表示上标, _ 表示下标。

§3.2 图形标注2. 利用 text 函数也可以标注函数曲线。 对于更复杂的曲线图形,可利用 gtext 函 数对曲线进行标注。 gtext 与 text 类似,只是可以利用鼠标来 放置文本,因此可交互式的对图形曲线 进行标注。

§3.3 对数和极坐标系图形绘制

1. 有时变量变化范围非常大,如 x 轴从 0.01 到 100 ,这时如果仍采用 plot

灰土,就会失去局部可视性。因此应用对数坐标系来绘图。在对数坐标中可清晰地看到局部。

§3.3 对数和极坐标系图形绘制

2. 对于任一矩阵,通过 eig 函数可求其特征值。为了解这一矩阵的特性,我们期望直观地显示出特征值。由于特征值一般为复数,因此在极坐标上绘制它会更方便、更直观。

§3.4 复杂图形绘制

在同一个图形窗口中绘制多条曲线是MATLAB 的一大功能,有多种方法。一 . 将曲线数据保存在 n*m 的矩阵 y 中,

而 x

为相应的 x 轴向量 n*1 或 1*n ,则 plot(x,y) 可

在同一个图形窗口中绘制出 m 条曲线。

§3.4 复杂图形绘制

注意:方法一是用于由其它软件产生的数据,然后由 load 命令读入 MATLAB 到中,然后再绘制出曲线。

二 . 绘制多条曲线的第二种方法是在一个 plot 函数中分别指定每条曲线的数据。

§3.4 复杂图形绘制

三 . 利用 hold on 函数绘制多条曲线 .

先在图形窗口中绘制出第一条曲线,然后再利用 hold on ,使之保持原有图形,

最后绘制出第二条、第三条…曲线。 利用这种方法可在绘制函数曲线后,同 时在数据点上以记号标注。

§3.4 复杂图形绘制

四 . 利用函数 plotyy 可绘制出双 y轴

的图形,这样在同一张图上表 示两条曲线时,可拥有各自的 y 轴。

§3.5 坐标轴控制1. 利用 box 函数可控制图形的边框, box off

可关闭图形边框,这时图形只有 x-y 轴,而没有上、右边框,这样绘制的图形与通常在坐标纸上所画的图形一致。2. 利用 axis 可控制坐标轴的刻度,这样在两个图形对比时,可有相同的比例因子。

§3.5 坐标轴控制

3.axis equal 可是输出图形的 x 、 y 轴等长,因此在图形窗口绘制的圆或椭圆都可以用圆来表示。

4.axis off 命令可关闭坐标轴的显示,从而 可产生不含坐标轴的图形。

§3.6 颜色控制1. 在绘制曲线时可直接指定曲线的颜色,在标注文本如 title 、 xlabel 、 ylabel 、 zlabel 、text 命令中,可利用文本特性 color 来指定文本颜色。2. 利用 colormap 函数可改变每种颜色的色调。 MATLAB 提供了许多种不同用途的颜色板。

§3.6 颜色控制 MATLAB专门提供了人体脊骨的图像,

利用 bone 颜色板可清晰的显示这一图像。 MATLAB 程序为: load spine image(X) colormap bone title(‘人体脊骨图’ )

§3.8图形函数 表 3-1

一 .基本图形和图形操作 1.plot 功能:线性二维图形。 说明:当 Y 为实向量时, plot(Y) 以 Y 的序号作为 X 轴,绘制出二为曲线;当以 Y 为实向

量时,则 plot(Y) 相当于 plot(real(Y),imag(Y)),即 Y 的实部为 X 轴,虚轴为虚轴为 Y 轴。 plot(X1,Y1,…) 可按 (X1,Y1),(X2,Y2),… 成对绘制出曲线,而且在同一张图上以不同形式

显示。如果 Xn,Yn至一位矩阵,则取矩阵的行或列与另一个向量构成数据对绘制出曲线。 plot(x1,y1,linespec,…) 可绘制出所有由三袁组 (Xn,Yn,LineSpec) 指定的曲线,其中 Line

Spec 用于指定线型,标记和线的颜色。 plot(…,’PorpertyName’,PropertyValue,…) 可设置图形对象的属性。 h=plot(…) 可绘制出图形的同时,得到各条曲线的句柄向量

§3.8图形函数一 .基本图形和图形操作

2.loglog

功能 : 对数坐标图形。 说明: loglog 函数类似于 plot 函数,唯一不同的是在

绘图时以对书坐标来标注 。

§3.8图形函数一 .基本图形和图形操作

3.semilogx,semilogy 功能 :半对数坐标图形。 说明: semilogx 和 semilogy 与 plot,loglog 函数类似,只是 X 轴 Y 轴采用对

数表示。4.polar 功能:绘制极坐标图形。 说明: polar 函数可在迪卡尔坐标内绘制出一极坐标形式的曲线,并可绘制

出极坐标栅格线。

§3.8图形函数一 .基本图形和图形操作

5.poltyy 功能 : 绘制左右边都饱含 Y 轴的图像。 说明: poltyy(X1,Y1,X2,Y2) 可绘制出 (X1,Y1) 曲线,其 Y 轴标记在左边 , 同

时绘制出 (X1,Y1) 曲线 , 其 Y 轴标记在右边。 poltyy(X1,Y1,X2,Y2,’function’) 可利用字符串 function 制定的函数来取代磨人的 plot 函数。 Function 可取 polt,semilogxsemilogy,loglog,stem及用户自己缩写的 M 函数文件。

§3.8图形函数一 .基本图形和图形操作

6.figure 功能 : 建立图形(窗口)。 说明: figure 可打开一个新的窗口,以供后续绘图命令输出图形。 figure(‘PorpertyName’,PorpertyValue,…), 在建立图形的同时,设置图形的指定特性,参见表 3.3 。 figure(h) 有两种情况,当h 为已存在图形的句柄时,则打开这一图形作为当前图形,当h 不为句柄且为整数时,则 figure(h) 可建立一图形窗口,并给他分配句柄h.

h=figure(…) 还可得到句柄。

§3.8图形函数一 .基本图形和图形操作

7.close 功能 : 关闭图形窗口,即删除指定的图形。 说明: close 可删除当前图形;close(h) 可删除句柄为 h 的图形;close name 将删除由 name 指

定的所有图形;close all 可删除所有图形(不包括句柄隐含的图形);close all hidden 可删除所有的图形。

status=close(…)除了删除图形外,还可以得到删除操作的状态: .1 删除成功 .0 删除失败

§3.8图形函数一 .基本图形和图形操作

8.clf 功能:清除当前图形窗口。 说明: clf 可从当前图形中删除所有的图形对象,但不删除这一图形窗口。这

一点与 close 命令不同。 clf reset 可在当前图形中删去所有的图形对象,并将所有的图形特性(position除外)复位到缺省位。

§3.8图形函数一 .基本图形和图形操作

9.gcf 功能:获得当前图形的句柄。 说明: h=gcf 可获得当前图形的句柄。 h=get(0,’CurrentFigure’) 这时会得到一个空阵列 h 。

§3.8图形函数一 .基本图形和图形操作

10.refesh 功能:重画当前图形。 说明 : refesh 可重新划出当前图形 ;refesh(h) 可重新划出由 h 指定

的图形。

§3.8图形函数二 . 图形注释

1.title 功能:给当前坐标系加上标题。 说明: title(‘string’) 可将指定字符串作为标题; title(fname) 可将执行

制定函数 fname 是产生的字符串作为标题。 title(…’PorpertyName’,PorpertyValue,…) 可为标题文本指定特性。 h=title(…) 还可以得到比标题文本的控制句柄。

§3.8图形函数二 . 图形注释

2.text 功能:在当前坐标系中建立文本对象。 说明: text(x,y,’string’) 可在土星的( x,y)点上放置指定的字符串, (x,y) 的

单位由 Unit 特性决定; text(x,y,z,’string’) 用在三维图像上。 text(…’PorpertyName’,PorpertyValue,…) 可在放置字符串的同时 , 指定文

本的特性 ; 见表 3.4 text(‘PotpertyName’,PorpertyValue,…) 用来只指定文本的特性 ; h=text(…) 还可以得到文本对象的句柄。

§3.8图形函数二 . 图形注释

3.gtext 功能:利用鼠标在二维图形上放置文本。 说明 : gtext(‘string’) 可利用鼠标将指定字符串放在图

形的任意位置; h=gtext(‘string’) 还可以得到该文本图形对象的句柄。

§3.8图形函数二 . 图形注释

4.xlable,ylable,zlable 功能: x,y,z 轴的标记。 说明 : 利用 xlable,ylable,zlable 可给 x,y,z 轴加

上标记。 有关可设定的文本特性可参见 text 中的表 3.4

§3.8图形函数二 . 图形注释

5.legend 功能 : 给每个坐标系加上插图说明。 说明 : legend 可在土上给出插图说明,对图中的每

一条曲线, legend 会在指定文本字符串的边上给出线型,记号及颜色。

§3.8 图形函数三 . 坐标系控制1.subplot 建立和控制多个坐标系。 subplot 可将图形窗口分成举行窗格,并 按行编号,每窗格上可建立一个坐标系, 后续的绘图命令会在当前窗格上绘制图形。 subplot(m,n,p) 可将图形窗口分割成 m*n 个 窗格,并将第 p 个窗格置成当前窗格。

§3.8 图形函数 subplot(h) 可使句柄 h 坐标系变成当前坐 标系。 subplot(‘Position’,[left,bottom,width,

height]) 可在指定位置建立指定尺寸的坐标系。

h=subplot(…) 还可以得到新坐标系的句。柄。

§3.8 图形函数2.hold 在图形窗口中保持当前图形。 hold 函数可决定所绘制的图形是添加到

图形上,还是取代已绘制的图形。 hold on 表示保持当前图形。 hold off 表示关闭这种保持特性。 hold 命令可在两种状态 (on,off) 之间切换。 hold 的状态可由 ishold 函数来测定。

§3.8 图形函数3.grid 给图形加上栅格线。 grid on 表示给当前坐标系加上栅格

线。 grid off 表示从当前坐标系中删去栅

格线。 grid 命令可在这两种状态之间切换。

§3.8 图形函数4.axes 建立坐标系图形对象。 axes 是建立坐标系图形对象的低级函数,

可在当前窗口中建立坐标系图形对象,其特性取其缺醒值。

axes(h) 可使已存在的坐标系 h 变成当前坐标系。

h=axes(…) 还可以得到所建坐标系的句柄。

§3.8 图形函数5. axis 坐标轴刻度 axis 函数通常可通过设置坐标系特性来获

得。 axis([xmin xmax ymin ymax]) 可为 x 轴和

y

轴设置一个极限范围。 axis([xmin xmax ymin ymax zmin zmax])

可同时设置 x 、 y 、 z 轴的范围。

§3.8 图形函数 v=axis 可得到当前坐标系的轴范围。 axis auto 可将当前坐标系的轴范围设置为

自动方式。 axis manual 可冻结当前坐标轴的刻度范围, 这时如果设置 hold on ,并绘制另一个图形 则其轴范围不会改变。

§3.8 图形函数6. box 控制坐标系边框。 box on 可在当前坐标系中显示一个边框,

这时缺醒情况。 box off 可去掉边框,这时图中只含坐标轴 box 命令可在这两种状态之间切换。

§3.8 图形函数四 . 其他重要函数1.get 获得图形对象的特性。 get(h) 可获得由 h 制定的图形对象的所有特 性及其当前值。 get(h,’PropertyName’) 只得到指定的特性值。 P=get(H,pn) 中, H 为 m维向量。

§3.8 图形函数a=get(0,’Factory’) 可得到用户可设置特性

的出厂值。a=get(0,’FactoryObjectTypePropertyNam

e’) 可得到指定对象类型的指定特性的出厂值。

§3.8 图形函数a=get(h,’Default’) 可得到指定对象 h 的当前缺醒值。

a=get(h,’DefaultObjectTypePropertyName’) 可得到指定对象类型的指定缺醒值。

a=get(h,’DefaultFigureColor’) 可得到图形颜色缺醒值。

§3.8 图形函数2.set 设置图形对象的特性。set(H,’PropertyName’,…) 可对由 H知识的

对象设置制定的特性。set(H,a) 中, a 结构阵列,这样可对多个

对象设置多种特性。set(H,pn,P) 中, P 为 m*n元的单元阵列,

用于指定多个对象的多个特性。

§3.8 图形函数

3.rotate 沿着指定方向旋转对象。 rotate 可在三维空间上按右手准则旋转图

形对象。 rotate(h,direction,alpha) 可将指定对象 h璇转 alpha角 ,direction 为二元或三元向量,它与原点相连构成旋转轴。

§3.8 图形函数

4.colormap 设置和获取当前图形的颜色板。 颜色板是一个 m*3 的矩阵,其值在 0.0 到 1.0 之间,分别表示红、绿、蓝三种颜色, 颜色板的每一行定义了一种颜色。

§3.8 图形函数 colormap(map) 可将颜色板设置成 map ,

当map 中含有 [0.0,1.0] 之外的时 ,MATLAB

会产生一出错信息。 colormap(‘default’) 可将颜色板设置成缺醒的颜色板。

cmap=colormap 可得到当前使用的颜色。

§3.8 图形函数作业:课后习题 P122: 1-10

top related