MATLAB绘图总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、二维数据曲线图
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.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
y=[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所示:
图3
2,符号函数(显函数、隐函数和参数方程)画图
(1) ezplot
ezplot( '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) fplot
iplot( ■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-XB
4
图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轴上加图例suing
hh = yhbel(string):在当前图形的y轴上加图例string
lih = zlabel(smng):在当前图形的z轴上加图例string
hh = title(suing):在当前图形的顶端上加图例string
例12在区fuJ[O,2 n ]画sin(x)的图形,并加注图例“自变量X”、“函数Y”、“示意图”,并
加格栅.
图12 (3) hli = grext( * strmg,)
图13
2.(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)的图形 图1
4 x 1
0 0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
0 1 2 3 4 5 6 7
3,图形保持
(1) hold on 保持当前图形,以便继续画图到当前图上
hold of 释放当前图形窗「】
例15将y=sm(x)w y=cos(x)分别用点和线画出在同一屏幕上・
⑵ 例
16
图15
figure(h) 新建h窗11,激活图形使其可见,
区冋[0,2 ]新建两个窗11分别画出y=sm(x):
并把它置于其它图形之上
z=cos(x).
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
sin(x)
0.8
0.6
0.4
0.2
J
-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.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
•0.8
sin(x)cos(x)
图17
4,缩放图形
zoom on 为当前图形打开缩放模式
单击鼠标左键,则在当前图形窗II中,以鼠标点中的点为中心的图形放大2倍:单击鼠标右键,则缩小2倍.
zoom off 关闭缩放模式
图]8
5.色采处理
(1).颜色的向量表示
MATLAB除用字符表示颜色外,还可以用含有3个元素的向量表示颜色。
向量元素在[0、1]范围取值,3个元素分别表示红、绿、蓝3种颜色的相对亮度,称为RGB三元组。
(2)、色图
色图(Colormap)是MATLAB系统引入的概念。
在MATLAB中,每一个图形窗I I只能有一个色图。
色图是mX3的数值矩阵,它的每一行是RGB三元组。
色图矩阵可以人为地生成, 也可以调用MATLAB提供的函数来定义色图矩阵。
(3)、三维表面图形的着色
三维表面图实际上就是在网格图的每一个网格片上涂上颜色。
surf函数用缺省的着色方式对网格片着色。
除此之外,还可以用shading命令来改变着色方式。
shading faceted命令将每一个网格片用其高度对应的颜色进行着色,但冋格线仍保留着,其颜色是黑色。
这是系统的缺省着色方式。
shading flat命令将每一个网格片用同一个顔色进行着色,且网格线也用相应的颜色,从而使得图形表面显得更加光滑。
shading inteip命令在网格片内釆用颜色插值处理,得出的表面图显得最光滑。
6.光照处理
MATLAB提供了灯光设置的函数,其调用格式为:light(Color\选项1 .'Style;选项2.'Position\ 选项3)
7.图形的裁剪处理。