matlab第3章

上传人:一*** 文档编号:243152501 上传时间:2024-09-17 格式:PPT 页数:33 大小:362KB
返回 下载 相关 举报
matlab第3章_第1页
第1页 / 共33页
matlab第3章_第2页
第2页 / 共33页
matlab第3章_第3页
第3页 / 共33页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,*,第,3,章图形绘制,MATLAB,有两类绘图命令,一类是直接对图形句柄进行操作的低层绘图命令,另一类是在低层命令基础上建立起来的高层绘图命令。高层绘图命令简单明了、方便高效。利用高层绘图函数,用户不需要过多地考虑绘图细节,只需给出一些基本参数就能得到所需图形。,【,本章学习目标,】,掌握绘制二维和三维图形的高层绘图函数。, 掌握图形控制函数的使用方法。, 了解图像处理的基本方法和动画制作的基本原理。,3.1.1,绘制二维曲线,1,plot,函数,plot(x,y),其中,x,和,y,为大小相同的向量,分别用于存储,x,坐标和,y,坐标数据。,【,例,3.1,】,绘制曲线,t=0:0.1:8*pi;,x=cos(t)+t.*sin(t);,y=sin(t)-t.*cos(t);,plot(x,y);,(,2,)当,plot,函数只有一个输入参数时,即,plot(y),若,y,是实型向量,则以该向量元素的下标为横坐标、元素值为纵坐标画出一条连续曲线;若,y,是复数向量,则分别以向量元素实部和虚部为横、纵坐标绘制一条曲线。,x=0:pi/10:2*pi;,y=sin(x);,plot(y),(,3,)当,plot,函数有多个输入参数,且都为向量时,即,plot(x1,y1,x2,y2,xn,yn),其中,,x,1,和,y,1,,,x,2,和,y,2,,,,,xn,和,yn,分别组成一组向量对,每一组向量对的长度可以不同。每一向量对可以绘制出一条曲线,这样可以在同一坐标内绘制出多条曲线。例如,在同一坐标中绘制,3,条幅值不同的正弦曲线,命令也可以写成:,x=0:pi/10:2*pi;,y=sin(x);,plot(x,y,x,y*2,x,y*3),2,具有两个纵坐标标度的图形,绘制出具有不同纵坐标标度的两个图形,可以使用,plotyy,绘图函数。这种图形有利于图形数据的对比分析。,plotyy(x1,y1,x2,y2),其中,,x,1,和,y,1,对应一条曲线,,x,2,和,y,2,对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于,x,1,、,y,1,数据对,右纵坐标用于,x,2,、,y,2,数据对。,【,例,3.2,】,用不同标度在同一坐标内绘制曲线,y,1=0.2e,0.5,x,cos(4,x),和,y2=1.5e,0.5,x,cos(,x,),。,程序如下:,x=0:pi/100:2*pi;,y1=0.2*exp(-0.5*x).*cos(4*pi*x);,y2=1.5*exp(-0.5*x).*cos(pi*x);,plotyy(x,y1,x,y2);,3.1.2,设置曲线样式,MATLAB,提供了一些绘图选项,用于确定所绘曲线的线型、颜色和数据点标记符号。例如,“,b-.”,表示蓝色点画线,“,y:d”,表示黄色虚线并用菱形符标记数据点。当选项省略时,,MATLAB,规定,线型一律用实线,颜色将根据曲线的先后顺序依次采用表,3.2,给出的前,7,种颜色。,要设置曲线样式可以在,plot,函数中加绘图选项,其调用格式为,plot(x1,y1,选项,1,x2,y2,选项,2,xn,yn,选项,n),【,例,3.3,】,在同一坐标内,分别用不同线型和颜色绘制曲线,y,1=0.2e,0.5,x,cos(4,x),和,y2=1.5e,0.5,x,cos(,x,),。标记两曲线交叉点。,程序如下:,x=linspace(0,2*pi,1000);,y1=0.2*exp(-0.5*x).*cos(4*pi*x);,y2=1.5*exp(-0.5*x).*cos(pi*x);,k=find(abs(y1-y2)1e-2); %,查找,y,1,与,y,2,相等点,(,近似相等,),的下标,x1=x(k);%,取,y,1,与,y,2,相等点的,x,坐标,y3=0.2*exp(-0.5*x1).*cos(4*pi*x1); %,求,y,1,与,y,2,值相等点的,y,坐标,plot(x,y1,x,y2,k:,x1,y3,bp);,3.,1.3,图形标注与坐标控制,1,图形标注,在绘制图形的同时,可以对图形加上一些说明,如图形名称、坐标轴说明、图形某一部分的含义等,这些操作称为添加图形标注。有关图形标注函数的调用格式如下。,title,(图形名称),xlabel,(,x,轴说明),ylabel,(,y,轴说明),text,(,x,,,y,,图形说明),legend,(图例,1,,图例,2,,,),title,和,xlabel,、,ylabel,函数分别用于说明图形和坐标轴的名称。,text,函数是在(,x,,,y,)坐标处添加图形说明。添加文本说明也可用,gtext,命令,执行该命令时,十字坐标光标自动跟随鼠标移动,单击鼠标即可将文本放置在十字光标处,如命令,gtext(cos(x),,即可放置字符串,cos,(,x,)。,legend,函数用于绘制曲线所用线型、颜色或数据点标记图例,,上述函数中的说明文字,除使用标准的,ASCII,字符外,还可使用,LaTeX,(,LaTeX,是一种十分流行的数学排版软件)格式的控制字符,这样就可以在图形上添加希腊字母、数学符号、公式等内容。在,MATLAB,支持的,LaTeX,字符串中,用,bf,、,it,、,rm,控制字符分别定义黑体、斜体和正体字符,受,LaTeX,字符串控制部分要加大括号,括起来。,例如使得“,MATLAB”,一词黑体显示,text,(,0.3,0.5,The useful bf MATLAB,),得到标注效果,sin(,t,+,),text(0.3,0.5,sin(omega t+beta),【,例,3.4,】,在,0,x,2,区间内,绘制曲线,y,1=e,0.5,x,和,y,2=cos(4,x,)e,0.5,x,,并添加图形标注。,程序如下:,x=0:pi/100:2*pi;,y1=exp(-0.5*x);,y2=exp(-0.5*x).*sin(2*x);,plot(x,y1,x,y2),title(x from 0 to 2pi);%,加图形标题,xlabel(Variable X);%,加,X,轴说明,ylabel(Variable Y);%,加,Y,轴说明,text(1.5,0.5,曲线,y1=e-0.5x);%,在指定位置添加图形说明,text(3,-0.1,曲线,y2=cos(4pix)e-0.5x);,legend(y1,y2)%,加图例,2,坐标控制,根据要绘制曲线数据的范围选择合适的坐标刻度,axis(xmin xmax ymin ymax),系统按照给出的坐标轴的最小值和最大值选择坐标系范围,axis,函数的其他用法,axis auto,:使用默认设置。,axis equal,:纵、横坐标轴采用等长刻度。,axis square,:产生正方形坐标系(默认为形),axis on/off,:显示,/,取消坐标轴。,给坐标加网格线用,grid,命令来控制,加边框用,box,命令来控制。,grid on/off,命令控制是画还是不画网格线,,box on/off,命令控制是加还是不加边框线。,【,例,3.5,】,绘制曲线,及其包络线。,程序如下:,t=(0:pi/100:pi);,y1=sin(t)*1,-1;,%,包络线函数值,y2=sin(t).*sin(9*t);,plot(t,y1,y2,),grid on;%,加网格线,box on;%,加坐标边框,axis equal%,坐标轴采用等刻度,使用,plot,函数绘图时,都是等间隔取点。,fplot,函数可自适应地对函数进行采样,调用格式为,fplot(fname,lims,tol,选项,),其中,,fname,为函数名,以字符串形式出现。它可以是由多个分量函数构成的行向量,分量函数可以是函数的直接字符串,也可以是内部函数名或函数文件名,但自变量都必须为,x,。,lims,为,x,、,y,的取值范围,以行向量形式出现,取二元向量,xmin,,,xmax,时,,x,轴的范围被人为确定,取四元向量,xmin,,,xmax,,,ymin,,,ymax,时,,x,、,y,轴的范围被人为确定。,tol,为相对允许误差,其系统默认值为,2e,3,。选项定义与,plot,函数相同。例如:,fplot(sin(x),cos(x),0,2*pi,-1.5,1.5,1e-3,r.),观察上述语句绘制的正余弦曲线采样点的分布,可发现曲线变化率大的区段,采样点比较密集。,1,图形窗口的分割,分割后的图形窗口由若干个绘图区组成,每一个绘图区可以建立独立的坐标系并绘制图形。同一图形窗口中的不同图形称为子图。,subplot(m,n,p),该函数将当前图形窗口分成,m,n,个绘图区,即每行,n,个,共,m,行,区号按行优先编号,且选定第,p,个区为当前活动区。在每一个绘图区允许以不同的坐标系单独绘制图形。,【,例,3.7,】,在图形窗口中,以子图形式同时绘制多根曲线。,程序如下:,subplot(2,2,1 3);,fplot(x-cos(x3)-sin(2*x2),-3,3);,xlabel(a);,x=-3:0.1:3;,subplot(2,2,2);,y2 = sin(2.*x.2);,plot(x,y2);xlabel(b); axis(-3 3 -1.2 1.2),subplot(2,2,4);,y3 = cos(x.3);,plot(x,y3);xlabel(c); axis(-3 3 -1.2 1.2); grid on;,2,图形叠加,一般情况下,绘图命令每执行一次就刷新当前图形窗口,图形窗口原有图形将不复存在。若希望在已存在的图形上再叠加新的图形,可使用图形保持命令,hold,。,hold on/off,命令控制是保持原有图形还是刷新原有图形。例如:,x=0:pi/100:2*pi;,y1=0.2*exp(-0.5*x).*cos(4*pi*x);,plot(x,y1),hold on,y2=1.5*exp(-0.5*x).*cos(pi*x);,plot(x,y2);,hold off,2,极坐标图,极坐标图用一个夹角和一段相对中心点,极点的距离来表示数据。,MATLAB,中用,polar,函数来绘制极坐标图,其调用格式为,polar(theta,rho,选项,),其中,,theta,为极坐标极角,,rho,为极坐标矢径,选项的内容与,plot,函数相似。,【,例,3.9,】,已知,t,0,6,,绘制阿基米德螺线,r,=,a,+,bt,图,并标记数据点。,程序如下:,t=0:pi/20:6*pi;a=2;b=3;,r=a+b*t;,polar(t,r,-*);,3.2,三维图形的绘制,3.2.1,三维曲线,最基本的三维图形函数为,plot3,,其调用格式为,plot3(x1,y1,z1,选项,1,x2,y2,z2,选项,2,xn,yn,zn,选 项,n),其中,每一组,x,,,y,,,z,组成一组曲线的坐标参数,选项的定义和,plot,函数相同。当,x,、,y,、,z,是同维向量时,则,x,、,y,、,z,对应元素构成一条三维曲线;当,x,、,y,、,z,是同维矩阵时,则以,x,、,y,、,z,对应列元素绘制三维曲线,曲线条数等于矩阵列数。,【,例,3.13,】,绘制三维曲线。,程序如下:,t=0:pi/10:10*pi;,x=sin(t)+t.*cos(t);,y=cos(t)-t.*sin(t);,z=t;,plot3(x,y,z);,axis(-30 30 -30 30 0 35),title(Line in 3-D Space);,xlabel(X);ylabel(Y);zlabel(Z);,grid on;,3.2.2,三维曲面,MATLAB,中绘制三维网格图和曲面图,先要生成在,xy,平面的网格数据,再以一组,z,轴的数据对应到这个二维的网格,然后调用绘图函数绘制。,1,产生三维数据,在,MATLAB,中产生三维图形数据的方法是:将,x,方向区间,a,,,b,分成,m,份,将,y,方向区间,c,,,d,分成,n,份,由各划分点分别作平行于两坐标轴的直线,将区域,a,,,b,c,,,d,分成,m,n,个小矩形,生成代表每一个小矩形顶点坐标的平面网格坐标矩阵,最后求对应网格坐标的,Z,矩阵。,MATLAB,中的,meshgrid,函数可以将向量转换为矩阵。,meshgrid,函数的调用格式为:,X,Y=meshgrid(x,y);,其中,x,、,y,为向量。,2,绘制三维曲面的函数,MATLAB,提供了,mesh,函数和,surf,函数来绘制三维曲面图。,mesh,函数用于绘制三维网格图;,surf,用于绘制三维曲面图,各线条之间的补面用颜色填充。,surf,函数和,mesh,函数的调用格式为,mesh(x,y,z,c),surf(x,y,z,c),一般情况下,,x,、,y,、,z,是维数相同的矩阵。,x,、,y,是网格坐标矩阵,,z,是网格点上的高度矩阵,,c,用于指定在不同高度下的颜色范围。,c,默认时,,MATLAB,认为,c,=,z,,即颜色的设定是正比于图形的高度的,这样就可以画出层次分明的三维图形。当,x,,,y,是向量时,要求,x,的长度等于,z,矩阵的列,,y,的长度等于,z,矩阵的行,,x,、,y,向量元素的组合构成网格点的,x,、,y,坐标,,z,坐标则取自,z,矩阵,然后绘制三维曲面图。,【,例,3.14,】,绘制三维曲面图,z,=sin,x,2,+cos,y,2,,,x,0,,,,,y,0,,,/2,。,程序如下:,x,y=meshgrid(0:pi/100:pi, 0:pi/100:pi/2);,z=sin(x.2)+cos(y.2);,mesh(x,y,z);,axis(0 4 0 1.8 -1.5 1.5);,【,例,3.22,】,已知 ,绘制三维曲面图,并裁掉图中,x,和,y,都小于,1.5,的部分。,程序如下:,x,y=meshgrid(-5:0.2:5);,z=sin(sqrt(x.2+y.2)./(sqrt(x.2+y.2)+eps);,subplot(1,2,1);mesh(x,y,z);,3,标准三维曲面,(,1,),sphere,函数。,sphere,函数用于绘制三维球面,其调用格式为,x,y,z=sphere(n),该函数将产生(,n,+1,),(,n,+1,)矩阵,x,、,y,、,z,,采用这,3,个矩阵可以绘制出圆心位于原点、半径为,1,的单位球体。若在调用该函数时不带输出参数,则直接绘制所需球面。,n,决定了球面的圆滑程度,其默认值为,20,。若,n,值取得较小,则将绘制出多面体表面图。,(,3,),peaks,函数。,peaks,函数(多峰函数)常用于三维曲面的演示。该函数可以用来生成绘图数据矩阵,例如:,z = peaks(30);,将生成一个,3030,的矩阵,z,,即分别沿,x,和,y,方向将区间,3,,,3,等分成,29,份,并计算这些网格点上的函数值。默认参数时将生成一个,4949,的矩阵。也可以根据网格坐标矩阵,x,、,y,重新计算函数值矩阵。例如:,x,y=meshgrid(-5:0.1:5);,z=peaks(x,y);,生成的数值矩阵可以作为,mesh,、,surf,等函数的参数而绘制出多峰函数曲面图。另外,若在调用,peaks,函数时不带输出参数,则直接绘制出多峰函数曲面图。,3.3,图形修饰处理,3.3.1,视点处理,从不同的视点绘制的图形其形状是不一样的。视点位置可由方位角和仰角表示。方位角又称旋转角,它是视点与原点连线在,xy,平面上的投影与,y,轴负方向形成的角度,正值表示逆时针,负值表示顺时针。仰角又称视角,它是视点与原点连线与,xy,平面的夹角,正值表示视点在,xy,平面上方,负值表示视点在,xy,平面下方。,MATLAB,提供了设置视点的函数,view,,其调用格式为,view(az,el),其中,,az,为方位角,,el,为仰角,它们均以度为单位。系统默认的视点定义为方位角,37.5,,仰角,30,。,3.4,隐函数绘图,如果给定了函数的显式表达式,可以先设置自变量向量,然后根据表达式计算出函数向量,从而用,plot,等函数绘制出图形。但如果函数用隐函数形式给出,如,x,3,+,y,3,5,xy,+1/5=0,,则很难用上述方法绘制出图形。,MATLAB,提供了一个,ezplot,函数绘制二元隐函数图形和,ezplot3,函数绘制三元隐函数图形,下面介绍其用法。,1,ezplot,函数,(,1,)对于一元函数,f,(,x,),,,ezplot,函数的调用格式为,ezplot(f,a,b),在区间,a,x,b,绘制,f,(,x,),的图形。,a,、,b,默认时,在区间,2,x,2,绘制,f,=,f,(,x,),的图形。,(,2,)对于二元函数,f,(,x,y,),,,ezplot,函数的调用格式为,ezplot(f,a,b,c,d),在区间,a,x,b,和,c,y,d,绘制,f,(,x,y,),的图形。,a,、,b,、,c,、,d,默认时,在区间,2,x, 2,和,2,y,2,绘制,f,(,x,y,),的图形。,(,3,)对于参数方程,x,= funx(,t,),和,y,= funy(,t,),,,ezplot,函数的调用格式为,ezplot(x,y, a,b),在区间,a,t,b,绘制,x,=funx(,t,),和,y,=funy(,t,),的图形。,a,、,b,默认时,在区间,0,t,2,绘制图形。,【,例,3.23,】,隐函数绘图应用举例。,程序如下:,subplot(2,2,1);,ezplot(cos(tan(pi*x),0,1),subplot(2,2,3);,ezplot(x2-y4),subplot(2,2,2 4);,ezplot(5*cos(5*t),4*sqrt(2*t) ,0,2*pi);,2,ezplot3,函数,ezplot3,函数的调用格式为,ezplot3(x,y,z,a,b),对于参数方程在区间,a,t,b,绘制,x,=funx(,t,),,,y,=funy(,t,),和,z,=funz(,t,),的图形。未指定区间时,默认在区间,0,t,2,绘制图形。例如,绘制例,3.13,的三维曲线也可以采用以下命令:,ezplot3(sin(t)+t*cos(t),cos(t)-t*sin(t),t,0,10*pi);,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!