收藏 分销(赏)

MATLAB绘图.ppt

上传人:快乐****生活 文档编号:2467881 上传时间:2024-05-30 格式:PPT 页数:41 大小:283.50KB
下载 相关 举报
MATLAB绘图.ppt_第1页
第1页 / 共41页
MATLAB绘图.ppt_第2页
第2页 / 共41页
MATLAB绘图.ppt_第3页
第3页 / 共41页
MATLAB绘图.ppt_第4页
第4页 / 共41页
MATLAB绘图.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

1、MATLAB绘图 1 MATLAB二维曲线绘图 1.1 基本绘图指令1.plot(Y)功能:画一条或多条折线图.例4-1 运行下列命令Y=2,3,5,6;8,5,7,4;4,5,6,7plot(Y)1.(2)plot(X,Y)功能:画一条或几条折线图,X,Y可以是向量 或矩阵.例4-2 在-,上,绘制y=sinx的图形.解:MATLAB命令为x=-pi:pi/50:pi;y=sin(x);plot(x,y),grid on2.例4-3 画出椭圆 的曲线图.解:椭圆的参数方程为 x=5cost y=9sint,(0t2)MATLAB命令为:t=0:pi/50:2*pi;x=5*cos(t);y=

2、9*sin(t);plot(x,y),grid on3.例4-4 绘制两条曲线 的图形.解:MATLAB命令为:x=-2*pi:pi/50:2*pi;y=sin(x+3);exp(sin(x);plot(x,y),grid on4.(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),s

3、in(x)5.2.loglog函数例 4-6 绘制函数y=ex双轴对数图形.解:x=1:10 y=exp(x)loglog(x,y)3.单轴对数图形函数 semilogx和semilogy例 4-7 绘制函数y=ex的单轴对数图形,其中纵轴采用对数坐标,横轴采用线性坐标.解:x=1:10 y=exp(x)semilogy(x,y)6.双坐标轴函数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

4、);set(get(ax(1),ylabel),string,慢衰减)set(get(ax(2),ylabel),string,快衰减)xlabel(时间)title(不同衰减速度对比)7.1.2 基本绘图控制参数(1)图形窗口figure命令格式:figure;figure(n);(2)清除图形窗口clf(3)控制分隔线grid grid on(使用网格线);grid off(取消分隔线);(4)图形的重叠绘制hold (on|off)(5)取点指令ginput;ginput(n)8.例4-9 利用hold指令,grid指令在同一坐标系中画出为两条曲线.y=cosx,y=sinx 0 x2解

5、:x=0:pi/50:2*pi;y1=cos(x);y2=sin(x);plot(x,y1,b*)hold on,plot(x,y2,r.),grid on9.1.3 坐标轴的控制P43 1.4 线条属性格式:plot(x,y,LineSpec,PropertyName,PropertyValue,.)其中:LineSpec是指线条的如下三个属性:线型,标记类型及颜色,并用一个字符串来完成.如plot(x,y,-db)1)颜色控制 表4-1 y-黄色 m-洋红 c-青色 r-红色 g-绿色 b-蓝色 w-白色 k-黑色10.2)标记类型表4-2 标记类型绘图字符数据点绘图字符数据点.黑点D钻石

6、形o小圆圈三角形(向上)差号V三角形(向下)+十字标号三角形(向右)s小方块h六角星p五角星11.3)线型表4-3 线型控制表线型符号线型-实线:点线-.点划线-虚线12.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,markeredgecolo

7、r,k,markerfacecolor,0.49 1 0.63,markersize,10)13.1.5 图形的标注1.图名标注(在figure中)1)Insert-Title2)Tools-Edit Plot在图形内双击空白区3)使用title函数标注图名 title(string)title(.,PropertyName,PropertyValue,.)2.坐标轴标注xlabel(string)xlabel(fname)xlabel(.,PropertyName,PropertyValue,.)ylabel,zlabel与xlabel相同14.3.图形标注text(x,y,string)t

8、ext(x,y,z,string)text(.PropertyName,PropertyValue,.)gtext(string)在鼠标 指定位置上标注 图例标注菜单Insert-legend命令legend(string1,string2,.)15.1.6 一个图形窗口多个子图的绘制subplot(m,n,i)把图形窗口分为m*n个子图,并在第i个子图中画图例 4-11 在同一坐标系中画出两个函数,y=cos2x,y=sinxsin6x的图形,自变量的范围为0 x,函数y=cos2x用红色星号,函数y=sinxsin6x用蓝色实线,并加图名、坐标轴、图形、图例标注解 MATLAB命令为:x=

