Matlab绘图
强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作。这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。
本章介绍绘制二维和三维图形的高层绘图函数以及其他图形控制函数的使用方法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。
一.二维绘图
二维图形是将平面坐标上的数据点连接起来的平面图形。可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。二维图形的绘制是其他绘图操作的基础。
一.绘制二维曲线的基本函数
在Matlab中,最基本而且应用最为广泛的绘图函数为plot,利用它可以在二维平面上绘制出不同的曲线。
1. plot函数的基本用法
plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。plot函数的应用格式
plot(x,y) 其中x,y为长度相同的向量,存储x坐标和y坐标。
例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提供了一些绘图选项,用于确定所绘曲线的线型、颜色和数据点标记符号。这些选项如表所示:
例 用不同的线型和颜色在同一坐标内绘制曲线 及其包络线。
>> 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