首页 MATLAB二维与三维绘图ppt课件

MATLAB二维与三维绘图ppt课件

举报
开通vip

MATLAB二维与三维绘图ppt课件第5章MATLAB绘图5.1二维图形5.2三维图形5.3三维图形的精细处理.5.1二维图形5.1.1绘制二维曲线的基本函数1.plot函数的基本用法plot函数的基本调用格式为:plot(x,y)其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。.例5.2在0≤X≤2区间内,绘制曲线y=2e-0.5xsin(2πx)。程序如下:x=0:pi/100:2*pi;y=2*exp(-0.5*x).*sin(2*pi*x);plot(x,y)例5.1绘制参数方程曲线。程序如下:t=-pi:pi/100:pi;x...

MATLAB二维与三维绘图ppt课件
第5章MATLAB绘图5.1二维图形5.2三维图形5.3三维图形的精细处理.5.1二维图形5.1.1绘制二维曲线的基本函数1.plot函数的基本用法plot函数的基本调用格式为:plot(x,y)其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。.例5.2在0≤X≤2区间内,绘制曲线y=2e-0.5xsin(2πx)。程序如下:x=0:pi/100:2*pi;y=2*exp(-0.5*x).*sin(2*pi*x);plot(x,y)例5.1绘制参数方程曲线。程序如下:t=-pi:pi/100:pi;x=t.*cos(3*t);y=t.*sin(t).*sin(t);plot(x,y);.说明:(1)当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。(2)当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同色彩的曲线。曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。(3)plot函数最简单的调用格式是只包含一个输入参数:plot(x)。.2.含多个输入参数的plot函数含多个输入参数的plot函数调用格式为:plot(x1,y1,x2,y2,…,xn,yn)3.含选项的plot函数含选项的plot函数调用格式为:plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)(见).Plot()函数选项.例5.3用不同线型和颜色在同一坐标内绘制曲线y=2e-0.5xsin(2πx)及其包络线。.例5.3用不同线型和颜色在同一坐标内绘制曲线y=2e-0.5xsin(2πx)及其包络线。程序如下:x=(0:pi/100:2*pi);y1=2*exp(-0.5*x)*[1,-1];y2=2*exp(-0.5*x).*sin(2*pi*x);x1=(0:12)/2;y3=2*exp(-0.5*x1).*sin(2*pi*x1);plot(x,y1,'g:',x,y2,'b--',x1,y3,'rp');.4.双纵坐标函数plotyyplotyy函数是MATLAB5.X新增的函数。它能把函数值具有不同量纲、不同数量级的两个函数绘制在同一坐标中。调用格式为:plotyy(x1,y1,x2,y2)其中x1-y1对应一条曲线,x2-y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1-y1数据对,右纵坐标用于x2-y2数据对。.例5.4用不同标度在同一坐标内绘制曲线y1=e-0.5xsin(2πx)及曲线y2=1.5e-0.1xsin(x)。.5.1.2绘制图形的辅助操作1.图形标注有关图形标注函数的调用格式为:title(图形名称)xlabel(x轴说明)ylabel(y轴说明)text(x,y,图形说明)legend(图例1,图例2,…).2.坐标控制函数的调用格式为:axis([xminxmaxyminymaxzminzmax])axis函数功能丰富,常用的用法还有:axisequal纵、横坐标轴采用等长刻度axissquare产生正方形坐标系(缺省为矩形)axisauto使用缺省设置axisoff取消坐标轴axison显示坐标轴gridon/off命令控制是画还是不画网格线,不带参数的grid命令在两种状态之间进行切换。boxon/off命令控制是加还是不加边框线,不带参数的box命令在两种状态之间进行切换。.例5.5绘制分段函数曲线并添加图形标注。程序如下:.3.图形保持一般情况下,绘图命令每执行一次就刷新当前图形窗口,图形窗口原有图形将不复存在。若希望在已存在的图形上再继续添加新的图形,可使用图形保持命令hold。holdon/off命令控制是保持原有图形还是刷新原有图形,不带参数的hold命令在两种状态之间进行切换。X=0:0.1:2*pi;Plot(x,sin(x));Holdon;Plot(x,cos(x));Holdoff;Plot(x,tan(x));.4.图形窗口的分割subplot函数的调用格式为:subplot(m,n,p)mnp.4.图形窗口的分割subplot函数的调用格式为:subplot(m,n,p)例5.7在一个图形窗口中以子图形式同时绘制正弦、余弦、正切、余切曲线。程序如下:x=linspace(0,2*pi,60);y=sin(x);z=cos(x);t=sin(x)./(cos(x)+eps);ct=cos(x)./(sin(x)+eps);subplot(2,2,1);plot(x,y);title('sin(x)');axis([0,2*pi,-1,1]);holdon;subplot(2,2,2);plot(x,z);title('cos(x)');axis([0,2*pi,–1,1]);subplot(2,2,3);plot(x,t);title('tangent(x)');axis([0,2*pi,-40,40]);subplot(2,2,4);plot(x,ct);title('cotangent(x)');axis([0,2*pi,-40,40]);..5.1.3绘制二维图形的其他函数1.其他形式的线性直角坐标图在线性直角坐标系中,其他形式的图形有条形图、阶梯图、杆图和填充图等,所采用的函数分别是:bar(x,y,选项)stairs(x,y,选项)stem(x,y,选项)fill(x1,y1,选项1,x2,y2,选项2,…)与plot参数相同必须是相同的一维向量,首尾自动相连,构成多边形.例5.8分别以条形图、填充图、阶梯图和杆图形式绘制曲线y=2e-0.5x。程序如下:x=0:0.35:7;y=2*exp(-0.5*x);subplot(2,2,1);bar(x,y,'g');title('bar(x,y,''g'')');axis([0,7,0,2]);subplot(2,2,2);fill(x,y,'r');title('fill(x,y,''r'')');axis([0,7,0,2]);subplot(2,2,3);stairs(x,y,'b');title('stairs(x,y,''b'')');axis([0,7,0,2]);subplot(2,2,4);stem(x,y,'k');title('stem(x,y,''k'')');axis([0,7,0,2]);.2.极坐标图polar函数用来绘制极坐标图,其调用格式为:polar(theta,rho,选项)其中theta为极坐标极角,rho为极坐标矢径,选项的内容与plot函数相似。例5.9绘制ρ=sin(2θ)cos(2θ)的极坐标图。程序如下:theta=0:0.01:2*pi;rho=sin(2*theta).*cos(2*theta);polar(theta,rho,'k');.3.对数坐标图形MATLAB提供了绘制对数和半对数坐标曲线的函数,调用格式为:semilogx(x1,y1,选项1,x2,y2,选项2,…)semilogy(x1,y1,选项1,x2,y2,选项2,…)loglog(x1,y1,选项1,x2,y2,选项2,…).4.对函数自适应采样的绘图函数fplot函数的调用格式为:fplot(fname,lims,tol,选项)例5.11用fplot函数绘制f(x)=cos(tan(πx))的曲线。先建立函数文件myf.m:functiony=myf(x)y=cos(tan(pi*x));再用fplot函数绘制myf.m函数的曲线:fplot('myf',[-0.4,1.4],1e-4)方法2方法1方法3?内联函数.5.其他形式的图形MATLAB提供的绘图函数还有很多,例如,用来 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示各元素占总和的百分比的饼图、复数的相量图等等。pie([])例5.12绘制图形:某次考试优秀、良好、中等、及格、不及格的人数分别为:7,17,23,19,5,试用饼图作成绩统计分析。程序如下:pie([7,17,23,19,5]);title('饼图');legend('优秀','良好','中等','及格','不及格');.第5章MATLAB绘图5.1二维图形5.2三维图形5.3三维图形的精细处理.5.2三维图形5.2.1绘制三维曲线的基本函数plot3函数与plot函数用法十分相似,其调用格式为:plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)例5.13绘制空间曲线。程序如下:t=0:pi/50:2*pi;x=8*cos(t);y=4*sqrt(2)*sin(t);z=-4*sqrt(2)*sin(t);plot3(x,y,z,'p');title('Linein3-DSpace');text(0,0,0,'origin');xlabel('X'),ylabel('Y'),zlabel('Z');grid;.5.2.2三维曲面1.平面网格坐标矩阵的生成(1)利用meshgrid函数生成。x=a:dx:b;y=c:dy:d;[X,Y]=meshgrid(x,y);(2)利用矩阵运算生成。x=a:dx:b;y=(c:dy:d)';X=ones(size(y))*x;Y=y*ones(size(x));.2.绘制三维曲面的函数surf函数和mesh函数的调用格式为:mesh(x,y,z,c)surf(x,y,z,c)例5.15用三维曲面图表现函数z=sin(y)cos(x)。程序1:x=0:0.1:2*pi;[x,y]=meshgrid(x);z=sin(y).*cos(x);mesh(x,y,z);xlabel('x-axis'),ylabel('y-axis'),zlabel('z-axis');title('mesh');程序2:x=0:0.1:2*pi;[x,y]=meshgrid(x);z=sin(y).*cos(x);surf(x,y,z);xlabel('x-axis'),ylabel('y-axis'),zlabel('z-axis');title('surf');程序3:x=0:0.1:2*pi;[x,y]=meshgrid(x);z=sin(y).*cos(x);plot3(x,y,z);xlabel('x-axis'),ylabel('y-axis'),zlabel('z-axis');title('plot3-1');grid;.例5.16绘制两个直径相等的圆管的相交图形。程序如下:%两个等直径圆管的交线m=30;z=1.2*(0:m)/m;r=ones(size(z));theta=(0:m)/m*2*pi;x1=r'*cos(theta);y1=r'*sin(theta);%生成第一个圆管的坐标矩阵z1=z'*ones(1,m+1);x=(-m:2:m)/m;x2=x'*ones(1,m+1);y2=r'*cos(theta);%生成第二个圆管的坐标矩阵z2=r'*sin(theta);surf(x1,y1,z1);%绘制竖立的圆管axisequal,axisoffholdonsurf(x2,y2,z2);%绘制平放的圆管axisequal,axisofftitle('两个等直径圆管的交线');holdoff.例5.17分析由函数z=x2-2y2构成的曲面形状及与平面z=a的交线。程序如下:[x,y]=meshgrid(-10:0.2:10);z1=(x.^2-2*y.^2)+eps;%第1个曲面a=input('a=?');z2=a*ones(size(x));%第2个曲面subplot(1,2,1);mesh(x,y,z1);holdon;mesh(x,y,z2);%分别画出两个曲面v=[-10,10,-10,10,-100,100];axis(v);grid;%第1子图的坐标设置holdoff;r0=abs(z1-z2)<=1;%求两曲面z坐标差小于1的点xx=r0.*x;yy=r0.*y;zz=r0.*z2;%求这些点上的x,y,z坐标,即交线坐标subplot(1,2,2);plot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),'*');%在第2子图画出交线axis(v);grid;%第2子图的坐标设置.3. 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 三维曲面sphere函数的调用格式为:[x,y,z]=sphere(n)%用法cylinder函数的调用格式为:[x,y,z]=cylinder(R,n)MATLAB还有一个peaks函数,称为多峰函数,常用于三维曲面的演示。[x,y,z]为球心相对坐标球心半径R=[xyz]*倍数.例5.18在xy平面内选择区域[-8,8]×[-8,8],绘制函数的4种三维曲面图。meshcmeshzsurfcsurfl程序如下:[x,y]=meshgrid(-8:0.5:8);z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps);subplot(2,2,1);meshc(x,y,z);title('meshc(x,y,z)')subplot(2,2,2);meshz(x,y,z);title('meshz(x,y,z)')subplot(2,2,3);surfc(x,y,z)title('surfc(x,y,z)')subplot(2,2,4);surfl(x,y,z)title('surfl(x,y,z)').5.2.3其他三维图形条形图、饼图和填充图等特殊图形,它们还可以以三维形式出现,使用的函数分别是bar3、pie3和fill3。.例5.20绘制三维图形:(1)绘制魔方阵的三维条形图。(2)以三维杆图形式绘制曲线y=2sin(x)。(3)已知x=[2347,1827,2043,3025],绘制三维饼图。(4)用随机的顶点坐标值画出五个黄色三角形。程序如下:subplot(2,2,1);bar3(magic(4))subplot(2,2,2);y=2*sin(0:pi/10:2*pi);stem3(y);subplot(2,2,3);pie3([2347,1827,2043,3025]);subplot(2,2,4);fill3(rand(3,5),rand(3,5),rand(3,5),'y').例5.21绘制多峰函数(peaks)的瀑布图和等高线图。程序如下:subplot(1,2,1);[X,Y,Z]=peaks(30);waterfall(X,Y,Z)xlabel('X-axis'),ylabel('Y-axis'),zlabel('Z-axis');subplot(1,2,2);contour3(X,Y,Z,12,'k');%其中12代表高度的等级数xlabel('X-axis'),ylabel('Y-axis'),zlabel('Z-axis');此外,还有三维曲面的等高线图。等高线图分二维和三维两种形式,分别使用函数contour和contour3绘制。Waterfall瀑布图.分析由函数z=x2-2y2构成的曲面形状及与平面z=a的交线程序如下:[x,y]=meshgrid(-10:0.2:10);z1=(x.^2-2*y.^2)+eps;%第1个曲面a=input('a=?');z2=a*ones(size(x));%第2个曲面subplot(1,2,1);mesh(x,y,z1);holdon;mesh(x,y,z2);%分别画出两个曲面v=[-10,10,-10,10,-100,100];axis(v);grid;%第1子图的坐标设置holdoff;r0=abs(z1-z2)<=1;%求两曲面z坐标差小于1的点xx=r0.*x;yy=r0.*y;zz=r0.*z2;%求这些点上的x,y,z坐标,即交线坐标subplot(1,2,2);plot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),'*');%在第2子图画出交线axis(v);grid;%第2子图的坐标设置.第5章MATLAB绘图5.1二维图形5.2三维图形5.3三维图形的精细处理.5.3.1视点处理MATLAB提供了设置视点的函数view。其调用格式为:view(az,el)其中az为方位角,el为仰角,它们均以度为单位。系统缺省的视点定义为方位角-37.5°,仰角30°。5.3三维图形的精细处理.例5.22从不同视点绘制多峰函数曲面。程序如下:subplot(2,2,1);mesh(peaks);view(-37.5,30);%指定子图1的视点title('azimuth=-37.5,elevation=30')subplot(2,2,2);mesh(peaks);view(0,90);%指定子图2的视点title('azimuth=0,elevation=90')subplot(2,2,3);mesh(peaks);view(90,0);%指定子图3的视点title('azimuth=90,elevation=0')subplot(2,2,4);mesh(peaks);view(-7,-10);%指定子图4的视点title('azimuth=-7,elevation=-10').5.3.2色彩处理1.颜色的向量表示MATLAB除用字符表示颜色外,还可以用含有3个元素的向量表示颜色。2.色图色图是m×3的数值矩阵,它的每一行是RGB三元组。色图矩阵可以人为地生成,也可以调用MATLAB提供的函数来定义色图矩阵。除plot及其派生函数外,mesh、surf等函数均使用色图着色。图形窗口色图的设置和改变,使用函数:colormap(m)其中m代表色图矩阵。3.三维表面图形的着色三维表面图实际上就是在网格图的每一个网格片上涂上颜色。surf函数用缺省的着色方式对网格片着色。除此之外,还可以用shading命令来改变着色方式。.例5.233种图形着色方式的效果展示。程序如下:z=peaks(20);colormap(copper);subplot(1,3,1);surf(z);subplot(1,3,2);surf(z);shadingflat;subplot(1,3,3);surf(z);shadinginterp;.5.3.3图形的裁剪处理MATLAB定义的NaN常数可以用于表示那些不可使用的数据,利用这种特性,可以将图形中需要裁剪部分对应的函数值设置成NaN,这样在绘制图形时,函数值为NaN的部分将不显示出来,从而达到对图形进行裁剪的目的。例如,要削掉正弦波顶部或底部大于0.5的部分,可使用下面的程序:x=0:pi/10:4*pi;y=sin(x);i=find(abs(y)>0.5);x(i)=NaN;plot(x,y);.例5.24绘制两个球面,其中一个球在另一个球里面,将外面的球裁掉一部分,使得能看见里面的球。程序如下:[x,y,z]=sphere(20);%生成外面的大球z1=z;z1(:,1:4)=NaN;%将大球裁掉一部分c1=ones(size(z1));surf(3*x,3*y,3*z1,c1);%生成里面的小球holdonz2=z;c2=2*ones(size(z2));c2(:,1:4)=3*ones(size(c2(:,1:4)));surf(1.5*x,1.5*y,1.5*z2,c2);colormap([0,1,0;0.5,0,0;1,0,0]);gridonholdoff.
本文档为【MATLAB二维与三维绘图ppt课件】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
爱赢
公司经营范围:网络软件设计、制作、图文设计、影视制作(编辑)
格式:ppt
大小:8MB
软件:PowerPoint
页数:0
分类:教育学
上传时间:2021-02-24
浏览量:22