9、0:pi/50:pi;y1=cos(2*x);y2=sin(x).*sin(6*x);plot(x,y1,r*,x,y2,b-),grid ontitle(曲线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)16.例 4-12 演示subplot指令对图形窗口的分割解 MATLAB命令为:clf;x=-2:0.2:2;y1=x+sin(x);y2=sin(x)./x;y3=x.2;subplot(2,

10、2,1),plot(x,y1,m.),grid on,title(y=x+sinx)subplot(2,2,2),plot(x,y2,rp),grid on,title(y=sinx/x)subplot(position,0.2,0.05,0.6,0.45),plot(x,y3),grid on,text(0.3,2.3,x2)17.1.7 绘制数制数值函数二函数二维曲曲线的指令的指令fplotfplot的格式:fplot(fun,limits,tol,linespec)说明:fun是函数名,可以是函数串及自定义函数;limits是坐标轴的取值范围;tol是相对误差,默认值为2e-3;line

11、spec是线型,颜色和数据点等设置.例 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)18.(2)用fplot画图,MATLAB命令为:fplot(cos(1./x),-1,1)1.8 绘制符号函数二制符号函数二维曲曲线的指令的指令ezplotezplot的格式:ezplot(F,xmin,xmax)说明:F可以是字符串表达式,符号函数,内联函数,但是所有函数都只能是一元函数.如果区间xmin,xmax缺省,为-2,2.例4-14 绘制

12、 在区间0,4pi上的图形.解 MATLAB命令为:syms tezplot(2/3*exp(-t/2)*cos(3/2*t),0,4*pi)19.2 MATLAB二二维特殊特殊图形形 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有两种模式,grou

13、p模式,若Y为n*m矩阵,则bar显示 n组,每一组有m个垂直条形的条形图;stack模式,对Y的每一个行向量显示在 一个条形图中,条形图的高度为该行向量的分量的和.20.例 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)其它特殊其它特殊绘图

14、略略(见教科教科书)21.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)22.例4-23 在同一坐标下绘制如下两个函数的图象:与解 MATLAB命令为:t=linspace(0,10*pi,1001);plot3(t.*sin(t),t.*cos(t),t,t.*s

15、in(t),t.*cos(t),-t)23.例4-24 使用plot3绘制三维螺线,并用红色星号画出。解 MATLAB命令为:t=0:pi/50:10*pi;plot3(sin(t),cos(t),t,r*);grid on;axis square24.4 三三维曲面曲面绘图 1 meshgrid命令 二元函数z=f(x,y)的图形是三维空间曲面,MATLAB把函数z=f(x,y)定义在矩形区域D=x0,xm y0,yn上,区域D分成mn个小矩形块.每个小矩形有4个顶点(xi,yi,f(xi,yi),连接4个顶点得到一个空间中的四边形片,所有这些四边形片构成函数的空间网格曲面.用函数meshg

16、rid生成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.25.例 4-25 已知向量x=1,2 3,y=4

17、,7,9,0,生成它们对应的格点矩阵.解 MATLAB命令为:x=1 2 3;y=4 7 9 0;X,Y=meshgrid(x,y)利用函数meshgrid生成格点矩阵,然后求出各格点对应的函数值,就可以利用mesh和surf命令分别生成空间的网格曲面和表面曲面.2 三维网格命令meshMesh调用格式;mesh(X,Y,Z),用来绘制一个网格图,图像的颜色由Z确定。X,Y,Z可以是同维的矩阵,也可以是向量,如果X,Y为向量,必需满足:length(X)=n,length(Y)=m,其中m,n=size(Z).mesh的其它调用格式见P60。26.例 4-26 画出函数z=x2+y2在-3x,

18、y 3 上的图形,以及函数z=x2-2y2 在-10 x,y 10 上的图形。解 MATLAB命令为:%函数z=x2+y2 t1=-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-2y2 t2=-10:0.1:10;x2,y2=meshgrid(t2);z2=x2.2-2*y2.2;subplot(1,2,2),mesh(x2,y2,z2),title(马鞍面)27.例 4-27 分别用指令mesh,meshc,meshz画出 在-8x,y8上的图形。解 MAT

19、LAB命令为:%函数 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(-8 8-8 8-0.5 0.8)subplot(1,3,2),meshz(x,y,z)title(meshz),axis(-8 8-8 8-0.5 0.8)subplot(1,3,3),mesh(x,y,z)title(mesh),axis(-8 8-8 8-0.5 0.8)28.2 三维表面命令surf用法同mesh命令 例4-28 画出函数 ,-2x,y 2的图

20、像,比较指令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)29.例4-29 画出函数 z=x2+y2,-1x,y 1的图像,比较指令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

