购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.4 MATLAB数据可视化

MATLAB具有丰富的获取图形输出的程序集。命令plot可以产生线性x-y图(用命令loglog、semilogx、semilogy或polar取代plot,可以产生对数坐标图和极坐标图)。所有这些命令的应用方式都是相同的,它们只对如何对坐标轴进行分度和如何显示数据产生影响。

1.x-y图

如果 x y 是同一长度的向量,则命令plot(x,y)将画出 y 值对于 x 值的关系图。

2.画多条曲线

为了在一幅图上画出多条曲线,采用具有多个自变量的plot命令:

变量 X 1、 Y 1、 X 2、 Y 2等是一些向量对。每一个x-y对都可以图解表示出来,因而在一幅图上形成多条曲线。多重变量的优点是它允许不同长度的向量在同一幅图上显示出来。每一对向量采用不同的线型。

在一幅图上画一条以上的曲线时,也可以利用命令hold。hold命令可以保持当前的图形,并且防止删除和修改比例尺。因此,随后绘制的一条曲线将会重叠地画在原曲线图上。再次输入命令hold,会使当前的图形复原。

3.画出网格线,定出图形标题,标定 x 轴标记和 y 轴标记

一旦在屏幕上显示出图形,就可以画出网格线,定出图形标题,并且标定 x 轴标记和 y 轴标记。MATLAB中关于网格线、图形标题、 x 轴标记和 y 轴标记的命令如下:

应当指出,一旦恢复命令display,通过依次输入相应的命令,就可以将网格线、图形标题、 x 轴标记和 y 轴标记叠加在图形上。

4.在图形屏幕上书写文本

为了在图形屏幕的点( x y )上书写文本,采用命令:

例如,利用语句

将从点(3,0.45)开始,水平地写出sin t 。另外,下列语句:

标记出两条曲线,使它们很容易地区分开来。

5.图形类型

下列语句:

将利用标记符号 x 画出一个点状图,而语句:

将用虚线画出第一曲线,用加法符号“+”画出第二条曲线。MATLAB能提供的线和点的类型如表1-14所示。

表1-14 MATLAB能提供的线和点的类型

6.颜色

下列语句

表明,第一幅图采用红线,第二幅图采用绿色“+”号标记。MATLAB提供的颜色如表1-15所示。

表1-15 MATLAB提供的颜色

7.自动绘图算法

在MATLAB中,图形是自动定标的。在画出另一幅图形之前,这幅图形作为现行图将保持不变,但是在画出另一幅图形后,原图形将被删除,坐标轴自动重新定标。关于暂态响应曲线、根轨迹、伯德图、奈奎斯特图等的自动绘图算法已经设计出来,它们对于各类系统具有广泛的适用性,但是并不总是理想的。因此,在某些情况下,可能需要放弃绘图命令中的自动坐标轴定标特性,改用手工选择绘图范围。

8.手工坐标轴定标

如果需要在下列语句指定的范围内绘制曲线:

则应输入命令axis(v),式中 v 是一个四元向量。axis(v)把坐标轴定标建立在规定的范围内。对于对数坐标图, v 的元素应为最小值和最大值的常用对数。

执行axis(v)会把当前的坐标轴定标保持到后面的图形中,再次键入axis恢复自动定标。

axis('square')把图形的范围设定在方形范围内。对于方形长宽比,斜率为1的直线恰位于45 o 上,它不会因屏幕的不规则形状而变形。axis('normal')将使长宽比恢复到正常状态。

9.双纵坐标

x1-y1曲线 y 轴在左,x2-y2曲线 y 轴在右。

10.多子图

MATLAB允许在同一图形窗口布置几幅独立的子图。具体指令

使( m × n )幅子图中第 k 个子图成为当前图。图形窗口包含( m × n )个子图, k 为要指定的当前子图的编号。其编号原则为:左上方为第一子图,然后向右向下依次排序。该指令按缺省值分割子图区域。

在指定的位置上开辟子图,并使其成为当前图。用于手工指定子图位置,指定位置的四元组采用归一化的标称单位,即认为整个图形窗口绘图区域的高、宽的取值范围都是[0,1],而左下角为(0,0)坐标。

产生的子图彼此独立。所有的绘图指令均可以在子图中使用。

11.三维图形显示

三维绘图指令中,plot3最易于理解,它的使用格式与plot十分相似,只是对应第三维空间的参量。具体指令为

x y z 的维度相同,可以是矩阵或者向量, s 设置线型号或者颜色。属性设置同plot函数。

三维网线图绘图指令为mesh(x,y,z,c),其中 c 设置参数。

三维曲面图绘图指令为surf(x,y,z,c),其中 c 是颜色值。

12.特殊图形

(1)直方图(柱形图)

bar(x,y,c),其中, x y 是维数相同的矩阵或者向量,配对的 x y 按对应的列元素为横纵坐标绘制, c 选项是一些绘图控制选项,根据选项不同可以绘制垂直直方图及水平直方图等。

(2)填充图

fill(x,y,'color'),以 x 为横坐标, y 为纵坐标,绘制同色填充的区域图。

(3)阶梯图

stairs(X,Y),在 Y 中由 X 指定的位置绘制元素。

(4)离散杆图

stem(x,y,'参数'),与plot函数相似。

【例1-9】 分别以直方图、填充图、阶梯图和离散杆图的形式绘图。

结果如图1-1所示。

图1-1 以直方图、填充图、阶梯图和离散杆图的形式绘图

(5)饼图

pie3(x,explode),若要偏移第 n 个饼图切片,请将相应的explosion元素设置为1,explode中的元素与 x 中的元素顺序相对应。

【例1-10】 饼图示例。

(6)极坐标图

创建角theta对半径rho的极坐标图,theta是从 x 轴至半径向量所夹的角(以弧度单位指定),rho是半径向量的长度(以数据空间单位指定),选项指定线型、绘图符号以及极坐标图中绘制线条的颜色。 Ylb1bd4VREAZ+ZclVx0J5qkm+tv/yp0xaH3uE9mnqwOlf3BL6QuE16E3S/Gf0ofr

点击中间区域
呼出菜单
上一章
目录
下一章
×