【教学课件】第5章MATLAB绘图.ppt
第5章 MATLAB 绘图,2,5.1 图形窗口以其操作,1.图形窗口操作命令 P 207figure 创建新的图形图像窗口figure(gcf)显示当前图形窗口gcf/shg 显示当前图形窗口clf/clg 清除当前图形窗口clc 清除命令窗口home 光标到命令窗口的左上角hold on 保持当前窗口hold off 释放当前图形窗口subplot(m,n,p)或subplot(mnp)将图形窗口分成m*n个窗口,p指定第一个窗口(从左到右,从上到下),3,例题:,x=0:0.02:2*pi;plot(x,sin(x)hold onplot(x,cos(x),r),4,例题,subplot(223)plot(x,cos(x),r),5,2.坐标轴、刻度和图形窗口缩放的操作axis(xmin xmax ymin ymax)axis equal:纵、横坐标轴采用等长刻度。axis square:产生正方形坐标系(缺省为矩形)。axis auto:使用缺省设置。axis off:取消坐标轴。axis on:显示坐标轴,6,box on 是否四周都设定坐标轴box offxlim(xmin xmax)设定x轴的最大、最小值grid on 是否绘制图形窗口的网格grid off grid 在两者之间切换,7,P209 点型 线型和颜色,绘图函数的常用的颜色含义类型 符号蓝色(默认)b(Blue)黄色 y(Yellow)品红色(紫色)m(Magenta)青色 c(Cyan)红色 r(Red)绿色 g(Green)白色 w(White)黑色 k(Black),8,绘图函数的常用的线形含义,类型 符号实线(默认)-点线:点划线-.虚线-,9,绘图函数的常用的数据点形含义,类型 符号实点标记(默认).圆圈标记 o叉号形 x星号标记*钻石形标记 d向下的三角形标记v向上的三角形标记向左的三角形标记五角星标记 p,10,5.2二维绘图,Matlab7.0可以绘制二维数据曲线、函数曲线图、对数坐标图、数据散点图、条形图、饼图、极坐标图等1.函数曲线图fplot 函数实现flot(fun,lim,tol,n,s)fun 函数名,多个函数时 fun1,fun2,fun3.lim给定的绘图范围 比如 0,100tol 给定绘图的相对误差s 可以是线性、点型和颜色n 表示至少用n+1 个点在lim给定的范围内绘制fun给定的函数的曲线fun,lim 必不可少 tol,n,s 可选参数,11,p210 实例1再同一窗口绘制y=sinx,y=cosx,y=sqrt(x)-1在0,2pi上的图像fplot(sin(x),cos(x),sqrt(x)-1,0,2*pi)fplot(sin(x),cos(x),sqrt(x)-1,0,2*pi,k:,200);,12,x,y=fplot(fun,lim)不绘制图形,只将fplot的计算结果保存到变量x和y中,13,2.数据曲线图Plot:直角坐标系的二维图形的绘制函数三种调用格式:1)plot(y,s)功能:当y是向量时,元素的序号作为x坐标,元素值作为y坐标,对应绘制线性直角坐标系的二维图形。当y是矩阵时,元素的所在列号作为x坐标,元素值作为y坐标,分别对应绘制线性直角坐标系的二维图形,曲线条数等于输入参数矩阵的列数。,14,2)plot(x,y,s)功能:(1)x和y均为向量,要求两向量的长度相同一致。分别作为x坐标和y坐标数据。(2)x为向量,y为矩阵时,绘制y的行或列对于x的图形(其中行或列的选择取决于x,y的维数),若y为方阵,或y的列向量长度与x向量的长度致,则绘制出y矩阵的各列向量相对于x的一组二维图形;若y矩阵的行向量长度与x向量的长度一致,则绘制出y矩阵的各行向量相对于x的一组二维图形;(3)x为矩阵,y为向量,类似(2)(4)x,y同维的矩阵,则绘制出y列向量相对于x的列向量之间的一组二维图形,15,3)plot(x1,y1,s1,x2,y2,s2,xn,yn,sn)功能:绘制(xi,yi,si)对应的二维图形。S是表示所绘图形的线形、点型和颜色的字符串。函数调用格式中的S是线形、点型和颜色的组合字符,默认值为b-.(蓝色点划线标记)。,16,例 在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);,17,例 绘制行向量(1 8 6 5 4)的图形。,例 在区间 内,绘制曲线。,18,4)h=plot(.),求函数plot绘制曲线的句柄属性值,19,5)plotyy函数,Plotyy:用不同标度在同一个坐标内绘制曲线plotyy(x1,y1,x2,y2)分别绘制(x1,y1)和(x2,y2)的图形。其中x1和y1、x2和y2为对应的向量或矩阵。,20,例用不同标度在同一坐标内绘制曲线y1=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);,21,3.极坐标系绘图,Polar:极坐标系绘图函数polar函数用来绘制极坐标图,其调用格式为: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,-*);。,22,例 画出心形线 的 图像。,例 画出星形线 的图像。,23,4.条形图,条形图用来表示一些数据的对比情况bar(x,参数)垂直方向barh(x,参数)水平方向x为向量:以x序号为横坐标,x的各个元素为纵坐标x为矩阵:参数grouped,每行分成一组stacked,每一行累加,再绘制width 一组内条形的间距 默认0.8,24,Y=round(rand(5,3)*10);subplot(2,2,1)bar(Y,group)title Groupsubplot(2,2,2)bar(Y,stack)title Stacksubplot(2,2,3)barh(Y,stack)title Stacksubplot(2,2,4)bar(Y,1.5)title Width=1.5,25,5.饼图,饼图常用来表示各种因素所占的比例pie(x,参数)x为向量:绘制x中每一个元素占全部向量总和的百分比饼图。x为矩阵:占全部矩阵元素的百分比参数:1:表示分离,0:表示不分离,维数与x相同,26,例 x=1 2 3;4 5 6;7 8 9explode=1 0 0 1 0 0 0 1 1 pie(x,explode),27,6.柱形图,概率分布图用于研究随机系统的数据分布情况hist(y,x)绘制y在以x为中心的区间中分布个数的条形图,28,x=1 1 2 3 4 y=-10:1:5;hist(x,y),29,7.其他 p220222,30,5.3三维绘图,1.三维网格图与曲面图,在绘制三维网格图与曲面图时,往往先将要绘制图形的定义区域分成若干个网格,然后计算这些网格节点上的二元函数值。网格绘制函数:meshgrid,31,meshgrid:网格坐标矩阵的生成函数 X,Ymeshgrid(x,y)功能:由向量x和y产生在x-y平面的各网格点坐标矩阵(X,Y)。其中向量x为1n的行向量,向量y为1m的行向量,产生的网格点坐标矩阵(X,Y)的元素为坐标对(Xij,Yij),i=1,.,m,j=1,.,n。,32,注意向量x和y相同时,meshgrid函数也可以写成X,Ymeshgrid(x)。,例如 语句x=1 2 3 4;y=5 6 7;U,V=meshgrid(x,y)功能:将x(1n)向量和y(1m)向量转换为(mn)的矩阵。,33,Z=peaks(n)生成一个n阶高斯分布的方阵X,Y,Z=peaks(n)并给出相应的x,y的矩阵。Z=peaks(X,Y)由预先给定的向量X,Y生成高斯分布的矩阵。,34,三维网格图,mesh:三维网格图的绘制函数 mesh(z)mesh(x,y,z)mesh(x,y,z,c)其中c为的同维颜色矩阵。功能:绘制三维网格图。当只有参数z时,以z矩阵的行下标作为x坐标轴,把z的列下标当作y坐标轴;x和y分别为x和y坐标轴的自变量。当有x,y和z参数时,绘制出由坐标(xij,yij,zij)确定的三维网格图形。meshc(x,y,z)带等高线的网格图meshz(x,y,z)带底座的网格图surf(x,y,z)绘制三维曲面surfc(x,y,z)带等高线的三维曲面图,35,例 P227,在x:-4,4,y:-4,4区域上绘制z=x2+y2的三维网格图x,y=meshgrid(-4:0.125:4);Z=x.2+y.2;Mesh(x,y,z),36,X,Y=meshgrid(-3:.125:3);Z=peaks(X,Y);meshc(X,Y,Z);axis(-3 3-3 3-10 5),37,X,Y=meshgrid(-3:.125:3);Z=peaks(X,Y);meshz(X,Y,Z),38,X,Y,Z=peaks(30);surfc(X,Y,Z)colormap hsv/设置曲面显示的颜色axis(-3 3-3 3-10 5),39,2.三维曲线图 229页plot3:三维曲线图形函数plot3(x,y,z,s)功能:绘制三维曲线。其中当x,y和z是相同的向量时,则绘制以x,y和z元素为坐标的三维曲线;当x,y和z是同型矩阵时,则绘制以x,y和z元素为坐标的三维曲线,且曲线的条数等于矩阵的列数。s是指定绘制三维曲线的线型、数据点形和颜色的字符串,省略s时,将自动选择线型、数据点形和颜色。线型、数据点形和颜色的含义同plot函数。,40,对参数方程表示的三维曲线的绘制还有一个简单形式ezplot3,调用格式为:ezplot3(x,y,z,tmin,tmax)功能:绘制区间 范围内x=x(t),y=y(t)和z=z(t)的三维曲线。参数tmin,tmax的默认值为。,41,例 绘制三维曲线,例 绘制三维曲线,42,t=0:pi/100:4*pi;ezplot3(t,sin(x),cos(x);,43,y=1:0.125:5;z=10*sin(y).*cos(x);plot3(x,y,z)grid on,44,5.5图形的注释(修饰),将标题、坐标轴标记、网格线及文字注释加注到图形上,添加的方法有使用 insert菜单,图形属性编辑器和相应的命令。insert菜单下的菜单下:xlable 给x轴加标注ylable 给y轴加标注title 给图形加标题text 在图形指定位置加标注legend 添加图例colorbar 添加颜色棒 line arrow 等等,45,添加标题的三种方法:248249页菜单使用属性编辑器使用title 函数,46,图形颜色的修饰matlab 有极好的颜色表现功能,其颜色数据又构成了一维新的数据集合,也可称为四维图形colormap(MAP)色图设定函数,MAP为m3维色图矩阵图形颜色可根据需要任意生成,也可用matlab配备的色图函数,256页 图形的颜色控制,47,饱和色 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 暗红色1 0.62 0.4 铜色0.49 1 0.8 浅绿0.49 1 0.83 宝石兰,48,matlab 的色图函数:hsv 饱和值色图 gray 线性灰度色图 hot 暖色色图 cool 冷色色图 bone 兰色调灰色图 copper 铜色色图 pink 粉红色图 prism 光谱色图 jet 饱和值色图II flag 红、白、蓝交替色图,49,颜色阴影的设置shading 函数实现,50,shading faceted 网格修饰,缺省方式,51,shading flat 去掉黑色线条,根据小方块的值确定颜色,52,shading interp 颜色整体改变,根据小方块四角的值差补过度点的值确定颜色,53,peaks(30);shading interp;colormap(hot),54,X,Y,Z=peaks(30);surfl(X,Y,Z)shading interp;colormap(cool);axis off,55,peaks(30);colormap(hot);colorbar(horiz)figure(2);colormap(cool);,56,视角修饰(函数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);,57,