您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 电气安装工程 > Matlab(R2009a版)-第6讲-MATLAB绘图基础
MATLAB2009从入门到精通2019/11/92课程主要内容•第1章MATLAB简介•第2章数值运算•第3章单元数组和结构•第4章字符串•第5章符号运算•第6章MATLAB绘图基础•第7章程序设计•第8章计算方法的MATLAB实现•第9章优化设计•第10章SIMULINK仿真初探2019/11/93第6章MATLAB绘图基础•MATLAB软件提供了丰富的图形表达功能,包括常用的二维图形和三维图形。其中各种二维图形近30种,三维图形20余种。应用MATLAB,除了能作一般的曲线图、条形图、散点图等统计图形之外,还能绘制流线图、三维矢量图等工程实用图形。2019/11/946.1二维绘图•plot(y)命令中y可以是向量、实数矩阵或复数向量。•(1)当y是向量时,绘制的图形以向量索引(1)为横坐标值(起点为1)、以向量元素的值为纵坐标值(横标为点的个数)。2019/11/95向量绘图实例•t=1:0.1:10;•y=sin(t);•plot(y)2019/11/962019/11/97向量绘图实例•t=0:0.1:10;•y=sin(t);•plot(y)2019/11/982019/11/99向量绘图实例•t=1:1:10;•y=sin(t);•plot(y)2019/11/9102019/11/911向量绘图实例•t=0:1:10;•y=sin(t);•plot(y)2019/11/9122019/11/913•(2)用plot(y)命令绘制矩阵。则绘制矩阵列向量对其坐标索引(1)的图形。2019/11/914矩阵绘图实例•y=[012;234;567];•plot(y)2019/11/9152019/11/916矩阵绘图实例•y=[326;439;587];•plot(y)2019/11/9172019/11/918•(3)用plot(y)命令绘制复向量。则plot(y)相当于plot(real(y),imag(y))。2019/11/919复数绘图实例•x=[1:100];•y=[2:2:200];•z=x+y.*i;•plot(z)2019/11/9202019/11/921复数绘图实例•x=[1:100];•y=1/10.*x.^2;•z=x+y*i;•plot(z)2019/11/9222019/11/923复数绘图实例•x=[152783];•y=[321349];•z=x+y*i;•plot(z)2019/11/9242019/11/925复数绘图实例•x=[6374521];•y=[2731324];•z=x+y*i;•plot(z)2019/11/9262019/11/927复数绘图实例•z=0.1+0.9i;•n=0:0.01:10;•plot(z.^n)2019/11/9282019/11/929•plot(x,y)中x,y均可为向量和矩阵。x,y均为n维向量时,绘制向量y对向量x的图形,即以x为横坐标,y为纵坐标。x为n维向量,y为m×n或n×m的矩阵时,该命令将在同一图内绘得m条不同颜色的连线。x为公共横标,y为纵标。x,y均为m×n矩阵时,将绘得n条不同颜色的连线。2019/11/930双向量绘图实例•x=-2*pi:0.1:2*pi;•y=sin(x)+2;•plot(x,y)2019/11/9312019/11/932向量矩阵绘图实例•x=0:0.1:10;•y=[sin(x)+2;cos(x)+1];•plot(x,y)2019/11/9332019/11/934•用plot(x,y)绘制双矩阵。以x矩阵的第i列分量作为横坐标,矩阵y的第i列分量为纵标,绘得第i条连线。2019/11/935双矩阵绘图实例•x=[123;456;789;234;567];•y=[245;367;468;135;263];•plot(x,y)2019/11/9362019/11/937•用plot(x,y,’s’)绘制不同的线型、点标和颜色的图形,其中s为字符,控制线型。2019/11/938程序实例•x=0:0.1:10;•y1=sin(x);•y2=cos(x);•plot(x,y1,'dm',x,y2,'--b')2019/11/9392019/11/9402019/11/941程序实例•在区间[0,4pi]上,绘制函数下列函数的图形,两图采用不同形式的线型。333sinxxeyxey2019/11/942运行程序•x=0:0.01:4*pi;•y1=exp(-x/3).*sin(3*x);•y2=exp(-x/3);•y3=-exp(-x/3);•plot(x,y1,x,y2,'-.b',x,y3,'-.r')•gridon2019/11/9432019/11/9446.2三维绘图•三维绘图与二维绘图有很多通用的地方,但是三维图形在很多方面是二维曲线所没有涉及的,同时三维绘图可以绘制三维曲线图,也可以绘制曲面图形。2019/11/9456.2.1三维曲线图•和二维曲线命令相似,plot3命令绘制三维曲线图,其调用格式如下:•Plot(X,Y,Z,LineSpec,’PropertyName’,PropertyValue,…)•当X、Y和Z是同维向量时,绘制以X、Y和Z元素为x、y、z坐标的三维曲线。•当X、Y和Z是同维矩阵时,绘制以X、Y和Z对应列元素为x、y、z坐标的三维曲线,曲线的个数等于矩阵的列数。•同时可以定义线型颜色和数据点,以及曲线对象属性及对象属性的取值。2019/11/946程序实例•t=0:0.01:10*pi;•x=sin(t);•y=cos(t);•z=t;•plot3(x,y,z)2019/11/9472019/11/948程序实例•t=[0:0.01:2*pi];•x=[sin(t)sin(t)sin(t)];•y=[cos(t)cos(t)cos(t)];•z=[(sin(t)).^2+(cos(t)).^2(sin(t)).^2+(cos(t)).^2+1(sin(t)).^2+(cos(t)).^2+3];•plot3(x,y,z)2019/11/9492019/11/9506.2.2三维网格图•三维网格图命令mesh;•meshc功能是在三维图的下面画等高线;•meshz功能是在三维图下画边界。2019/11/951程序实例•[x,y]=meshgrid(-3:0.1:3);•z=peaks(x,y);•mesh(z)2019/11/9522019/11/953程序实例•[x,y]=meshgrid(-3:0.1:3);•z=peaks(x,y);•meshc(z)2019/11/9542019/11/955程序实例•[x,y]=meshgrid(-3:0.1:3);•z=peaks(x,y);•meshz(z)2019/11/9562019/11/957程序实例•x=-4:0.1:4;•y=x';•m=ones(size(y))*x;•n=y*ones(size(x));•p=sqrt(m.^2+n.^2)+eps;•z=sin(p)./p;•mesh(z)2019/11/9582019/11/9596.2.3三维曲面图•三维曲面图命令surf;•surfc功能是在三维图的下面画等高线;•waterfall命令用于绘制形似瀑布流水形状的网线图。2019/11/960程序实例•[x,y]=meshgrid(-3:0.1:3);•z=peaks(x,y);•surf(z)2019/11/9612019/11/962程序实例•[x,y]=meshgrid(-3:0.1:3);•z=peaks(x,y);•surfc(z)2019/11/9632019/11/964程序实例•[x,y]=meshgrid(-3:0.1:3);•z=peaks(x,y);•waterfall(z)2019/11/9652019/11/9666.3特殊图形绘制•特殊图形为实现一定功能而设计,包括条形图、饼图、等值线图等多种。2019/11/9676.3.1二维条形图•bar命令绘制二维垂直条形图,用垂直条形显示向量或矩阵中的值。•bar(y)为每一个y中元素画一个条状。•bar(x,y)在指定的横坐标x上画出y,其中x为严格单增的向量。若y为矩阵,则bar把矩阵分解成几个行向量,在指定的横坐标处分别画出。•bar(x,y,width)设置条形的相对宽度和控制在一组内条形的间距。默认值为0.8,如用户没指定x,则同一组内的条形有很小的间距,若设置为1,则同组的条形相互接触。•bar(x,y,’color’)定义条形颜色。2019/11/968•bar(x,y,’style’)用style定义条形类型,可以取值’group’或’stack’。其中’group’为默认的显示模式,表示若y为n*m阶的矩阵,则bar显示n组,每组有m个垂直条形的条形图。’stack’表示对矩阵y的每一个行向量显示在一个图形中,条形的高度为该行向量中的分量和。其中同一条图中的每个分量用不同的颜色显示出来,从而可以显示每个分量在向量中的分布。•barh为绘制水平条状图。•例:bartu.m2019/11/9692019/11/970程序实例•y=[412;942;986;403;912];•bar(y,'r')•figure•bar(y,'g')2019/11/9712019/11/9722019/11/9736.3.2三维条形图•bar3命令绘制三维垂直条形图,用垂直条形显示向量或矩阵中的值。•bar3(z)为每一个z中元素画一个条状,y为1:N。•bar3(y,z)绘制三维条状图,y必须单调增加。•bar3(y,z,width)设置条形的相对宽度和控制在一组内条形的间距。默认值为0.8,如用户没指定x,则同一组内的条形有很小的间距,若设置为1,则同组的条形相互接触。•bar3(y,z,’style’)用style定义颜色或条形类型,可以取值’group’或’stack’或’detach’。其中’group’为默认的显示模式,’stack’表示对矩阵y的每一个行向量显示在一个图形中,’detach’形状分开。•bar3h为绘制水平条状图。•例:bar3tu.m2019/11/9742019/11/975程序实例•y=[412;942;986;403;912];•bar3(y,'r')•figure•bar3(y,'g')2019/11/9762019/11/9772019/11/9786.3.3二维饼状图•pie命令绘制二维饼图。•pie(x)绘制向量x的饼图,向量x中的每一个元素就是饼图中的一个扇形。•pie(x,explode)参数explode和向量x是同维矩阵,如果其中有非零的元素,x矩阵中对应的位置元素在饼图中对应的扇形将向外移出,加以突出。•pie(x,labels)参数labels用来定义对应扇形的标签。•例:pietu.m2019/11/9792019/11/9802019/11/981•pie3命令绘制三维饼图。•pie3(x)绘制向量x的三维饼图,向量x中的每一个元素就是饼图中的一个扇形。•pie3(x,explode)参数explode和向量x是同维矩阵,如果其中有非零的元素,x矩阵中对应的位置元素在饼图中对应的扇形将向外移出,加以突出。•pie3(x,labels)参数labels用来定义对应扇形的标签。•例:pie3tu.m6.3.4三维饼状图2019/11/9822019/11/9
本文标题:Matlab(R2009a版)-第6讲-MATLAB绘图基础
链接地址:https://www.777doc.com/doc-1792226 .html