数学建模MALTAB 绘图.ppt_第1页
数学建模MALTAB 绘图.ppt_第2页
数学建模MALTAB 绘图.ppt_第3页
数学建模MALTAB 绘图.ppt_第4页
数学建模MALTAB 绘图.ppt_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

第三节绘图功能,作为一个功能强大的工具软件,Matlab具有很强的图形处理功能,提供了大量的二维、三维图形函数。由于系统采用面向对象的技术和丰富的矩阵运算,所以在图形处理方面即常方便又高效。,实验目录,一、二维图形,三、图形处理,二、三维图形,一、二维图形,Note:作函数关系y(x)的直角坐标图,cs表示颜色和线形。若省略,系统默认是实线;plot命令自动打开一个图形窗口(Figure);用直线连接相邻两数据点来绘制图形根据图形坐标大小自动缩扩坐标轴,将数据标尺及单位标注自动加到两个坐标轴上,可自定坐标轴,可把x,y轴用对数坐标表示.,1、单窗口曲线绘图,plot(x,y,cs),一、二维图形(plot),(一)直角坐标系下图形(离散数据作图),【例】在区间0X2内,绘制正弦曲线Y=SIN(X);,x=0:pi/100:2*pi;y=sin(x);plot(x,y),(5)如果已经存在一个图形窗口,plot命令则清除当前图形,绘制新图形;(6)可单窗口单曲线绘图;可单窗口多曲线绘图;(7)可任意设定曲线颜色和线型;(8)可给图形加坐标网线和图形加注功能.,note:函数plot(x,y1,x,y2,x,y3,),其功能是以公共向量x为X轴,分别以y1,y2,y3,为Y轴,在同一幅图内绘制出多条曲线。,【例】同时绘制正、余弦两条曲线Y1=SIN(X)和Y2=COS(X);,x=0:pi/100:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,x,y2),一、二维图形(plot),【例】用不同线型和颜色重新绘制Y1=SIN(X)和Y2=COS(X);,x=0:pi/100:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,go,x,y2,b-.),note:其中参数go和b-.表示图形的颜色和线型。g表示绿色,o表示图形线型为圆圈;b表示蓝色,-.表示图形线型为点划线。,一、二维图形(plot),字母颜色标点线型y黄色点线m粉红圈线c亮蓝线r大红字线g绿色实线b蓝色星形线w白色:虚线k黑色点划线,常用的线型与颜色,note:该命令将当前图形窗口分成mn个绘图区,即每行n个,共m行,区号按行优先编号,且选定第p个区为当前活动区。,2、单窗口多曲线分图绘图直角坐标系下,一、二维图形(subplot),subplot(m,n,p),(1),functionhhfsinsubplot(2,1,1)ezplot(sin(x),0,2*pi)xlabel(x轴)ylabel(y轴)title(正弦函数)axis(02*pi,-11)gridon,x=linspace(0,2*pi,60);%产生一个0,2pi长度为60的向量y=sin(x);z=cos(x);t=sin(x)./(cos(x)+eps);%eps为系统内部常数,避免分母为零ct=cos(x)./(sin(x)+eps);subplot(2,2,1)%分成22区域且指定1号为活动区plot(x,y)title(sin(x)axis(02*pi,-11);%只显示0,2pi,-1,1的图形,一、二维图形,【例】在一个图形窗口中同时绘制正弦、余弦、正切、余切曲线;,一、二维图形(subplot),subplot(2,2,2);%指定2号为活动区plot(x,z);title(cos(x);axis(02*pi-11);subplot(2,2,3);%指定3号为活动区plot(x,t);title(tangent(x);axis(02*pi-4040);subplot(2,2,4);%指定4号为活动区plot(x,ct);title(cotangent(x);axis(02*pi-4040);,一、二维图形,一、二维图形(subplot),3、符号函数画图(显函数、隐函数和参数方程),(1)字符串显函数、隐函数、参数方程图形,ezplot(f(x),a,b),Note:表示在axb绘制显函数f=f(x)的函数图.,【例】在0,上画y=cosx的图形.,ezplot(sin(x),0,pi),ezplot(f(x,y),xmin,xmax,ymin,ymax),note:表示在区间xminxxmax和yminyymax绘制隐函数f(x,y)=0的函数图.,【例】在-2,0.5,0,2上画隐函数的图.,ezplot(exp(x)+sin(x*y),-2,0.5,0,2),Note:表示在区间tminttmax绘制参数方程x=x(t),y=y(t)的函数图.,ezplot(x(t),y(t),tmin,tmax),,,【例】在0,2上画的星形图.,ezplot(cos(t)3,sin(t)3,0,2*pi),一、二维图形,(2)字符串显函数图形,fplot(fun,lims,tol),Note:(1)fun为函数名,以字符串形式出现。lims为变量取值范围,tol为相对允许误差,其系统默认值为2e-3。(2)fun必须是M文件的函数名或是独立变量为x的字符串.(3)fplot函数不能画参数方程和隐函数图形,但在一个图上可以画多个图形.,【例】在-2,2范围内绘制函数tanh的图形.,fplot(tanh(x),sin(x),cos(x),2*pi*-11-11),fplot(tanh,-2,2),【例】在-1,2上画的图形;,.,1.先建M文件myfun1.m:functionY=myfun1(x)Y=exp(2*x)+sin(3*x.2),2.再输入命令:fplot(myfun1,-1,2),(二)其它坐标系下图形,theta=0:0.01:2*pi;rho=sin(2*theta).*cos(2*theta);polar(theta,rho);%绘制极坐标图命令title(polarplot);,1、极坐标图,Note:绘制极坐标图,theta为极坐标角度,rho为极坐标半径;,polar(theta,rho),【例8】绘制sin(2*)*cos(2*)的极坐标图;,【例】绘制y=|1000sin(4x)|+1的双对数坐标图;,2、对数坐标图形,loglog(x,y)双对数坐标,x=0:0.1:2*pi;y=abs(1000*sin(4*x)+1;loglog(x,y)%双对数坐标绘图命令,【例】以X轴为对数重新绘制上述曲线;x=0:0.01:2*piy=abs(1000*sin(4*x)+1semilogx(x,y)%单对数X轴绘图【例】以Y轴为对数重新绘制上述曲线;x=0:0.01:2*piy=abs(1000*sin(4*x)+1semilogy(x,y)%单对数Y轴绘图,4.2特殊坐标图形,semilogx(x,y)单对数X轴绘图命令semilogy(x,y)单对数Y轴绘图命令,(三)其它图形函数,除plot等基本绘图命令外,Matlab系统提供了许多其它特殊绘图函数,这里举一些代表性例子,更详细的信息用户可随时查阅在线帮助,其对应的M-file文件存放在系统matlabtoolboxmatlab目录下。,4.3其它图形函数,如:x=-2.5:0.25:2.5;y=exp(-x.*x);stairs(x,y);%绘制阶梯图形命令title(stairsplot);,4.3其它图形函数,1、阶梯图形-分布函数图形,stairs(x,y),如:x=-2.5:0.25:2.5;y=exp(-x.*x);bar(x,y);%绘制条形图命令,4.3其它图形函数,2、条形图形频率直方图,bar(x,y),如:绘制一正方形并以黄色填充:x=01240;%正方形顶点坐标向量y=00110;fill(x,y,b)%绘制并以蓝色填充正方形图,4.3其它图形函数,3、填充图形,fill(x,y,c)绘制并填充二维多边图形,Note:x和y为二维多边形顶点坐标向量。字符c规定填充颜色,其取值前已叙述。,Note:Matlab系统可用向量表示颜色,通常称其为颜色向量。基本颜色向量用rgb表示,即RGB颜色组合;以RGB为基本色,通过r,g,b在01范围内的不同取值可以组合出各种颜色。,4.3其它图形函数,再如:x=0:0.025:2*pi;y=sin(3*x);fill(x,y,0.50.30.4)%颜色向量,4、其它特殊二维绘图函数,bar绘制直方图hist绘制统计直方图stairs绘制阶梯图stem绘制火柴杆图rose绘制统计扇形图comet绘制彗星曲线,errorbar绘制误差棒图compass复数向量图(罗盘图)feather复数向量投影图(羽毛图)quiver向量场图area区域图pie饼图convhull凸壳图scatter离散点图,二维绘图函数小结,plot二维图形基本函数fplotf(x)函数曲线绘制fill填充二维多边图形polar极坐标图bar条形图loglog双对数坐标图semilogxX轴为对数的坐标图semilogyY轴为对数的坐标图stairs阶梯形图axis设置坐标轴,4.3其它图形函数,clf清除图形窗口内容close关闭图形窗口figure创建图形窗口grid放置坐标网格线gtext用鼠标放置文本hold保持当前图形窗口内容subplot创建子图text放置文本title放置图形标题xlabel放置X轴坐标标记ylabel放置Y轴坐标标记,二、三维图形,1.plot3函数最基本的三维图形函数为plot3,它是将二维函数plot的有关功能扩展到三维空间,用来绘制三维图形。Plot3(x,y,z,c)Note:函数功能:以向量x,y,z为坐标,绘制三维曲线,其中x,y,z表示三维坐标向量,表示线形或颜色。,4.4三维图形,【例】绘制三维螺旋曲线:t=0:pi/50:10*pi;y1=sin(t),y2=cos(t);plot3(y1,y2,t);title(helix);text(0,0,0,origin);%在(0,0,0)点添加文本框xlabel(sin(t),ylabel(cos(t),zlabel(t);grid;,4.4三维图形,2.mesh函数mesh函数用于绘制三维网格图。在不需要绘制特别精细的三维曲面结构图时,可以通过绘制三维网格图来表示三维曲面。三维曲面的网格图最突出的优点是:它较好地解决了实验数据在三维空间的可视化问题。mesh(x,y,z,c)Note:其中x,y控制X和Y轴坐标,矩阵z是由(x,y)求得Z轴坐标,(x,y,z)组成了三维空间的网格点;c用于控制网格点颜色。,4.4三维图形,【例10】下列程序绘制三维网格曲面图x=0:0.15:2*pi;y=0:0.15:2*pi;z=sin(y)*cos(x);%矩阵相乘mesh(x,y,z);,3.surf函数surf用于绘制三维曲面图,各线条之间的补面用颜色填充。surf函数和mesh函数的调用格式一致。surf(x,y,z)Note:其中x,y控制X和Y轴坐标,矩阵z是由x,y求得的曲面上Z轴坐标。,4.4三维图形,【例11】下列程序绘制三维曲面图形x=0:0.15:2*pi;y=0:0.15:2*pi;z=sin(y)*cos(x);%矩阵相乘surf(x,y,z);xlabel(x-axis),ylabel(y-axis),zlabel(z-label);title(3-Dsurf);,4.视点视点位置可由方位角和仰角表示。方位角又称旋转角为视点位置在XY平面上的投影与X轴形成的角度,正值表示逆时针,负值表示顺时针。仰角又称视角为XY平面的上仰或下俯角,正值表示视点在XY平面上方,负值表示视点在XY平面下方。view(az,el)note:az为方位角,el为仰角。通过系统提供的多峰函数peaks的绘制例子,可进一步说明视点对图形的影响,以及view(az,el)函数的使用。,4.4三维图形,【例12】不同视角图形p=peaks;%系统提供的多峰函数4949矩阵subplot(2,2,1);mesh(peaks,p);%以p为函数值做网格图view(-37.5,30);%指定子图1的视点title(azimuth=-37.5,elevation=30)subplot(2,2,2);mesh(peaks,p);view(-17,60);%指定子图2的视点title(azimuth=-17,elevation=60),4.4三维图形,subplot(2,2,3);mesh(peaks,p);view(-90,0);%指定子图3的视点title(azimuth=-90,elevation=0)subplot(2,2,4);mesh(peaks,p);view(-7,-10);%指定子图4的视点title(azimuth=-7,elevation=-10),5.等高线图contour3(x,y,z,16)【例13】多峰函数peaks的等高线图x,y,z=peaks(30);%在-3,3-3,3上取多峰函数值contour3(x,y,z,16);%画多多峰函数16条等高线。xlabel(x-axis),ylabel(y-axis),zlabel(z-axis);title(contour3ofpeaks),4.4三维图形,三、图形处理,1.图形加注标记,Title(string)在当前图形的顶端上加图例string;Xlabel(string)在当前图形的x轴上加图例string;Ylabel(string)在当前图形的y轴上加图例string;Zlabel(string)在当前图形的z轴上加图例string;gridon(off)-打开、关闭坐标网格线,Legend(添加图例说明),【例】在区间0,2画sin(x)的图形,并加注图例“自变量X”、“函数Y”、“示意图”,并加格栅.,x=linspace(0,2*pi,30);y=sin(x);plot(x,y)xlabel(自变量X)ylabel(函数Y)title(示意图)gridon,gtext(string),Note:用鼠标放置标注在现有的图上时,图形上出现一个交叉的十字,该十字随鼠标的移动移动,当按下鼠标左键时,该标注string放在当前十交叉的位置.,(2),【例】在区间0,2画sin(x),并分别标注“sin(x)”cos(x)”.,x=linspace(0,2*pi,30);y=sin(x);z=cos(x);plot(x,y,x,z)gtext(sin(x);gtext(cos(x),2.设定坐标轴,用户若对坐标系统不满意,可利用axis命令对其重新设定。,axis(xminxmaxyminymax)设定最大和最小值;axis(auto)将坐标系统返回到自动缺省状态;axis(square)将当前图形设置为方形;axis(equal)两个坐标因子设成相等;axis(off)关闭坐标系统,坐标轴、原点都消失axis(on)显示坐标系统.,【例】在区间0.005,0.01显示sin(1/x)的图形.,x=linspace(0.0001,0.01,1000);y=sin(1./x);plot(x,y)axis(0.0050.01-11),3.图形保持,Holdon保持当前图形,以便继续在当前图上画图holdoff释放当前图形窗口,【例】将y=sin(x)、y=cos(x)分别用点和线画出在同一屏幕上.,x=linspace(0,2*pi,30);y=sin(x);z=cos(x)plot(x,z,:)holdonplot(x,y),figure(n)新建第n个窗口,并把它置于其它图形之上,(2),【例】新建两个窗口分别画出y=sin(x),z=cos(x),其中x属于0,2;,x=linspace(0,2*pi,100);y=sin(x);z=cos(x);plot(x,y);%自动出现第一个窗口title(sin(x);pausefigure(2);%在第二窗口绘图plot(x,z);title(cos(x);,4.缩放图形,zoomon为当前图形打开缩放模式zoomoff关闭缩放模式,note:单击鼠标左键,则在当前图形窗口中,以鼠标点中的点为中心的图形放大2倍;单击鼠标右键,则缩小2倍.,x=linspace(0,2*pi,30);y=sin

温馨提示

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

评论

0/150

提交评论