21、(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(平面)%交线plot3 r0=abs(z1-z2)=1;zz=r0.*z2;yy=r0.*y;xx=r0.*x;subplot(1,

22、3,3),plot3(xx(r0=0),yy(r0=0),zz(r0=0),x),title(交线)30.4 绘制球面和柱面1.绘制球面 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=-2 2-2 2-2 2;subplot(121),shpere(30),title(半径为1的球面),axis(v)%半径为2的球面 x,y,z=spere(30);su

23、bplot(122),surf(2*x,2*y,2*z),title(半径为2的球面),axis(v)31.2.绘制柱面l cylinder 生成单位柱面l x,y,z=cylinder 返回半径为1的柱面x,y,z的坐标,然后用surf,mesh绘图.l 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)axis eq

24、uare例 4-32 画柱面与改变柱面半径的图形.32.5 三三维图形的控制命令形的控制命令 5.1 视角控制命令view从不同的位置和角度观察图形命令view:l view(az,el)设置查看三维图形的三个角度,其中az为水平方位角,从Y轴负方向开始,以逆时针方向旋转为正;el为垂直方位角,以向Z轴方向的旋转为正,向Z轴负方向的旋转为负.l view(x,y,z)在笛卡尔坐标系下的视角.l view(2)设置默认的二维视角,此时az=0,el=90.l view(3)设置默认的三维视角,此时az=-37.5,el=30.例 4-33 绘制函数 ,并从不同的角度观察图形.解 MATLAB命令

25、为: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)33.5.2 旋转控制命令rotaterotate(h,direction,alpha)该命令将图形绕方向旋转一个角度.其中参数h表示被旋转的对象参数direction设置有两种方法:球坐标法,设置为theta,phi,其单位为度

26、;直角坐标法,即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)colormap cool说明明:使用view旋转的是坐标轴,使用rotate旋转的是图形,轴不变.而命令rotate3d可使用户手动旋转图形.例 4-35 利用rotate3d调整函数peaks的视角.解 MATLAB命令为:surf(peaks(40);rotate3d;34.5.3 背景颜色控

27、制命令colordefucolordef white 将图形的背景色设置为白色.ucolordef black 将图形的背景色设置为黑色.ucolordef black 将图形的背景和图形窗口设置为默认色.ucolordef(fig,color_option)将图形句柄fig图形的背景色设置为 由color_option指定的颜色.例 4-36 为peaks函数设置不同的背景颜色.解 MATLAB命令为:subplot(131),colordef none;surf(peaks(35);subplot(132),colordef black;surf(peaks(35);subplot(133

28、),colordef white;surf(peaks(35);35.5.4 图形颜色控制命令colormapcolormap(R,G,B 其中R,G,B代表一种颜色配色方案,见P71-表4-5.colormap(CM)其中CM代表系统预定义的色图矩阵,见P71-表4-6例 4-37 绘制peaks的图形,设置图形的颜色.解 MATLAB命令为:surf(peaks(100);colormap(cool)5.5 图形着色控制命令shadingshading flat 使用平滑方式着色.shading interp 使用插值方式着色.shading faceted 以平面为单位进行着色,在fla

29、t基础上,在贴片的四 周勾画黑色网线,此为系统的默认值.例 4-38 绘制球的图形,然后进行不同的着色.36.解 MATLAB命令为:X,Y,Z=sphere(30);subplot(131);surf(X,Y,Z);shading interp subplot(132);surf(X,Y,Z);shading flat subplot(133);surf(X,Y,Z)5.6 透视控制命令hidden 在三维图形绘图时,三维图形后面的网格线会隐藏重叠,如果需要了解隐藏的网格线,就需要透视控制命令hidden.hidden on 消隐重叠线hidden off 透视重叠线例 4-39 球的透视.

30、解 MATLAB命令为:X0,Y0,Z0=sphere(30);X=2*X0;Y=2*Y0;Z=2*Z0;surf(X0,Y0,Z0);shading interphold on,mesh(X,Y,Z),colormap(hot),hold offhidden offaxis equal,axis off37.5.7 光照控制命令lightlight(PropertyName,Propertyvalue,)创建光源并设置其值。例 4-40 生成peaks的曲面图,之后添加光源.解 MATLAB命令为:z=peaks(50);surf(z);light(position,20,20,5)38.习题:1、绘制的图像,要求用蓝色的星号画图;并且画出其包络线的图像,用红色的点划线画图。2、用fplot和ezplot命令绘出函数在区间1,10上的图像。3、在同一图形窗口画三个子图39.4、绘制圆锥螺线的图像并加各种标注,其参数方程为:5、用mesh与surf命令绘制三维曲面z=x2+3y2的图像,并使用不同的着色效果及光照效果。40.Thank you!41.

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服