MATLAB 2020信号处理从入门到精通
上QQ阅读APP看书,第一时间看更新

1.3 绘图命令

绘图命令是学习MATLAB作图最重要的部分,本节将会详细介绍一些常用的控制参数。

plot命令是最基本的绘图命令,也是最常用的一个绘图命令。当执行plot命令时,系统会自动创建一个新的图形窗口。若之前已经有图形窗口打开,那么系统会将图形画在最近打开过的图形窗口上,原有图形将被覆盖。

plot命令主要有下面几种使用格式。

1.plot(x)

plot(x)函数格式的功能如下。

◆当x是实向量时,绘制出以该向量元素的下标(即向量的长度,可用MATLAB函数length()求得)为横坐标,以该向量元素的值为纵坐标的一条连续曲线。

◆当x是实矩阵时,按列绘制出每列元素值的曲线,曲线数等于x的列数。

◆当x是负数矩阵时,按列分别绘制出以元素实部为横坐标,以元素虚部为纵坐标的多条曲线。

◆当x是复数时,绘制x的虚部对x的实部的图,使得plot(x)等效于plot(real(x),

imag(x))。

例1-11:绘制向量的图像。

978-7-111-67965-3-Chapter01-44.jpg

解:在MATLAB命令行窗口中输入如下命令。

978-7-111-67965-3-Chapter01-45.jpg

运行结果如图1-5所示。

978-7-111-67965-3-Chapter01-46.jpg

例1-12:绘制矩阵的图像。

解:在MATLAB命令行窗口中输入如下命令。

978-7-111-67965-3-Chapter01-47.jpg

运行结果如图1-6所示。

978-7-111-67965-3-Chapter01-48.jpg

图1-5 绘制向量

978-7-111-67965-3-Chapter01-49.jpg

图1-6 绘制矩阵

2.plot(x,y)

plot(x,y)函数格式的功能如下。

◆当xy是同维向量时,绘制以x为横坐标、以y为纵坐标的曲线。

◆当x是向量,y是有一维与x等维的矩阵时,绘制出多条不同颜色的曲线,曲线数等于y阵的另一维数,x作为这些曲线的横坐标。

◆当x是矩阵,y是向量时,同上,但以y为横坐标。

◆当xy是同维矩阵时,以x对应的列元素为横坐标,以y对应的列元素为纵坐标分别绘制曲线,曲线数等于矩阵的列数。

例1-13:在某次物理实验中,测得不同摩擦系数时路程与时间的数据见表1-8。在同一张图中做出不同摩擦系数时路程随时间的变化曲线。

978-7-111-67965-3-Chapter01-50.jpg

解:此问题可以将时间t写为一个列向量,相应测得的路程s的数据写为一个6×4的矩阵,然后利用plot命令即可。具体的程序如下。

978-7-111-67965-3-Chapter01-51.jpg

表1-8 不同摩擦系数时路程和时间的关系

978-7-111-67965-3-Chapter01-52.jpg

运行结果如图1-7所示。

978-7-111-67965-3-Chapter01-53.jpg

图1-7 plot作图

3.plot(x1,y1,x2,y2,…)

plot(x1,y1,x2,y2,…)这个函数格式的功能是绘制多条曲线。在这种用法中,(xiyi)必须是成对出现的,上面的命令等价于逐次执行plot(xi,yi)命令,其中i=1,2,…。

978-7-111-67965-3-Chapter01-54.jpg

例1-14:在同一个图上画出978-7-111-67965-3-Chapter01-55.jpg的图像。

解:在MATLAB命令行窗口中输入如下命令。

978-7-111-67965-3-Chapter01-56.jpg

运行结果如图1-8所示。

978-7-111-67965-3-Chapter01-57.jpg

图1-8 plot作图

注意:

上面的linspace命令用来将已知的区间[0,2π]100等分。这个命令的具体使用格式为lins-pace(abn),作用是将已知区间[ab]作n等分,返回值为分各节点的坐标。

4.plot(x,y,LineSpec)

plot(x,y,LineSpec)中xy为向量或矩阵,LineSpec为用单引号标记的字符串,用来设置所画数据点的类型、大小、颜色以及数据点之间连线的类型、粗细、颜色等。实际应用中,LineSpec是某些字母或符号的组合,LineSpec可以省略,此时将由MATLAB系统默认设置,即曲线一律采用“实线”线型,不同曲线将按表1-9所给出的前7种颜色(蓝、绿、红、青、品红、黄、黑)顺序着色。

LineSpec的合法设置参见表1-9~表1-11。

表1-9 颜色控制字符表

978-7-111-67965-3-Chapter01-58.jpg

(续)

978-7-111-67965-3-Chapter01-59.jpg

