《【教学课件】第5章MATLAB绘图.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第5章MATLAB绘图.ppt(57页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第5章章 MATLAB 绘图绘图1第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)5.1 图形窗口以其操作l1.图形窗口操作命令 P 207lfigure 创建新的图形图像窗口lfigure(gcf)显示当前图形窗口lgcf/shg 显示当前图形窗口lclf/clg 清除当前图形窗口lclc 清除命令窗口lhome 光标到命令窗口的左上角lhold on 保持当前窗口lhold off 释放当前图形窗口lsubplot(m,n,p)或subplot(mnp)将图形窗口分成lm*n个窗口,p指定第一个窗口(从左到右,从上到下)2第第第第6 6章章章章 MATLA
2、B MATLAB 绘图绘图绘图绘图(1)(1)例题:lx=0:0.02:2*pi;l plot(x,sin(x)lhold onlplot(x,cos(x),r)3第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)例题lsubplot(223)lplot(x,cos(x),r)4第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)l2.坐标轴、刻度和图形窗口缩放的操作laxis(xmin xmax ymin ymax)laxis equal:纵、横坐标轴采用等长刻度。laxis square:产生正方形坐标系(缺省为矩形)。laxis
3、auto:使用缺省设置。laxis off:取消坐标轴。laxis on:显示坐标轴5第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)lbox on 是否四周都设定坐标轴lbox offlxlim(xmin xmax)设定x轴的最大、最小值lgrid on 是否绘制图形窗口的网格lgrid offl grid 在两者之间切换6第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)P209 点型 线型和颜色l绘图绘图函数的常用的函数的常用的颜色含义颜色含义l类型类型 符号符号蓝色蓝色(默认默认)b(Blue)黄色黄色 y(Yellow)品
4、红色品红色(紫色紫色)m(Magenta)青色青色 c(Cyan)红色红色 r(Red)绿色绿色 g(Green)白色白色 w(White)黑色黑色 k(Black)7第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)绘图函数的常用的线形含义绘图函数的常用的线形含义l类型类型 符号符号实线实线(默认默认)-点线点线 :点划线点划线 -.-.虚线虚线 -8第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)绘图函数的常用的绘图函数的常用的数据点形含义数据点形含义l类型类型 符号符号实点标记(默认)实点标记(默认).圆圈标记圆圈标记 o o
5、叉号形叉号形 x x星号标记星号标记 *钻石形标记钻石形标记 d d向下的三角形标记向下的三角形标记v v向上的三角形标记向上的三角形标记 向左的三角形标记向左的三角形标记 五角星标记五角星标记 p p9第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)5.2二维绘图lMatlab7.0可以绘制二维数据曲线、函数曲线图、对数坐标图、数据散点图、条形图、饼图、极坐标图等1.函数曲线图fplot 函数实现flot(fun,lim,tol,n,s)fun 函数名,多个函数时 fun1,fun2,fun3.lim给定的绘图范围 比如 0,100tol 给定绘图的相对误差s
6、 可以是线性、点型和颜色n 表示至少用n+1 个点在lim给定的范围内绘制fun给定的函数的曲线fun,lim 必不可少 tol,n,s 可选参数 10第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)lp210 实例1l再同一窗口绘制y=sinx,y=cosx,y=sqrt(x)-1在0,2pi上的图像lfplot(sin(x),cos(x),sqrt(x)-1,0,2*pi)lfplot(sin(x),cos(x),sqrt(x)-1,0,2*pi,k:,200);11第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)lx,y=f
7、plot(fun,lim)l不绘制图形,只将fplot的计算结果保存到变量x和y中12第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)2.数据曲线图数据曲线图PlotPlot:直角坐标系的二维图形的绘制函数直角坐标系的二维图形的绘制函数三种调用格式三种调用格式:l1)plot(y1)plot(y,s)s)功功能能:当当y y是是向向量量时时,元元素素的的序序号号作作为为x x坐坐标标,元元素素值值作作为为y y坐坐标标,对对应应绘绘制制线线性性直直角角坐坐标标系系的二维图形的二维图形。当当y y是矩阵时,元素的所在列号作为是矩阵时,元素的所在列号作为x x坐标,
8、元坐标,元素值作为素值作为y y坐标,分别对应绘制线性直角坐标坐标,分别对应绘制线性直角坐标系的二维图形,曲线条数等于输入参数矩阵系的二维图形,曲线条数等于输入参数矩阵的列数。的列数。13第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)l2)plot(x,y2)plot(x,y,s)s)功能:功能:(1)x和和y均均为为向向量量,要要求求两两向向量量的的长长度度相相同同一一致致。分分别作为别作为x坐标和坐标和y坐标数据。坐标数据。(2)x为向量,为向量,y为矩阵时为矩阵时,绘制,绘制y的行或列对于的行或列对于x的图的图形(其中行或列的选择取决于形(其中行或列的选
9、择取决于x,y的维数),若的维数),若y为为方阵,或方阵,或y的列向量长度与的列向量长度与x向量的长度致,则绘制向量的长度致,则绘制出出y矩阵的各列向量相对于矩阵的各列向量相对于x的一组二维图形;的一组二维图形;若若y矩矩阵的行向量长度与阵的行向量长度与x向量的长度一致,则绘制出向量的长度一致,则绘制出y矩矩阵的各行向量相对于阵的各行向量相对于x的一组二维图形;的一组二维图形;(3)x为矩阵,为矩阵,y为向量,类似(为向量,类似(2)(4)x,y同维的矩阵,则绘制出同维的矩阵,则绘制出y列向量相对于列向量相对于x的列的列向量向量之间的一组二维图形之间的一组二维图形14第第第第6 6章章章章 M
10、ATLAB MATLAB 绘图绘图绘图绘图(1)(1)l3)3)plot(x1,y1,s1,x2,y2,s2,xn,ynplot(x1,y1,s1,x2,y2,s2,xn,yn,sn)sn)功能:功能:绘制(绘制(xi,yi,sixi,yi,si)对应的二维图形。)对应的二维图形。S S是是表表示示所所绘绘图图形形的的线线形形、点点型型和和颜颜色色的的字字符符串串。函函数数调调用用格格式式中中的的S S是是线线形形、点点型型和和颜颜色色的的组组合合字符,默认值为字符,默认值为b-.b-.(蓝色点划线标记(蓝色点划线标记)。15第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图
11、(1)(1)例例 在在0 x2 区间内,绘制曲线区间内,绘制曲线 y=2e-0.5xcos(4x)程序如下:程序如下:x=0:pi/100:2*pi;y=2*exp(-0.5*x).*cos(4*pi*x);plot(x,y)或者:或者:fplot(2*exp(-0.5*x)*cos(4*pi*x),0,2*pi);16第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)l例例 绘制行向量绘制行向量(1 8 6 5 4)(1 8 6 5 4)的图形。的图形。l例例 在区间在区间 内,内,绘制曲线绘制曲线 。17第第第第6 6章章章章 MATLAB MATLAB 绘图
12、绘图绘图绘图(1)(1)4)h=plot(.)l求函数plot绘制曲线的句柄属性值18第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)5 5)plotyyplotyy函数函数lPlotyyPlotyy:用不同标度在同一个坐标内绘制曲线用不同标度在同一个坐标内绘制曲线lplotyyplotyy(x1,y1,x2,y2)(x1,y1,x2,y2)分分别别绘绘制制(x1x1,y1y1)和和(x2x2,y2y2)的的图图形形。其其中中x1x1和和y1y1、x2x2和和y2y2为为对对应应的的向向量量或或矩矩阵。阵。19第第第第6 6章章章章 MATLAB MATLAB
13、绘图绘图绘图绘图(1)(1)l例例用不同标度在同一坐标内绘制曲线用不同标度在同一坐标内绘制曲线ly1=0.2e-0.5xcos(4x)和和y2=2e-0.5xcos(x)。程序如下:程序如下:x=0:pi/100:2*pi;y1=0.2*exp(-0.5*x).*cos(4*pi*x);y2=2*exp(-0.5*x).*cos(pi*x);plotyy(x,y1,x,y2);20第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)3.极坐标系绘图极坐标系绘图lPolarPolar:极坐标系绘图函数极坐标系绘图函数polar函数用来绘制极坐标图,其调用格式为:函数用
14、来绘制极坐标图,其调用格式为:polar(theta,rho,选项选项)其中其中theta为极坐标相角,为极坐标相角,rho为极坐标矢径,选项为极坐标矢径,选项的内容与的内容与plot函数相似。函数相似。例例 绘制绘制r=sin(t)cos(t)的极坐标图,并标记数据点。的极坐标图,并标记数据点。程序如下:程序如下:t=0:pi/50:2*pi;r=sin(t).*cos(t);polar(t,r,-*);。21第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)l例例 画出心形线画出心形线 的的 图像。图像。l例例 画出星形线画出星形线 的图像。的图像。22第第第
15、第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)4.条形图l条形图用来表示一些数据的对比情况条形图用来表示一些数据的对比情况lbar(x,参数)垂直方向lbarh(x,参数)水平方向lx为向量:以x序号为横坐标,x的各个元素为纵坐标lx为矩阵:l参数grouped,每行分成一组lstacked,每一行累加,再绘制lwidth 一组内条形的间距 默认0.823第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)lY=round(rand(5,3)*10);lsubplot(2,2,1)lbar(Y,group)ltitle Grouplsub
16、plot(2,2,2)lbar(Y,stack)ltitle Stacklsubplot(2,2,3)lbarh(Y,stack)ltitle Stacklsubplot(2,2,4)lbar(Y,1.5)ltitle Width=1.524第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)5.饼图饼图l饼图饼图常用来表示各种因素所占的比例常用来表示各种因素所占的比例lpie(x,参数),参数)lx为向量:绘制为向量:绘制x中每一个元素占全部向中每一个元素占全部向量总和的百分比饼图。量总和的百分比饼图。lx为矩阵:占全部矩阵元素的百分比为矩阵:占全部矩阵元素的百分
17、比l参数:参数:1:表示分离,:表示分离,0:表示不分离,:表示不分离,维数与维数与x相同相同25第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)l例 x=1 2 3;4 5 6;7 8 9lexplode=1 0 0 1 0 0 0 1 1 lpie(x,explode)26第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)6.柱形图概率分布图概率分布图用于研究随机系统的数据分布用于研究随机系统的数据分布情况情况lhist(y,x)绘制绘制y在以在以x为中心的区间中分布为中心的区间中分布个数个数的条形图的条形图27第第第第6 6章
18、章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)l x=1 1 2 3 4l y=-10:1:5;l hist(x,y)28第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)7.其他 p22022229第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)5.3三维绘图l1.三维网格图与曲面图l在绘制三维网格图与曲面图时,往往先将要绘制图形的定义区域分成若干个网格,然后计算这些网格节点上的二元函数值。l网格绘制函数:meshgrid30第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)lmes
19、hgridmeshgrid:网格坐标矩阵的生成函数网格坐标矩阵的生成函数 X,Y X,Ymeshgrid(x,y)meshgrid(x,y)功功能能:由由向向量量x和和y产产生生在在x-y平平面面的的各各网网格格点点坐坐标标矩矩阵阵(X,Y)。其其中中向向量量x为为1n的的行行向向量量,向向量量y为为1m的的行行向向量量,产产生生的的网格点坐标矩阵(网格点坐标矩阵(X,Y)的元素为)的元素为坐标对坐标对(Xijij,Yijij),i=1,.,m,j=1,.,n),i=1,.,m,j=1,.,n。31第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)注意向量注意向量
20、x x和和y y相同时,相同时,meshgridmeshgrid函数也可函数也可以写成以写成X,YX,Ymeshgrid(x)meshgrid(x)。例如例如 语句语句x=1 2 3 4;y=5 6 7;U,V=meshgrid(x,y)U,V=meshgrid(x,y)功功能能:将将x(1n)向向量量和和y(1m)向向量量转转换换为为(mn)的矩阵。的矩阵。32第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)lZ=peaks(n)生成一个n阶高斯分布的方阵lX,Y,Z=peaks(n)并给出相应的x,y的矩阵。lZ=peaks(X,Y)由预先给定的向量X,Y生
21、成高斯分布的矩阵。33第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)三三维网格网格图lmeshmesh:三维网格图的绘制函数三维网格图的绘制函数 mesh(z)mesh(z)mesh(x,y,z)mesh(x,y,z)mesh(x,y,z,c)mesh(x,y,z,c)其其中中c c为为的的同同维维颜颜色色矩阵。矩阵。功功能能:绘绘制制三三维维网网格格图图。当当只只有有参参数数z时时,以以z矩矩阵阵的的行行下下标标作作为为x坐坐标标轴轴,把把z的的列列下下标标当当作作y坐坐标标轴轴;x和和y分分别别为为x和和y坐标轴的自变量。坐标轴的自变量。当有当有x,y和和
22、z参数时,绘制出由坐标参数时,绘制出由坐标(x(xijij,y,yijij,z,zijij)确定的确定的三维网格图形。三维网格图形。lmeshc(x,y,z)带等高线的网格图lmeshz(x,y,z)带底座的网格图lsurf(x,y,z)绘制三维曲面lsurfc(x,y,z)带等高线的三维曲面图34第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)例 P227l在x:-4,4,y:-4,4区域上绘制z=x2+y2的三维网格图lx,y=meshgrid(-4:0.125:4);lZ=x.2+y.2;lMesh(x,y,z)35第第第第6 6章章章章 MATLAB M
23、ATLAB 绘图绘图绘图绘图(1)(1)lX,Y=meshgrid(-3:.125:3);lZ=peaks(X,Y);lmeshc(X,Y,Z);laxis(-3 3-3 3-10 5)36第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)lX,Y=meshgrid(-3:.125:3);lZ=peaks(X,Y);lmeshz(X,Y,Z)37第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)lX,Y,Z=peaks(30);lsurfc(X,Y,Z)lcolormap hsv /设置曲面显示的颜色laxis(-3 3-3 3-10
24、 5)38第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)l2.三维曲线图 229页plot3:三维曲线图形函数:三维曲线图形函数plot3(x,y,z,s)plot3(x,y,z,s)功能:功能:绘制三维曲线。绘制三维曲线。其中当其中当x,y和和z是相同的向量时,则绘制以是相同的向量时,则绘制以x,y和和z元素为坐标的三维曲线;当元素为坐标的三维曲线;当x,y和和z是同型是同型矩阵时,则绘制以矩阵时,则绘制以x,y和和z元素为坐标的三维元素为坐标的三维曲线,且曲线的条数等于矩阵的曲线,且曲线的条数等于矩阵的列列数。数。s是指定是指定绘制三维曲线的线型、数据点形
25、和颜色的字符绘制三维曲线的线型、数据点形和颜色的字符串,省略串,省略s s时,将自动选择线型、数据点形和时,将自动选择线型、数据点形和颜色。颜色。线型、数据点形和颜色的含义同线型、数据点形和颜色的含义同plot函数。函数。39第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)对对参参数数方方程程表表示示的的三三维维曲曲线线的的绘绘制制还还有有一一个个简简单形式单形式ezplot3,调用格式为调用格式为:l ezplot3(x,y,z,tmin,tmax)功功能能:绘绘制制区区间间 范范围围内内x=x(t),y=y(t)和和z=z(t)的三维曲线。的三维曲线。参数参
26、数tmin,tmax的的默认默认值为值为 。40第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)l例例 绘制三维曲线绘制三维曲线例例 绘制三维曲线绘制三维曲线41第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)lt=0:pi/100:4*pi;lezplot3(t,sin(x),cos(x);42第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)l y=1:0.125:5;l z=10*sin(y).*cos(x);l plot3(x,y,z)l grid on43第第第第6 6章章章章 MATLAB
27、 MATLAB 绘图绘图绘图绘图(1)(1)5.5图形的注释(修饰)将标题、坐标轴标记、网格线及文字注释加注到图形上,添加的方法有使用 insert菜单,图形属性编辑器和相应的命令。insert菜单下的菜单下:lxlable 给x轴加标注lylable 给y轴加标注ltitle 给图形加标题ltext 在图形指定位置加标注llegend 添加图例lcolorbar 添加颜色棒l line arrow 等等44第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)1.添加标题的三种方法:248249页2.菜单3.使用属性编辑器4.使用title 函数45第第第第6 6章
28、章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)图形颜色的修饰lmatlab 有极好的颜色表现功能,其颜色数据又构成了一维新的数据集合,也可称为四维图形lcolormap(MAP)色图设定函数,MAP为m3维色图矩阵l图形颜色可根据需要任意生成,也可用matlab配备的色图函数256页 图形的颜色控制46第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)饱和色 0 0 0 黑色 0 0 1 兰色 0 1 0 绿色 0 1 1 浅兰 1 0 0 红色 1 0 1 粉红 1 1 0 黄色 1 1 1 白色 调和色0.5 0.5 05 灰色0.5 0 0
29、 暗红色1 0.62 0.4 铜色0.49 1 0.8 浅绿0.49 1 0.83 宝石兰47第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)matlab 的色图函数:hsv 饱和值色图 gray 线性灰度色图 hot 暖色色图 cool 冷色色图 bone 兰色调灰色图 copper 铜色色图 pink 粉红色图 prism 光谱色图 jet 饱和值色图II flag 红、白、蓝交替色图48第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)l颜色阴影的设置lshading 函数实现49第第第第6 6章章章章 MATLAB MATL
30、AB 绘图绘图绘图绘图(1)(1)lshading faceted 网格修饰,缺省方式50第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)lshading flat 去掉黑色线条,根据小方块的值确定颜色51第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)lshading interp 颜色整体改变,根据小方块四角的值差补过度点的值确定颜色52第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)peaks(30);shading interp;colormap(hot)peaks(30);shading
31、interp;colormap(hot)53第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)X,Y,Z=peaks(30);surfl(X,Y,Z)X,Y,Z=peaks(30);surfl(X,Y,Z)shading interp;colormap(cool);axis offshading interp;colormap(cool);axis off54第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)peaks(30);colormap(hot);colorbar(horiz)figure(2);colormap(cool);55第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)l视角修饰(函数view(az,el)258页 az-方位角;el-俯视角 省缺值为:az=-37.5;el=30例。观察不同视角的波峰图形z=peaks(40);subplot(2,2,1);mesh(z);subplot(2,2,2);mesh(z);view(-15,60);subplot(2,2,3);mesh(z);view(-90,0);subplot(2,2,4);mesh(z);view(-7,-10);56第第第第6 6章章章章 MATLAB MATLAB 绘图绘图绘图绘图(1)(1)57
限制150内