MATLAB绘图PPT课件_第1页
MATLAB绘图PPT课件_第2页
MATLAB绘图PPT课件_第3页
MATLAB绘图PPT课件_第4页
MATLAB绘图PPT课件_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.,1,MATLAB绘图,1MATLAB二维曲线绘图1.1基本绘图指令1.plot(Y)功能:画一条或多条折线图.,例4-1运行下列命令Y=2,3,5,6;8,5,7,4;4,5,6,7plot(Y),.,2,(2)plot(X,Y)功能:画一条或几条折线图,X,Y可以是向量或矩阵.例4-2在-,上,绘制y=sinx的图形.解:MATLAB命令为x=-pi:pi/50:pi;y=sin(x);plot(x,y),gridon,.,3,例4-3画出椭圆的曲线图.,解:椭圆的参数方程为x=5costy=9sint,(0t2)MATLAB命令为:t=0:pi/50:2*pi;x=5*cos(t);y=9*sin(t);plot(x,y),gridon,.,4,例4-4绘制两条曲线的图形.,解:MATLAB命令为:x=-2*pi:pi/50:2*pi;y=sin(x+3);exp(sin(x);plot(x,y),gridon,.,5,(3)plot(X1,Y1,X2,Y2,X3,Y3,)功能:在同一图形窗口画出多条折线或曲线。,例4-5在同一图形窗口画出三个函数y=2x,y=cosx,y=sinx的图形,-3x3.,解:MATLAB命令为x=-3:0.1:3;y1=2*x;y2=cos(x);y3=sin(x);plot(x,y1,*,x,y2,P,x,y3)legend(2*x,cos(x),sin(x),.,6,2.loglog函数,例4-6绘制函数y=ex双轴对数图形.,解:x=1:10y=exp(x)loglog(x,y),3.单轴对数图形函数semilogx和semilogy,例4-7绘制函数y=ex的单轴对数图形,其中纵轴采用对数坐标,横轴采用线性坐标.,解:x=1:10y=exp(x)semilogy(x,y),.,7,双坐标轴函数plotyy,例4-8利用plotyy来绘制多轴标度图形.,解:x=0:0.01:20;y1=200*exp(-0.5*x).*sin(x);y2=0.8*exp(-0.5*x).*sin(10*x);ax,h1,h2=plotyy(x,y1,x,y2);set(get(ax(1),ylabel),string,慢衰减)set(get(ax(2),ylabel),string,快衰减)xlabel(时间)title(不同衰减速度对比),.,8,1.2基本绘图控制参数,(1)图形窗口figure命令格式:figure;figure(n);,(2)清除图形窗口clf,(3)控制分隔线gridgridon(使用网格线);gridoff(取消分隔线);,(4)图形的重叠绘制hold(on|off),(5)取点指令ginput;ginput(n),.,9,例4-9利用hold指令,grid指令在同一坐标系中画出为两条曲线.y=cosx,y=sinx0x2,解:x=0:pi/50:2*pi;y1=cos(x);y2=sin(x);plot(x,y1,b*)holdon,plot(x,y2,r.),gridon,.,10,1.3坐标轴的控制,P43,1.4线条属性,格式:plot(x,y,LineSpec,PropertyName,PropertyValue,.),其中:LineSpec是指线条的如下三个属性:线型,标记类型及颜色,并用一个字符串来完成.如plot(x,y,-db),1)颜色控制表4-1y-黄色m-洋红c-青色r-红色g-绿色b-蓝色w-白色k-黑色,.,11,2)标记类型,表4-2标记类型,.,12,3)线型,表4-3线型控制表,.,13,4)标记类型控制表,线条宽度:linewidth(单位为像素)标记大小:markersize(单位为像素)标记面填充颜色:markerfacecolor(见表4-1)标记周边颜色:markeredgecolor(见表4-1),例4-10绘制函数y=cos2t的图像,并定义线条的属性。,解MATLAB命令为:t=0:pi/25:2*pi;plot(t,cos(2*t),-mo,linewidth,2,markeredgecolor,k,markerfacecolor,0.4910.63,markersize,10),.,14,1.5图形的标注,1.图名标注(在figure中),1)Insert-Title2)Tools-EditPlot在图形内双击空白区3)使用title函数标注图名title(string)title(.,PropertyName,PropertyValue,.),2.坐标轴标注,xlabel(string)xlabel(fname)xlabel(.,PropertyName,PropertyValue,.)ylabel,zlabel与xlabel相同,.,15,3.图形标注,text(x,y,string)text(x,y,z,string)text(.PropertyName,PropertyValue,.),gtext(string)在鼠标指定位置上标注,图例标注,菜单Insert-legend命令legend(string1,string2,.),.,16,1.6一个图形窗口多个子图的绘制,subplot(m,n,i)把图形窗口分为m*n个子图,并在第i个子图中画图,例4-11在同一坐标系中画出两个函数,y=cos2x,y=sinxsin6x的图形,自变量的范围为0x,函数y=cos2x用红色星号,函数y=sinxsin6x用蓝色实线,并加图名、坐标轴、图形、图例标注,解MATLAB命令为:x=0:pi/50:pi;y1=cos(2*x);y2=sin(x).*sin(6*x);plot(x,y1,r*,x,y2,b-),gridontitle(曲线y1=cos(2x)曲线y2=sin(x)sin(6x)xlabel(x轴),ylabel(y轴)gtext(y1=cos(2x),gtext(y2=sin(x)sin(6x)legend(y1=cos(2x),y2=sin(x)sin(6x),.,17,例4-12演示subplot指令对图形窗口的分割,解MATLAB命令为:clf;x=-2:0.2:2;y1=x+sin(x);y2=sin(x)./x;y3=x.2;subplot(2,2,1),plot(x,y1,m.),gridon,title(y=x+sinx)subplot(2,2,2),plot(x,y2,rp),gridon,title(y=sinx/x)subplot(position,0.2,0.05,0.6,0.45),plot(x,y3),gridon,text(0.3,2.3,x2),.,18,1.7绘制数值函数二维曲线的指令fplot,fplot的格式:fplot(fun,limits,tol,linespec),说明:fun是函数名,可以是函数串及自定义函数;limits是坐标轴的取值范围;tol是相对误差,默认值为2e-3;linespec是线型,颜色和数据点等设置.,例4-13分别利用指令plot和fplot绘制y=cos(1/x)在区间-1,1的图像,并作比较.,解(1)用plot画图,MATLAB命令为:x=-1:0.1:1;y=cos(1./x)plot(x,y),.,19,(2)用fplot画图,MATLAB命令为:fplot(cos(1./x),-1,1),1.8绘制符号函数二维曲线的指令ezplot,ezplot的格式:ezplot(F,xmin,xmax),说明:F可以是字符串表达式,符号函数,内联函数,但是所有函数都只能是一元函数.如果区间xmin,xmax缺省,为-2,2.,例4-14绘制在区间0,4pi上的图形.,解MATLAB命令为:symstezplot(2/3*exp(-t/2)*cos(3/2*t),0,4*pi),.,20,2MATLAB二维特殊图形,2.1条形图用bar和barh分别绘制二维垂直条形图和二维水平条开形图.1)bar(Y)若Y为向量,则分别显示每个分量的高度,横坐标为1到length(Y);若Y为矩阵,则把Y分解成行向量,再分别画出,横坐标为矩阵的行数.2)bar(X,Y)在指定的横坐标X上画出Y.3)bar(X,Y,width)width为同一组内图形的间距,默认值为0.8.4)bar(X,Y,style)style有两种模式,group模式,若Y为n*m矩阵,则bar显示n组,每一组有m个垂直条形的条形图;stack模式,对Y的每一个行向量显示在一个条形图中,条形图的高度为该行向量的分量的和.,.,21,例4-15使用bar和barh绘图,解MATLAB命令为:y=rand(6,4)*8;subplot(2,2,1),bar(y,group),title(group)subplot(2,2,2),bar(y,stack),title(stack)subplot(2,2,3),barh(y,stack),title(stack)subplot(2,2,4),bar(y,1.6),title(group),其它特殊绘图略(见教科书),.,22,3三维曲线绘图,plot3(X,Y,Z,String)plot3(X1,Y1,Z1,String1,X2,Y2,Z2,String1,),空间曲线的参数方程为x=x(t),y=y(t),z=z(t),t为参数。,例4-22绘制三维曲线的图象:,解MATLAB命令为:t=0:pi/10:20*pi;x=t.*sin(t);y=t.*cos(t);z=t;plot3(x,y,z),.,23,例4-23在同一坐标下绘制如下两个函数的图象:,与,解MATLAB命令为:t=linspace(0,10*pi,1001);plot3(t.*sin(t),t.*cos(t),t,t.*sin(t),t.*cos(t),-t),.,24,例4-24使用plot3绘制三维螺线,并用红色星号画出。,解MATLAB命令为:t=0:pi/50:10*pi;plot3(sin(t),cos(t),t,r*);gridon;axissquare,.,25,4三维曲面绘图,1meshgrid命令,二元函数z=f(x,y)的图形是三维空间曲面,MATLAB把函数z=f(x,y)定义在矩形区域D=x0,xmy0,yn上,区域D分成mn个小矩形块.每个小矩形有4个顶点(xi,yi,f(xi,yi),连接4个顶点得到一个空间中的四边形片,所有这些四边形片构成函数的空间网格曲面.用函数meshgrid生成xy平面上的小矩形顶点坐标值的矩阵,也称为格点矩阵,Meshgrid的调用格式:X,Y=meshgrid(x,y)绘制二维图形时生成的小矩形的格点.X,Y=meshgrid(x)等价于X,Y=meshgrid(x,x).X,Y,Z=meshgrid(x,y,z)绘制三维图形时生成的空间曲面的格点.X,Y,Z=meshgrid(x)等价于X,Y,Z=meshgrid(x,x,x),说明:x是区间x0,xm上分划点组成的向量,而y是区间y0,ym上分划点组成的向量.输出向量X和Y都是mn矩阵,而矩阵X的行向量都是x,矩阵Y的列向量都是y.,.,26,例4-25已知向量x=1,23,y=4,7,9,0,生成它们对应的格点矩阵.,解MATLAB命令为:x=123;y=4790;X,Y=meshgrid(x,y),利用函数meshgrid生成格点矩阵,然后求出各格点对应的函数值,就可以利用mesh和surf命令分别生成空间的网格曲面和表面曲面.,2三维网格命令mesh,Mesh调用格式;mesh(X,Y,Z),用来绘制一个网格图,图像的颜色由Z确定。X,Y,Z可以是同维的矩阵,也可以是向量,如果X,Y为向量,必需满足:length(X)=n,length(Y)=m,其中m,n=size(Z).mesh的其它调用格式见P60。,.,27,例4-26画出函数z=x2+y2在-3x,y3上的图形,以及函数z=x2-2y2在-10x,y10上的图形。,解MATLAB命令为:%函数z=x2+y2t1=-3:0.1:3;x1,y1=meshgrid(t1);z1=x1.2+y1.2;subplot(1,2,1),mesh(x1,y1,z1),title(x2+y2)%马鞍面z=x2-2y2t2=-10:0.1:10;x2,y2=meshgrid(t2);z2=x2.2-2*y2.2;subplot(1,2,2),mesh(x2,y2,z2),title(马鞍面),.,28,例4-27分别用指令mesh,meshc,meshz画出在-8x,y8上的图形。,解MATLAB命令为:%函数t=-8:0.1:8;x,y=meshgrid(t);r=sqrt(x.2+y.2)+eps;z=sin(r)./r;subplot(1,3,1),meshc(x,y,z)title(meshc),axis(-88-88-0.50.8)subplot(1,3,2),meshz(x,y,z)title(meshz),axis(-88-88-0.50.8)subplot(1,3,3),mesh(x,y,z)title(mesh),axis(-88-88-0.50.8),.,29,2三维表面命令surf,用法同mesh命令,例4-28画出函数,-2x,y2的图像,比较指令surf与mesh.,解MATLAB命令为:%用mesh完成:t=-2:0.1:2;x,y=meshgrid(t);z=x.*exp(-x.2-y.2);mesh(x,y,z)%用surf完成:t=-2:0.1:2;x,y=meshgrid(t);z=x.*exp(-x.2-y.2);surf(x,y,z),.,30,例4-29画出函数z=x2+y2,-1x,y1的图像,比较指令surf与mesh.,解MATLAB命令为:t=-1:0.1:1;x,y=meshgrid(t);z=x.2+y.2;subplot(1,2,1),mesh(x,y,z),title(网格图)subplot(1,2,2),surf(x,y,z),title(表面图),例4-30用平行截线法讨论由方程构成的马鞍面形状。,解MATLAB命令为:%马鞍面t=-10:0.1:10;x,y=meshgrid(t);z1=(x.2-2*y.2)+eps;subplot(1,3,1),mesh(x,y,z1),title(马鞍面)%平面a=input(a=(-50a50);z2=a*ones(size(x);subplot(1,3,2),mesh(x,y,z2),title(平面)%交线plot3r0=abs(z1-z2)=1;zz=r0.*z2;yy=r0.*y;xx=r0.*x;subplot(1,3,3),plot3(xx(r0=0),yy(r0=0),zz(r0=0),x),title(交线),.,31,4绘制球面和柱面,绘制球面sphere(n)绘制一个单位球面,且球面上分格线条数为n.x,y,z=shpere(n),x,y,z是返回的(n+1)*(n+1)矩阵,且surf(x,y,z)为单位球面.,例4-31画函数x2+y2+z2=1与x2+y2+z2=4的图形.,解MATLAB命令为:%半径为1的球面v=-22-22-22;subplot(121),shpere(30),title(半径为1的球面),axis(v)%半径为2的球面x,y,z=spere(30);subplot(122),surf(2*x,2*y,2*z),title(半径为2的球面),axis(v),.,32,2.绘制柱面,cylinder生成单位柱面x,y,z=cylinder返回半径为1的柱面x,y,z的坐标,然后用surf,mesh绘图.x,y,z=cylinder(r,n)返回用r定义周长曲线的柱面x,y,z的坐标,且柱面上格线条数为n.,解MATLAB命令为:subplot(121),cylinder,%默认的柱面t=-pi:pi/10:pi;X,Y,Z=cylinder(1+sin(t);%改变柱面半径subplot(122)surf(X,Y,Z)axisequare,例4-32画柱面与改变柱面半径的图形.,.,33,5三维图形的控制命令,5.1视角控制命令view,从不同的位置和角度观察图形命令view:,view(az,el)设置查看三维图形的三个角度,其中az为水平方位角,从Y轴负方向开始,以逆时针方向旋转为正;el为垂直方位角,以向Z轴方向的旋转为正,向Z轴负方向的旋转为负.view(x,y,z)在笛卡尔坐标系下的视角.view(2)设置默认的二维视角,此时az=0,el=90.view(3)设置默认的三维视角,此时az=-37.5,el=30.,例4-33绘制函数,并从不同的角度观察图形.,解MATLAB命令为:,t=-2:0.1:2;x,y=meshgrid(t);z=x.*exp(-x.2-y.2);subplot(221),surf(x,y,z)view(3),subplot(222),surf(x,y,z)view(30,30)subplot(223),surf(x,y,z)view(30,0)subplot(224),surf(x,y,z)view(-120,30),.,34,5.2旋转控制命令rotate,rotate(h,direction,alpha)该命令将图形绕方向旋转一个角度.其中参数h表示被旋转的对象参数direction设置有两种方法:球坐标法,设置为theta,phi,其单位为度;直角坐标法,即x,y,z.参数alpha是按右手法旋转的角度,例4-34利用rotate,从不同的角度查看函数,解MATLAB命令为:,t=-2:0.1:2;x,y=meshgrid(t);z=x.*exp(-x.2-y.2);h=surf(z)rotate(h,-2,-2,0,30,2,2,0)colormapcool,说明:使用view旋转的是坐标轴,使用rotate旋转的是图形,轴不变.而命令rotate3d可使用户手动旋转图形.,例4-35利用rotate3d调整函数peaks的视角.,解MATLAB命令为:,surf(peaks(40);rotate3d;,.,35,5.3背景颜色控制命令colordef,colordefwhite将图形的背景色设置为白色.colordefblack将图形的背景色设置为黑色.colordefblack将图形的背景和图形窗口设置为默认色.colordef(fig,color_option)将图形句柄fig图形的背景色设置为由color_option指定的颜色.,例4-36为peaks函数设置不同的背景颜色.,解MATLAB命令为:subplot(131),colordefnone;surf(peaks(35);subplot(132),colordefblack;surf(peaks(35);subplot(133),colordefwhite;surf(peaks(35);,.,36,5.4图形颜色控制命令colormap,colormap(R,G,B其中R,G,B代表一种颜色配色方案,见P71-表4-5.colormap(CM)其中CM代表系统预定义的色图矩阵,见P71-表4-6,例4-37绘制peaks的图形,设置图形的颜色.,解MATLAB命令为:surf

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论