当前位置:文档之家› MATLAB绘图总结

MATLAB绘图总结

一、二维数据曲线图1、MATLAB 最常用的画二维图形的命令是plot, plor 函数的基本调用格式为:plot(x.y)其 中x 和y 为长度相同的向豈,分别用于存储x 坐标和y 坐标数据。

例 1:在[0,2 7T ]画 Sill(.v) 0生成的图形如下图1所示:图1说明:(1) plot 函数的输入参数是矩阵形式时A 、 当x 是向量,y 是有一维与x 同维的矩阵时,则绘制出多根不同颜色的曲线。

曲线 条数等于y 矩阵的另一维数,x 被作为这些曲线共同的横坐标。

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

C 、对只包含一个输入参数的plot 函数,当输入参数是实矩阵时,则按列绘制每列元素 值相对其卜.标的曲线,曲线条数等于输入参数矩阵的列数:当输入参数是复数矩阵时,则按 列分别以元素实部和虚部为横、纵坐标绘制多条曲线。

(2) 含多个输入参数的plot 函数 调用格式为:plot(xl,yl.x2,y2,"--.xn.yn)A, 当输入参数都为向量时,xl 和yl, x2和y2, xn 和yn 分别组成一组向量对,每一 组向量对的长度可以不同。

每一向量对可以绘制出一条曲线,这样可以在同一坐标内绘制岀 多条曲线。

B.当输入参数有矩阵形式时,配对的x_y 按对应列兀素为横、纵坐标分别绘制曲线,曲线 条数等于矩阵的列数。

例2:如卜所示的程序:x 1 =liuspace(0,2 *pi,l 00);x2=luispace(0.3 *pi,l 00);x3=linspace(0.4*pi,100);yl=sin(xl); y2=l+sin(x2);y3=2+sin(x3);x=[xl;x2;x3]';0.80.60.40.2-0.2-0.4-0.6-0.8y=[yl;y2;y3「plot(x,y,xl,yl-l) 其图形如图2所示:图2(3)plot函数最简单的调用格式是只包含一个输入参数:plot(x),在这种情况卜,当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一•条连续曲线,这实际上是绘制折线图。

(4)具有两个纵坐标标度的图形在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数。

调用格式为:plotyv-(xl.yl.x2,y2)其中xl.yl对应一条曲线,x2,y2对应另一条曲线。

横坐标的标度相同,纵坐标有两个,左纵坐标用于xl,yl数据对,右纵坐标用于x2,y2数据对。

例3:用不同标度在同一坐标内絵制曲线yl=0.2e-0.5xcos(4 n x)和y2-2e-0.5xcos( n x)。

图形如图3所示:图32,符号函数(显函数、隐函数和参数方程)画图(1) ezplotezplot( 'f(x)‘,[a,b]) 表示在绘制显函数f=«x)的函数图.ezplot( 'Rx,y)‘,[xmiii,xniax.yniin.ymax]) 表示在区间xiiiiii<x<xmax 和yminvy<ymax 绘制隐函数f(犯y)=0的函数图.ezplot(,x(t) ' , ' y(t) ' ,[tniiiijinax]) 表示在区间tmiii<t<Unax 绘制参数方程x=x(t).尸火)的函数图°例4:在[0,2兀]上画x = cos3t • y = sin3/星形图.图形见图4:(2) fplotiplot( ■full' .lulls)表示绘制字符串hill指定的函数在luns=[xmm.xniax]的图形.注意:[1]fbn必须是M文件的函数名或者是独立变量为x的字符串.[2]也lot函数不能画参数方程和隐函数图形,但在一个图上可以画多个图形.例5:在[-1,2]上iSy = ^x + sm(3x2)的图形。

