非常强大的MATLAB入门作图教程.ppt

上传人:文库蛋蛋多 文档编号:2278853 上传时间:2023-02-08 格式:PPT 页数:91 大小:1.05MB
返回 下载 相关 举报
非常强大的MATLAB入门作图教程.ppt_第1页
第1页 / 共91页
非常强大的MATLAB入门作图教程.ppt_第2页
第2页 / 共91页
非常强大的MATLAB入门作图教程.ppt_第3页
第3页 / 共91页
非常强大的MATLAB入门作图教程.ppt_第4页
第4页 / 共91页
非常强大的MATLAB入门作图教程.ppt_第5页
第5页 / 共91页
点击查看更多>>
资源描述

《非常强大的MATLAB入门作图教程.ppt》由会员分享,可在线阅读,更多相关《非常强大的MATLAB入门作图教程.ppt(91页珍藏版)》请在三一办公上搜索。

1、1,Matlab 作图入门教程,2,MATLAB7.0不仅具有强大的数值计算功能,在数据可视化方面也是独占鳌头,可以满足同学们各方面的需求。对大家来说,抽象的数据往往是晦涩难懂的;但MATLAB通过图形编辑窗口和绘图函数方便地绘制二维、三维甚至多维图形,把杂乱离散的数据以形象的图形显示出来,有助于大家了解数据的性质和内在联系。,Matlab 绘图,3,Matlab 绘图,如何画出 ysin(x)在 0,2*pi 上的图像?,4,手工作图,找点:x=0,pi/3,pi/2,2*pi/3,pi,计算函数值:y=sin(0),sin(pi/3),sin(pi/2),描点:在坐标系中画出这些离散点,用

2、直线或曲线连接这些点,得到函数的大致图形,Matlab 绘图,5,Matlab 作图,Matlab 绘图,给出离散点列:x=0:pi/10:2*pi,计算函数值:y=sin(x),画图:matlab 二维绘图命令 plot 作出函数图形 plot(x,y),例:x=0:pi/10:2*pi;,y=sin(x);,plot(x,y);,6,在MATLAB中用图形函数绘图的一般操作步骤分为7步,如表所示,下面以绘制一个简单三角函数的图形为例,详细介绍各个步骤。,7,【例】用图形表示,(1)准备图形数据,图形是数据变换规律和相互联系的形象显示,所以数据输入是图形创建的基础,我们需要选定数据的范围,选

3、择对应范围的自变量,计算相应的函数值。本例中,我们需在命令窗口输入如下代码:,x=-pi/2:.1:pi/2;,y=cos(x)-sin(x);,Matlab 绘图步骤,8,(2)选择图形的显示位置,系统默认图形窗口为Figure1,如果大家需要在图形窗口中并列显示多个窗口,这需要使用subplot指令来选择子图号。如果大家需要把图形窗口定义为Figure6,并且分为3*2=6个子窗口,使得本例函数图形显示在图形窗口的左下角,那么大家需要在命令窗口中输入以下代码:,figure(6);,Subplot(3,2,5),Matlab 绘图步骤,9,(3)调用绘图指令并设置参数,此步是主要绘图步骤,

4、调用plot函数绘制图形,plot(x,y),(4)选择线性和标记属性,此步可以单独使用图形句柄设置,也可以与步骤(3)同时进行,选择图形的线性、颜色及数据点型等参数,形成图形概貌,如果大家希望用黑色点线“-.”来绘制本例函数,并使用“*”标注点型,则可输入,plot(x,y,k-.*),Matlab 绘图步骤,10,(5)设置坐标范围及网格线,完成基本绘制后,在图形概貌的基础上对图形进行编辑,增强图形的可读性;一般说来,大家需要设置坐标轴的刻度范围和分隔线。本例系统默认的坐标轴范围是x,y-2,2,且没有网格线,将本例的坐标轴和坐标轴的范围分别设置为-,和,且给坐标加上分隔线,可以输入以下代

