详尽全⾯的matlab绘图教程
Matlab绘图
强⼤的绘图功能是Matlab的特点之⼀,Matlab提供了⼀系列的绘图函数,⽤户不需要过多的考虑绘图的细节,只需要给出⼀些基本参数就能得到所需图形,这类函数称为⾼层绘图函数。此外,Matlab还提供了直接对图形句柄进⾏操作的低层绘图操作。这类操作将图形的每个图形元素(如坐标轴、曲线、⽂字等)看做⼀个独⽴的对象,系统给每个对象分配⼀个句柄,可以通过句柄对该图形元素进⾏操作,⽽不影响其他部分。
本章介绍绘制⼆维和三维图形的⾼层绘图函数以及其他图形控制函数的使⽤⽅法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。
⼀.⼆维绘图
⼆维图形是将平⾯坐标上的数据点连接起来的平⾯图形。可以采⽤不同的坐标系,如直⾓坐标、对数坐标、极坐标等。⼆维图形的绘制是其他绘图操作的基础。
⼀.绘制⼆维曲线的基本函数
在Matlab中,最基本⽽且应⽤最为⼴泛的绘图函数为plot,利⽤它可以在⼆维平⾯上绘制出不同的曲线。
1. plot函数的基本⽤法
plot函数⽤于绘制⼆维平⾯上的线性坐标曲线图,要提供⼀组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的⼆维曲线。plot函数的应⽤格式
plot(x,y) 其中x,y为长度相同的向量,存储x坐标和y坐标。
用subplot函数例51 在[0 , 2pi]区间,绘制曲线
程序如下:在命令窗⼝中输⼊以下命令
>> x=0:pi/100:2*pi;
>> y=2*exp(-0.5*x).*sin(2*pi*x);
>> plot(x,y)
程序执⾏后,打开⼀个图形窗⼝,在其中绘制出如下曲线
注意:指数函数和正弦函数之间要⽤点乘运算,因为⼆者是向量。
例52 绘制曲线
这是以参数形式给出的曲线⽅程,只要给定参数向量,再分别求出x,y向量即可输出曲线:
>> t=-pi:pi/100:pi;
>> x=t.*cos(3*t);
>> y=t.*sin(t).*sin(t);
>> plot(x,y)
程序执⾏后,打开⼀个图形窗⼝,在其中绘制出如下曲线
以上提到plot函数的⾃变量x,y为长度相同的向量,这是最常见、最基本的⽤法。实际应⽤中还有⼀些变化。分别说明:
2.含多个输⼊参数的plot函数
plot函数可以包含若⼲组向量对,每⼀组可以绘制出⼀条曲线。含多个输⼊参数的plot函数调⽤格式为:plot(x1,y1,x2,y2,…,xn,yn)如下列命令可以在同⼀坐标中画出3条曲线。
>> x=linspace(0,2*pi,100);
>> plot(x,sin(x),x,2*sin(x),x,3*sin(x))
当输⼊参数有矩阵形式时,配对的x,y按对应的列元素为横坐标和纵坐标绘制曲线,曲线条数等于矩阵的列数。
>> x=linspace(0,2*pi,100);
>> y1=sin(x);
>> y2=2*sin(x);
>> y3=3*sin(x);
>> x=[x;x;x]';
>> y=[y1;y2;y3]';
>> plot(x,y,x,cos(x))
x,y都是含有三列的矩阵,它们组成输⼊参数对,绘制三条曲线;x和cos(x)⼜组成⼀对,绘制⼀条余弦曲线。
利⽤plot函数可以直接将矩阵的数据绘制在图形窗体中,此时plot函数将矩阵的每⼀列数据作为⼀条曲线绘制在窗体中。如>> A=pascal(5)
A =
1 1 1 1 1
1 2 3 4 5
1 3 6 10 15
1 4 10 20 35
1 5 15 35 70
>> plot(A)
3.含选项的plot函数
Matlab提供了⼀些绘图选项,⽤于确定所绘曲线的线型、颜⾊和数据点标记符号。这些选项如表所⽰:
线型
颜⾊
标记符号
- 实线
b蓝⾊
. 点
s ⽅块
: 虚线
g绿⾊
o 圆圈
d 菱形
-. 点划线
r红⾊
× 叉号
∨朝下三⾓符号
-- 双划线
c青⾊
+ 加号
∧朝上三⾓符号
m品红
* 星号
<;朝左三⾓符号
y黄⾊
>朝右三⾓符号
k⿊⾊
p 五⾓星
w⽩⾊
h 六⾓星
例⽤不同的线型和颜⾊在同⼀坐标内绘制曲线及其包络线。
>> x=(0:pi/100:2*pi)';
>> y1=2*exp(-0.5*x)*[1,-1];
>> y2=2*exp(-0.5*x).*sin(2*pi*x);
>> x1=(0:12)/2;
>> y3=2*exp(-0.5*x1).*sin(2*pi*x1);
>> plot(x,y1,'k:',x,y2,'b--',x1,y3,'rp');
在该plot函数中包含了3组绘图参数,第⼀组⽤⿊⾊虚线画出两条包络线,第⼆组⽤蓝⾊双划线画出曲线y,第三组⽤红⾊五⾓星离散标出数据点。
4.双纵坐标函数plotyy
在Matlab中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使⽤plotyy函数,它能把具有不同量纲,不同数量级的两个函数绘制在同⼀个坐标中,有利于图形数据的对⽐分析。使⽤格式为:plotyy(x1,y1,x2,y2)
x1,y1对应⼀条曲线,x2,y2对应另⼀条曲线。横坐标的标度相同,纵坐标有两个,左边的对应x1,y1数据对,右边的对应x2,y2。
例:(略)
⼆.绘制图形的辅助操作
绘制完图形以后,可能还需要对图形进⾏⼀些辅助操作,以使图形意义更加明确,可读性更强。
1.图形标注
在绘制图形时,可以对图形加上⼀些说明,如图形的名称、坐标轴说明以及图形某⼀部分的含义等,这些操作称为添加图形标注。有关图形标注函数的调⽤格式为:
title(’图形名称’)(都放在单引号内)
xlabel(’x轴说明’)
ylabel(’y轴说明’)
text(x,y,’图形说明’)
legend(’图例1’,’图例2’,…) P190
其中,title、xlabel和ylabel函数分别⽤于说明图形和坐标轴的名称。text函数是在坐标点(x,y)处添加图形说明。(P88 或⽤gtext命令)。legend函数⽤于绘制曲线所⽤线型、颜⾊或数据点标记图例,
图例放置在空⽩处,⽤户还可以通过⿏标移动图例,将其放到所希望的位置。除legend函数外,其他函数同样适⽤于三维图形,在三维中z坐标轴说明⽤zlabel函数。
上述函数中的说明⽂字,除了使⽤标准的ASCII字符外,还可以使⽤LaTex(⼀种流⾏的数学排版软件)格式的控制字符,这样就可以在图形上添加希腊字符,数学符号和公式等内容。在Matlab⽀持的LaTex字符串中,⽤/bf , /it , /rm控制字符分别定义⿊体、斜体和正体字符,受LaTex字符串控制部分要加⼤括号{}括起来。例如,text(0.3,0.5,’the usful {/bf MATLAB}’),将使MATLAB⼀词⿊体显⽰。⼀些常⽤的LaTex字符见表,各个字符可以单独使⽤也可以和其他字符及命令配合使⽤。如text(0.3 ,0.5 ,’sin({/omega}t+{/beta})’)
将得到标注效果。
标识符
符号
标识符
符号
标识符
符号
/alpha
/epsilon
/infty
/beta
/eta
/int
/gamma
/Gamma
/partial
/delta
/
Delta
/leftarrow
/theta
/Theta
/rightarrow /lambda
/Lambda /downarrow /xi
/Xi
/uparrow /pi
/Pi
/div
/omega
/
Omega
/times
/sigma
/Sigma
/pm
/phi