先建M文件myfunl.m: ftinction Y=myfiinl(x 丿Y=exp(2*x)+sin(3*x.A2) 再输入命令:fplot( Wyfiml',[-1,2]) 图形如图5所示:3,对数坐标图loglog(Y)semilogx(Y) semilogy(…) plotyy 表示x、y坐标都是对数坐标系表示X坐标轴是对数坐标系表示y坐标轴是对数坐标系有两个y坐标轴,一个在左边,一个在右边例6用方形标记创建一个简单的loglog. 图形如图6所示:图6二、三维图形[1] 空间曲线1、一条曲线plot3(x.y,z,s)(其中x,y,z为11维向最,s指定颜色、线形等) 例7 :在区间[0, 10 n ]画出参数曲线x=sint.y=cost, z=t.图形如图7所示:2、多条曲线plot3(x.yz)(其中x, y, z是都是mXn矩阵,其对应的每一列表示一条曲线.) 例8:画多条曲线观察函数Z=(X+Y)2.其图形如8所示:函数peaks的watertall囲S-XB4图8[2]空间曲线(1) swRx,y,z)画出数据点(X, y, z)表示的曲面例9画函数Z=(X+Y)2的图形.其图形如图9所示:图9(2) mesh(x,y,z) 画网格曲面例10:画出曲面Z=(X+Y)2在不同视角的网格图其图形如图10所示:图10(3) meshz(X,Y.Z)在网格周围画一个curtain 图(如,参考平面) 例11绘peaks 的网格图图11(4) 标准三维曲面sphere 函数的调用格式为: cylinder 函数的调用格式为:MATLAB 还有一个peaks 函数,称为多峰函数,常用于三维曲面的演示。

(5) 其他三维图形条形图、杆图、饼图和填充图等特殊图形,它们还可以以三维形式出 现,使用的函数分别是bai3, stein3、pie3和fU13。

(6) bar3函数绘制三维条形图,常用格式为:bar3(y) 、bai3(x.y) tein3函数绘制离散序列数据的三维杆图,常用格式为:steni3(z) > stem3(x.y,z) pie3函数绘制三维饼图,常用格式为:pie3(x)80、[x.y,z]=sphere(n)[xyz]= cylinder(R,n)11113函数等效于三维函数fill,可在三维空间内绘制出填充过的多边形,常用格式为:fill3(x.y.z.c)三、图形处理1、在图形上加格栅、图例和标注。

(1)grid on加格栅在当前图上gnd off删除格栅(2) hh = xlabel(suing):在当前图形的x轴上加图例suinghh = yhbel(string):在当前图形的y轴上加图例stringlih = zlabel(smng):在当前图形的z轴上加图例stringhh = title(suing):在当前图形的顶端上加图例string例12在区fuJ[O,2 n ]画sin(x)的图形,并加注图例“自变量X”、“函数Y”、“示意图”,并加格栅.图12 (3) hli = grext( * strmg,)图132.(1)定制坐标Axis([xmui xmax ymiii ymax zmiii zrnax ]) 定制图形坐标 axis 函数功能丰富,常用的格式还有: axis equal :纵、横坐标軸采用等长刻度。

axis squaie :产生正方形坐标系(缺省为矩形 axis auto :使用缺省设置。

axis off :取销坐标轴。

axis on :显示坐标轴。

例]4在区间[0.005,0.01]显示sin(Ux)的图形 图14 x 10 0.80.60.40.2-0.2-0.4-0.6-0.8-10 1 2 3 4 5 6 73,图形保持(1) hold on 保持当前图形,以便继续画图到当前图上hold of 释放当前图形窗「】例15将y=sm(x)w y=cos(x)分别用点和线画出在同一屏幕上・⑵ 例16图15figure(h) 新建h窗11,激活图形使其可见,区冋[0,2 ]新建两个窗11分别画出y=sm(x):并把它置于其它图形之上z=cos(x).0.80.60.40.2-0.2-0.4-0.6-0.8sin(x)0.80.60.40.2J-0.2-0.4-0.6-0.8-图]6(2)图形标注有•关闇形标注函数的调用格式为:title (图形名称)xlabel(x 轴说明)ylabel(y 轴说明)text(x,y,图形说明)legend (图例1,图例2,…)4. 割窗口h=subplot(niiows.iicols.tlusplor) 划分整个作图区域为nuows*ncols 块(逐行对块访问)并激活第thisplot 块,其后的作 图语句将图形画在该块上.subplot(nuows.ncols.tliisplot)激活己划分为miows*ncols 块的屏幕中的第thisplot 块,其后的作图语句将图形画在该 块上. subplot(l,l.l) 命令 Subplot 。

, 1,1)返回非分割状态.例 17 将屏幕分割为四块,并分别画出 y=sin(x), z=cos(x), a=sin(x)Xcos(x),b=sin(x)/cos(x).cos(x)0.80.60.40.2-0.2-0.4-0.6•0.8sin(x)cos(x)图174,缩放图形zoom on 为当前图形打开缩放模式单击鼠标左键,则在当前图形窗II中,以鼠标点中的点为中心的图形放大2倍:单击鼠标右键,则缩小2倍.zoom off 关闭缩放模式图]85.色采处理(1).颜色的向量表示MATLAB除用字符表示颜色外,还可以用含有3个元素的向量表示颜色。

向量元素在[0、1]范围取值,3个元素分别表示红、绿、蓝3种颜色的相对亮度,称为RGB三元组。

(2)、色图色图(Colormap)是MATLAB系统引入的概念。

在MATLAB中,每一个图形窗I I只能有一个色图。

色图是mX3的数值矩阵,它的每一行是RGB三元组。

色图矩阵可以人为地生成, 也可以调用MATLAB提供的函数来定义色图矩阵。

(3)、三维表面图形的着色三维表面图实际上就是在网格图的每一个网格片上涂上颜色。

surf函数用缺省的着色方式对网格片着色。

除此之外,还可以用shading命令来改变着色方式。

shading faceted命令将每一个网格片用其高度对应的颜色进行着色,但冋格线仍保留着,其颜色是黑色。

这是系统的缺省着色方式。

shading flat命令将每一个网格片用同一个顔色进行着色,且网格线也用相应的颜色,从而使得图形表面显得更加光滑。

相关主题