表1-10 线型符号及说明

978-7-111-67965-3-Chapter01-60.jpg

表1-11 线型控制字符表

978-7-111-67965-3-Chapter01-61.jpg

例1-15:在同一个图上画出978-7-111-67965-3-Chapter01-62.jpg的图像,分别设置曲线显示线型与颜色。

978-7-111-67965-3-Chapter01-63.jpg

解:在MATLAB命令行窗口中输入如下命令。

978-7-111-67965-3-Chapter01-64.jpg

运行结果如图1-9所示。

978-7-111-67965-3-Chapter01-65.jpg

图1-9 plot作图

说明:

hold on命令用来使当前轴及图形保持不变,准备接受此plot所绘制的新曲线。hold off使当前轴及图形不再保持上述性质。hold在on和off之间切换保留状态。hold(ax,___)为ax指定的坐标区而非当前坐标区设置hold状态。指定坐标区作为以上任何语法的第一个输入参数。使用单引号将'on'和'off'输入引起来,例如hold(ax,'on')。

5.plot(x1,y1,s1,x2,y2,s2,…)

978-7-111-67965-3-Chapter01-66.jpg

plot(x1,y1,s1,x2,y2,s2,…)格式的用法与用法3相似,不同之处是此格式有参数的控制,运行此命令等价于依次执行plot(xi,yi,si),其中i=1,2,…。

例1-16:在同一坐标系下画出下面函数在[-π,π]上的简图:

y1=esinxy2=ecosxy3=esinx+cosxy4=esinx-cosx.

解:在MATLAB命令行窗口中输入如下命令。

978-7-111-67965-3-Chapter01-67.jpg

运行结果如图1-10所示。

小技巧:

如果读者不了解hold on命令及用法,但又想在当前坐标下画出后续图像时,可以使用plot命令的此种用法。

6.plot(x,LineSpec)

plot(x,LineSpec)格式的用法与用法4相似,不同之处的是此格式是一个参数的控制。

978-7-111-67965-3-Chapter01-68.jpg

图1-10 plot作图1

978-7-111-67965-3-Chapter01-69.jpg

例1-17:绘制向量的图像。

解:在MATLAB命令行窗口中输入如下命令。

978-7-111-67965-3-Chapter01-70.jpg

运行结果如图1-11所示。

978-7-111-67965-3-Chapter01-71.jpg

图1-11 plot作图2

7.plot(…,Name,Value)

plot(…,Name,Value)使用一个或多个Name-Value对组参数指定线条属性,线条的设置属性见表1-12。

表1-12 线条属性表

978-7-111-67965-3-Chapter01-72.jpg

(续)

978-7-111-67965-3-Chapter01-73.jpg

例1-18:在同一个图上画出y=sinxy=cosx的图像,统一设置曲线显示线型与颜色。

978-7-111-67965-3-Chapter01-74.jpg

解:在MATLAB命令行窗口中输入如下命令。

978-7-111-67965-3-Chapter01-75.jpg

运行结果如图1-12所示。

8.plot(ax,…)

plot(ax,…)格式的用法将在由ax指定的坐标区中,而不是在当前坐标区(gca)中创建线条。其中,ax是指定坐标区,指定为Axes对象、PolarAxes对象或GeographicAxes对象。如果不指定坐标区或当前坐标区是笛卡儿坐标区,plot函数将使用当前坐标区。

若要在极坐标区上绘图,请指定PolarAxes对象作为第一个输入参数,或使用polarplot函数。要在地理坐标区上绘图,请指定GeographicAxes对象作为第一个输入参数,或使用geoplot函数。

978-7-111-67965-3-Chapter01-76.jpg

图1-12 plot作图

例1-19:在指定的坐标区画出y=sinxy=sin(x+1)的图像。

978-7-111-67965-3-Chapter01-77.jpg

解:在MATLAB命令行窗口中输入如下命令。

978-7-111-67965-3-Chapter01-78.jpg

978-7-111-67965-3-Chapter01-79.jpg

运行结果如图1-13所示。

9.H=plot(…)

H=plot(…)格式的用法返回由图形线条对象组成的列向量。在创建特定的图形线条后,可以使用H修改其属性。

例1-20:在同一个图上画出y=sinxy=sin(x+1)的图像,分别设置曲线显示线型与颜色。

978-7-111-67965-3-Chapter01-80.jpg

解:在MATLAB命令行窗口中输入如下命令。

978-7-111-67965-3-Chapter01-81.jpg

运行结果如图1-14所示。

978-7-111-67965-3-Chapter01-82.jpg

图1-13 plot作图1

978-7-111-67965-3-Chapter01-83.jpg

图1-14 plot作图2