5、码:,axis(-pi,pi,-4,4),grid on,Matlab 绘图步骤,11,(6)给图形加注释,为了进一步使图形具有说服力和可读性,我们还经常给图形添加注释,例如图形的名称、坐标轴的名称、图例及文字说明,针对本例图形,给图形取名为“first figure”,x和y坐标轴分别取名“横”、“纵”,图例设置为“y=cos(x)-sin(x)”,并在(pi/2,-1)点加上文字说明“final point”,输入以下代码:,title(first figure);xlabel(横);ylabel(纵);legend(y=cos(x)-sin(x);text(pi/2,-1,final p

6、oint);,Matlab 绘图步骤,12,(7)图形输出,大家完成图形的绘制和编辑以后,需要将图形打印或是存放在其他文档中,最简单的方法是使用【file】菜单中的【save as】选项,并且大家可以自行选择需要保存的格式类型。,Matlab 绘图步骤,13,Matlab 二维作图,plot(x,y),基本形式,x,y 都是向量,则以 x 中元素为横坐标,y 中元素为纵坐标作平面曲线。此时 x,y 必须具有相同长度。,14,plot 举例,x=0:0.1:4*pi;y=cos(x);plot(x,y);,例:y=cos(x)在 0,4 上的图像,在0 x2区间内,绘制曲线 y=2e-0.5x

7、cos(4x),15,程序如下:x=0:pi/100:2*pi;y=2*exp(-0.5*x).*cos(4*pi*x);plot(x,y),【例】在0 x2区间内,绘制曲线 y=2e-0.5x cos(4x),此点必加,16,Matlab 二维作图,plot(x,y),基本形式,x,y 都是向量,则以 x 中元素为横坐标,y 中元素为纵坐标作平面曲线。此时 x,y 必须具有相同长度。,当x,y 是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。此时 x,y 必须具有相同的大小。,17,x 是向量,y 是矩阵,若 x 的长度与 y 的行数相等,则将 x 与 y

8、 中的各列相对应,绘制多条平面曲线;若 x 的长度与 y 的列数相等,则将 x 与 y 中的各行相对应,绘制多条平面曲线。此时 x 的长度必须等于 y 的行数或列数。,18,指出以下各个绘图命令的输出图形分别是什么,并上机验证,t=0 1;x=1 2;y=x;3 4;z=y;5 6;plot(t,x);plot(t,y);plot(t,y);plot(t,z);plot(t,z);,19,Matlab 二维作图,plot(y):绘制向量 y 中元素的线性图,基本形式(续),(1)Y为实向量,则以Y的索引坐标作为横坐标,Y作为纵坐标来绘制图形。例:y=rand(100,1);plot(y),(2

9、)如果Y为复数向量,则以向量的实部作为横坐标,虚部作为纵坐标,来绘制图形。例:x=rand(100,1);z=x+y.*i;plot(z),20,例:y=0,0.48,0.84,1,0.91,6.14;,plot(y);,figure(2);plot(1:length(y),y),x=1:length(y);plot(x,y);,以下标为横坐标,元素值为纵坐标,等价于:,plot(Y):当 Y 是矩阵时的图形是什么?,Y=1 2;3 5;6 9;plot(Y);plot(Y);,此例不错,21,具有两个纵坐标标度的图形 在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用pl

10、otyy绘图函数。调用格式为:plotyy(x1,y1,x2,y2)其中x1,y1对应一条曲线,x2,y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1,y1数据对,右纵坐标用于x2,y2数据对。,22,【例】用不同标度在同一坐标内绘制曲线:y1=0.2e-0.5x cos(4x)y2=2e-0.5x cos(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);,23,点和线的基本属性,图形的属性,属性可以全部指定,也可以只指

11、定其中某几个排列顺序任意,24,plot(X,Y,s)s参数:-实线.点*星号 上三角:点线 o 圆 s 方形 右三角-虚线+号 v 下三角 p 正五边形y 黄色m 紫红色c 蓝绿色r 红色 g 绿色b 蓝色w 白色k 黑色 上述参数的不同组合可以为图形设置不同的线形、颜色和标识,调用时以单引号来引用,各选项直接相连,不需要分隔符。,25,【例】x=0:0.1*pi:pi;y=sin(x);z=cos(x);plot(x,y,-k,x,z,-.rd),26,图形标注与坐标控制 有关图形标注函数的调用格式为:title(图形名称)xlabel(x轴说明)ylabel(y轴说明)text(x,y,

12、图形说明)legend(图例1,图例2,),图形的其他属性,27,图形的其他属性,标题,title(text),例,title(text,Property1,value1,Property2,value2,.),可以指定文本的属性,28,图形的其他属性,坐标轴标注,xlabel(text)或 ylabel(text),例:,29,图形的其他属性,添加图例,legend(string1,string2,.),在指定地方添加文本,text(x,y,string1,string2,.),legend(cos(x);,text(pi/2,cos(pi/2),leftarrowy=cos(x);,xla

13、ble,ylabel,text 命令也可以指定文本的属性,30,其他相关命令,31,figure(n)创建窗口函数,n为窗口顺序号。t=0:pi/100:2*pi;y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);plot(t,y)%自动出现第一个窗口figure(2)plot(t,y1)%在第二窗口绘图figure(3)plot(t,y2)%在第三窗口绘图,32,33,MATLAB的绘图功能十分灵活,不但可以在一个图形窗口中绘制多个完全独立的子图,称为绘制子图;也允许用户在一个图形中绘制多条曲线,称为图形叠绘。接下来首先介绍子图的绘制方法。,绘制子图,当大家需要进行

14、相关图形的比较或者是同类图形的分析时,比较方便的方式是把若干图形在同一个图形窗口显示出来。针对用户的这一点需要,MATLAB提供了子图的绘制功能,并约定了符合常规思维习惯的分栏方式。,34,绘制子图,将一个绘图窗口分割成 m*n 个子区域,并 按行 从左至右 依次编号。p 表示第 p 个绘图子区域。,35,绘制子图,怎样在一个绘图区域内绘制多个函数的图像?,将一个绘图窗口分割成 m*n 个子区域,并 按行 从左至右 依次编号。p 表示第 p 个绘图子区域。,x=-pi:pi/10:pi;subplot(2,2,1);plot(x,sin(x);subplot(2,2,2);plot(x,cos

15、(x);subplot(2,2,3);plot(x,x.2);subplot(2,2,4);plot(x,exp(x);,例:,36,刚才已经解决了“一个窗口绘制多图”的问题,接下来将介绍如何“一个坐标轴绘制多曲线”。在实际工作中,大家常常需要即已经绘制完成的图形上再次添加或删减图形,这时可以调用hold函数,hold函数的调用格式和功能如下:hold:在图形保功能保持和关闭状态之间切换。hold on:启动图形保持功能,在原图的基础上,再次绘制的图形将全部添加到图形窗口中,并自动调整坐标轴范围;hold off:关闭图形保持功能;,37,【例】采用图形保持,在同一坐标内绘制曲线 y1=0.2

16、e-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);plot(x,y1)hold ony2=2*exp(-0.5*x).*cos(pi*x);plot(x,y2);hold off,38,同时绘制多个函数图像,plot(x1,y1,s1,x2,y2,s2,.,xn,yn,sn),属性选项可以省略,等价于:,hold onplot(x1,y1,s1)plot(x2,y2,s2).plot(xn,yn,sn),39,给坐标加网格线用grid命令来控制。grid on/off命令控制是画

17、还是不画网格线,不带参数的grid命令在两种状态之间进行切换。给坐标加边框用box命令来控制。box on/off命令控制是加还是不加边框线,不带参数的box命令在两种状态之间进行切换。,40,图形的其他属性,x=-pi:pi/10:pi;y=sin(x);plot(x,y,rh:,linewidth,2,.markeredgecolor,b,.markerfacecolor,g),例:,线条的粗细,字体大小,坐标轴属性等。,linewidth:指定线条的粗细markeredgecolor:指定标记的边缘色markerfacecolor:指定标记表面的颜色,注:1)属性与属性的值是成对出现的

18、2)更多属性参见 plot 的联机帮助,41,图形的基本属性,help plot 查看,42,在工程实践中记录分析数据,在教学科研中演示统计结果、用户常需要使用一些特殊图形。由于图形的特殊性,故仅仅调用plot函数将很难绘制。针对这种情况,MATLAB提供了若干特殊图形绘制函数。接下来主要介绍特殊图形的绘制方法,主要图形包括:条形图、区域图、饼状图、柱状图、离散图、罗盘图、羽毛图、轮廓图以及箭头图等。,绘制和编辑特殊图形,43,特殊二维绘图函数,bar 绘制直方图 polar 绘制极坐标图 hist 绘制统计直方图 stairs 绘制阶梯图 stem 绘制火柴杆图 rose 绘制统计扇形图 c

19、omet 绘制彗星曲线 area 区域图 pie 饼图,44,条形图可以显示矢量数据和矩阵数据,如果用户需要表现跨时间段的运算结果、不同数据的比较结果以及部分相对于整体比较结果时,常会用到条形图绘制离散数据。MATLAB中提供了条形图绘制函数bar,函数bar有4种,,绘制和编辑条形图,45,t=0:0.2:2*pi;y=cos(t);bar(y),绘制直方图,46,x=0:pi/20:2*pi;y=sin(x);stairs(x,y),绘制阶梯曲线,47,t=0:2*pi/90:2*pi;y=cos(4*t);polar(t,y),极坐标绘图,48,t=0:0.2:2*pi;y=cos(t)

20、;stem(y),火柴杆绘图,49,t=-pi:pi/500:pi;y=tan(sin(t)-sin(tan(t);comet(t,y),彗星曲线图,50,x=magic(6);area(x),面积图,51,x=1 2 3 4 5 6 7;y=0 0 0 1 0 0 0;pie(x,y),饼图,52,在很多场合,二维图形远远满足不了用户的需求,为了可以呈现更加形象和逼真的三维图形,MATLAB提供了丰富的三维绘图函数。虽然三维绘图可以看成二维绘图的拓展,一些绘制函数调用格式十分相似,很多图形绘制和设置函数也可以二、三维通用,但是三维图形仍有其特殊之处,例如需要进行二维图形所没有的视角、光照及透

21、明度的设置。接下来主要结合以大家常用的三维曲线、网格和曲面图为重点讲解,介绍这些三维图形的绘制方法。,空间三维作图,53,接下来主要介绍基本三维图形的绘制方法,主要介绍plot3、mesh、surf三个三维绘图函数的调用方法。,空间三维作图,54,和二维绘制函数plot相对应,plot3函数是曲线绘制函数在三维空间中的扩展,两者的区别是:plot3增加了第三维的参数。plot3函数的常用调用格式为:plot(X,Y,Z,s)。X、Y和Z是同维向量时,分别以X、Y和Z的元素为x、y和z轴坐标。X、Y和Z是同维矩阵时,分别以X、Y和Z的对应列元素为x、y和z轴坐标,曲线条数等于矩阵的列数。,空间三

22、维作图,55,空间三维作图,三维曲线:plot3,设三维曲线的参数方程为:x=x(t),y=y(t),z=z(t),则其图形可由下面的命令绘出:,例:三维螺旋线,plot3的用法与 plot 类似,t=0:0.1:10*pi;x=2*t;y=sin(t);z=cos(t);plot3(x,y,z);,plot3(x,y,z,s),56,绘制三维网格-mesh函数,网格图形是指连接相邻数据点形成的网状曲面,数据点是x-y平面的矩形网格上点的z轴坐标值。网格图的绘制步骤如下:(1)在x-y平面上指定一个矩形区域,采用与坐标轴平行的直线进行分格;(2)计算矩形网格点的z轴坐标值,得到三维空间的数据点

23、;(3)利用以上得到的数据点,将x-z平面或者y-z平面内,以及平行平面内的数据点连接,形成网格图。,57,空间三维作图,空间曲面,mesh(Z)绘出矩阵 Z 的三维消隐图。,mesh(x,y,Z)x,y 是向量时,length(x)=n,length(y)=m,m,n=size(Z),mesh(X,Y,Z,C)绘制由矩阵 X,Y,Z 所确定的曲面网格图,矩阵 C 用于确定网格颜色,省略时 C=Z。,mesh,meshc,meshz,meshc调用方式与 mesh 相同,在 mesh 基础上增加等高线,meshz调用方式与 mesh 相同,在 mesh 基础上屏蔽边界面,58,【例】矩阵的三维

24、网线图z=rand(6);z=round(z)1 0 0 1 0 0 0 1 0 1 0 1 0 1 1 1 1 0 1 0 1 1 0 0 1 0 1 0 0 1 1 0 1 0 0 1mesh(z);,59,mesh(z),60,【例】8阶hadamard矩阵的网线图,h2=1 1;1-1;h4=h2 h2;h2-h2;h8=h4 h4;h4-h4;mesh(h8),61,62,空间三维作图,网格生成函数:meshgrid,x,y 为给定的向量,X,Y 是网格划分后得到的网格矩阵,绘制由函数 z=z(x,y)确定的曲面时,首先需产生一个网格矩阵,然后计算函数在各网格点上的值。,若 x=y,

25、则可简写为 X,Y=meshgrid(x),X,Y=meshgrid(x,y),63,绘制三维曲面-surf函数,曲面图是把网格图表面的网格围成的片状区域用不同的色彩填充,而形成的彩色表面。除了网格空档被色彩填充之外,曲面图与网格图外观是一样的,但是前者更具立体感。MATLAB中的surf函数专门用于绘制三维着色曲面图,其调用格式和对数据准备的要求上节的mesh函数相同,,64,65,surf 三维曲面绘图函数,与网格图看起来一样与三维网线图的区别:网线图:线条有颜色,空挡是黑色的(无颜色)曲面图:线条是黑色的,空挡有颜色把线条之间的空挡填充颜色,沿z轴按每一网格变化,绘制三维曲面-surf函

26、数,66,调用格式:surf(x,y,z)绘制三维曲面图,x,y,z为图形坐标向量例:X,Y,Z=peaks(30)peaks为matlab自动生成的三维测试图形surf(X,Y,Z),67,surfc(X,Y,Z)带等高线的曲面图X,Y,Z=peaks(30);surfc(X,Y,Z),68,surfl(X,Y,Z)被光照射带阴影的曲面图X,Y,Z=peaks(30);surfl(X,Y,Z),69,cylinde(r,n)三维柱面绘图函数r为半径;n为柱面圆周等分数例:绘制三维陀螺锥面t1=0:0.1:0.9;t2=1:0.1:2;r=t1-t2+2;x,y,z=cylinder(r,30

27、);surf(x,y,z);grid,70,为球面等分数,缺省为20例:绘制三维球面x,y,z=sphere(30);surf(x,y,z);,71,点 线,二维作图机制,例:y=sin(x),0 x 2,x=0:0.5:2*pi;y=sin(x);plot(x,y,.),先画点,后连线,一、画点,72,点 线,二维作图举例,例:y=sin(x),0 x 2,x=0:0.5:2*pi;y=sin(x);plot(x,y,r.-),先画点,后连线,二、连线,73,二维作图举例,x=0:0.1:2*pi;y=sin(x);plot(x,y,.-),x=0:0.1:2*pi;y=sin(x);plo

28、t(x,y),74,例:三维螺线,Matlab 空间曲线绘图举例,x=t,y=sin(t),z=cos(t),0 t 20,1)给出空间离散点的坐标(x,y,z)2)将这些点按顺序连接即可,先画点,后连线,75,空间曲线作图举例,t=0:0.5:20;x=t;y=sin(t);z=cos(t);plot3(x,y,z,.-),t=0:0.5:20;x=t;y=sin(t);z=cos(t);plot3(x,y,z,.),76,空间曲线作图举例,t=0:0.1:20;x=t;y=sin(t);z=cos(t);plot3(x,y,z),t=0:0.1:20;x=t;y=sin(t);z=cos(

29、t);plot3(x,y,z,.-),77,线:分别沿 x 方向和 y 方向连接这些点即可得到,空间曲面作图,先画点(x,y,z),后连线,构成曲面网格图,78,例:“墨西哥帽子”,空间曲面作图举例,(a x a,-a y a),79,a=8 时的曲面图形,空间曲面作图举例,x=-8:0.5:8;y=-8:0.5:8;X,Y=meshgrid(x,y);r=sqrt(X.2+Y.2)+eps;Z=sin(r)./r;mesh(X,Y,Z),1)x 与 y 可以取不同的步长2)注意这里采用的数组运算,最后一个命令能否改为 mesh(Z)?,X,Y=meshgrid(-8:0.5:8);,80,例

30、:绘制等高线 meshc,空间曲面作图举例,X,Y=meshgrid(-8:0.5:8);r=sqrt(X.2+Y.2)+eps;Z=sin(r)./r;meshc(X,Y,Z),81,例:绘制边界面屏蔽 meshz,空间曲面作图举例,X,Y=meshgrid(-8:0.5:8);r=sqrt(X.2+Y.2)+eps;Z=sin(r)./r;meshz(X,Y,Z),82,空间三维作图,空间曲面其它作图函数,sphere(n)专用于绘制单位球面,mesh 绘制网格图,surf 绘制着色的三维表面图,surf(X,Y,Z)绘制由矩阵 X,Y,Z 所确定的曲面图,参数含义同 mesh,spher

31、e 只能画单位球面!,绘制球面 x2+y2+z2=16,83,surf 作图举例,X,Y=meshgrid(-8:0.5:8);r=sqrt(X.2+Y.2)+eps;Z=sin(r)./r;surf(X,Y,Z),84,mesh 与 surf 的比较,85,如果没有给出 n 的值,则系统默认为 n=20,sphere 作图,86,其它调用方式:,axis auto 自动模式,使得图形的坐标满足图中的一切元素axis equal 各坐标轴采用等长刻度axis square 使绘图区域为正方形axis on/off 恢复/取消对坐标轴的一切设置axis manual 以当前的坐标限制图形的绘制(

32、多图时)更多参见 axis 的联机帮助,坐标轴控制,87,r,g,b 都是 0 1 之间的一个数,s 为字符串,表示所采用的色系,常用的值有,图像的着色方案,88,ezplot(f),Matlab 符号作图,二维曲线绘图:ezplot,ezplot(f,a,b),ezplot(f(x,y),ezplot(f(x,y),a,b,c,d),ezplot(f,g,a,b),缺省的绘图区间为-2,2,89,例:,ezplot 作图,90,Matlab 符号作图,空间曲线绘图:ezplot3,缺省的绘图区间为 0,2,ezplot3(x,y,z,a,b),ezplot3(x,y,z),91,Matlab 符号作图,空间曲面绘图:ezmesh、ezsurf,ezmesh(z(x,y),a,b,c,d),ezmesh(z(x,y),a,b),ezmesh(z(x,y),ezmesh(x(s,t),y(s,t),z(s,t),a,b,c,d),ezmesh(x(s,t),y(s,t),z(s,t),a,b),ezmesh(x(s,t),y(s,t),z(s,t),

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号