MATLAB绘图.ppt

上传人:豆**** 文档编号:24583025 上传时间:2022-07-05 格式:PPT 页数:42 大小:748.50KB
返回 下载 相关 举报
MATLAB绘图.ppt_第1页
第1页 / 共42页
MATLAB绘图.ppt_第2页
第2页 / 共42页
点击查看更多>>
资源描述

《MATLAB绘图.ppt》由会员分享,可在线阅读,更多相关《MATLAB绘图.ppt(42页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 (2)plot(X,Y)功能:画一条或几条折线图,X,Y可以是向量 或矩阵.例4-2 在-,上,绘制y=sinx的图形.解:MATLAB命令为x=-pi:pi/50:pi;y=sin(x);plot(x,y),grid on 例4-3 画出椭圆 的曲线图.1952222yx解:椭圆的参数方程为 x=5cost y=9sint,(0t2) MATLAB命令为: t=0:pi/50:2*pi; x=5*cos(t); y=9*sin(t); plot(x,y),grid on 例4-4 绘制两条曲线 的图形.)sin(),3sin(xeyxy解:MATLAB命令为:x=-2*pi:pi/50:2

2、*pi;y=sin(x+3);exp(sin(x);plot(x,y),grid on-8-6-4-202468-1-0.500.511.522.53 (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) 2.loglog函数例 4-6 绘制函数y=ex双轴对数图形.解:

3、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) 双坐标轴函数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,慢衰

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

5、y2=sin(x); plot(x,y1,b*) hold on, plot(x,y2,r.),grid on01234567-1-0.8-0.6-0.4-0.200.20.40.60.81 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-黑色2)标记类型表4-2 标记类型绘图字符数据

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

7、keredgecolor,k, markerfacecolor,0.49 1 0.63,markersize,10)01234567-1-0.8-0.6-0.4-0.200.20.40.60.81 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

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

9、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-),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)例 4-12 演示subplot指令对图形窗口的分割解 MATLAB命令为:clf;x=-2:0.2:

10、2;y1=x+sin(x);y2=sin(x)./x;y3=x.2;subplot(2,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) 1.7 绘制数值函数二维曲线的指令绘制数值函数二维曲线的指令fplotfplot的格式:fplot(fun,limits,tol,linespec) 说明:fun是函数名,可以

11、是函数串及自定义函数;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) (2)用fplot画图,MATLAB命令为:fplot(cos(1./x),-1,1) 1.8 绘制符号函数二维曲线的指令绘制符号函数二维曲线的指令ezplotezplot的格式:ezplot(F,xmin,xmax) 说明:F可以是字符串表达式,符号函

12、数,内联函数,但是所有函数都只能是一元函数.如果区间xmin,xmax缺省,为-2,2 .例4-14 绘制 在区间0,4pi上的图形.teyt23cos322解 MATLAB命令为:syms tezplot(2/3*exp(-t/2)*cos(3/2*t),0,4*pi) 2 MATLAB二维特殊图形二维特殊图形 2.1 条形图 用bar和barh分别绘制二维垂直条形图和二维水平条开形图. 1)bar(Y) 若Y为向量,则分别显示每个分量的高度,横坐标为1到length(Y); 若Y为矩阵,则把Y分解成行向量,再分别画出,横坐标为矩阵的行数. 2)bar(X,Y) 在指定的横坐标X上画出Y.

13、3) bar(X,Y,width) width为同一组内图形的间距,默认值为0.8. 4) bar(X,Y,style) style有两种模式,group模式,若Y为n*m矩阵,则bar显示 n组,每一组有m个垂直条形的条形图; stack模式,对Y的每一个行向量显示在 一个条形图中,条形图的高度为该行向量的分量的和.例 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

14、,3),barh(y,stack),title(stack) subplot(2,2,4),bar(y,1.6),title(group)12345602468group1234560102030stack0102030123456stack12345602468stack其它特殊绘图略其它特殊绘图略(见教科书见教科书) 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 绘制三维曲线的图象:tztttyttx)2

15、00( ,cossin解 MATLAB命令为: t=0:pi/10:20*pi; x=t.*sin(t); y=t.*cos(t); z=t; plot3(x,y,z)-100-50050100-100-50050100020406080例4-23 在同一坐标下绘制如下两个函数的图象:tzttyttxcossin与tztttyttx)100(,cossin?解 MATLAB命令为: t=linspace(0,10*pi,1001); plot3(t.*sin(t),t.*cos(t),t, t.*sin(t),t.*cos(t),-t)-40-2002040-40-2002040-40-200

16、2040例4-24 使用plot3绘制三维螺线,并用红色星号画出。解 MATLAB命令为: t=0:pi/50:10*pi; plot3(sin(t),cos(t),t,r*); grid on; axis square-1-0.500.51-1-0.500.51010203040 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个顶点得到一个空间中的四边形片,所有这些四边形片构成

17、函数的空间网格曲面.用函数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.例

18、4-25 已知向量x=1,2 3,y=4 ,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的其它调用格式见P6

19、0。 例 4-26 画出函数z=x2+y2在-3x,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(马鞍面) 例 4-27 分别用指令me

20、sh,meshc,meshz画出 在-8x,y8上的图形。2222/ )sin(yxyxz解 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(-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),axi

21、s(-8 8 -8 8 -0.5 0.8)2222/ )sin(yxyxz 2 三维表面命令surf用法同mesh命令 例4-28 画出函数 ,-2x,y 2的图像,比较指令surf与mesh.)(22yxxez解 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) 例4-29 画出函数 z=x2+y2 ,-1x,y 1的图像,比较指令surf

22、与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(

23、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,3,3),plot3(xx(r0=0),yy(r0=0),zz(r0=0),x), title(交线) 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的图

24、形.解 MATLAB命令为: %半径为1的球面 v=-2 2 -2 2 -2 2; 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)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.解

25、MATLAB命令为: subplot(121),cylinder, %默认的柱面 t=-pi:pi/10:pi; X,Y,Z=cylinder(1+sin(t); %改变柱面半径 subplot(122) surf(X,Y,Z) axis equare例 4-32 画柱面与改变柱面半径的图形. 5 三维图形的控制命令三维图形的控制命令 5.1 视角控制命令view从不同的位置和角度观察图形命令view:l view(az,el) 设置查看三维图形的三个角度,其中az为水平方位角,从Y轴负方向开始,以逆时针方向旋转为正;el为垂直方位角,以向Z轴方向的旋转为正,向Z轴负方向的旋转为负.l vie

26、w(x,y,z) 在笛卡尔坐标系下的视角.l view(2) 设置默认的二维视角,此时az=0,el=90.l view(3) 设置默认的三维视角,此时az=-37.5,el=30.例 4-33 绘制函数 ,并从不同的角度观察图形.22yxxez解 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

27、,y,z)view(-120,30) 5.2 旋转控制命令rotaterotate(h,direction,alpha) 该命令将图形绕方向旋转一个角度.其中参数h表示被旋转的对象参数direction设置有两种方法:球坐标法,设置为theta,phi,其单位为度;直角坐标法,即x,y,z.参数alpha是按右手法旋转的角度例 4-34 利用rotate,从不同的角度查看函数22yxxez解 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 co

28、ol说明说明:使用view旋转的是坐标轴,使用rotate旋转的是图形,轴不变.而命令rotate3d可使用户手动旋转图形.例 4-35 利用rotate3d调整函数peaks的视角.解 MATLAB命令为:surf(peaks(40);rotate3d; 5.3 背景颜色控制命令colordefucolordef white 将图形的背景色设置为白色.ucolordef black 将图形的背景色设置为黑色.ucolordef black 将图形的背景和图形窗口设置为默认色.ucolordef(fig,color_option) 将图形句柄fig图形的背景色设置为 由color_option

29、指定的颜色.例 4-36 为peaks函数设置不同的背景颜色.解 MATLAB命令为: subplot(131),colordef none; surf(peaks(35); subplot(132),colordef black; surf(peaks(35); subplot(133),colordef white; surf(peaks(35); 5.4 图形颜色控制命令colormapcolormap(R,G,B 其中R,G,B代表一种颜色配色方案,见P71-表4-5.colormap(CM) 其中CM代表系统预定义的色图矩阵,见P71-表4-6例 4-37 绘制peaks的图形,设置

30、图形的颜色.解 MATLAB命令为: surf(peaks(100); colormap(cool) 5.5 图形着色控制命令shadingshading flat 使用平滑方式着色.shading interp 使用插值方式着色.shading faceted 以平面为单位进行着色,在flat基础上,在贴片的四 周勾画黑色网线,此为系统的默认值.例 4-38 绘制球的图形,然后进行不同的着色.解 MATLAB命令为: X,Y,Z=sphere(30); subplot(131);surf(X,Y,Z);shading interp subplot(132);surf(X,Y,Z);shadi

31、ng flat subplot(133);surf(X,Y,Z) 5.6 透视控制命令hidden 在三维图形绘图时,三维图形后面的网格线会隐藏重叠,如果需要了解隐藏的网格线,就需要透视控制命令hidden.hidden on 消隐重叠线hidden off 透视重叠线例 4-39 球的透视.解 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

32、 off 5.7 光照控制命令lightlight(PropertyName,Propertyvalue,) 创建光源并设置其值。例 4-40 生成peaks的曲面图,之后添加光源.解 MATLAB命令为: z=peaks(50); surf(z); light(position,20,20,5)习题:1、绘制)4 , 0()3sin(3xxeyx的图像,要求用蓝色的星号画图;并且画出其包络线3xey的图像,用红色的点划线画图。2、用fplot和ezplot命令绘出函数)21sin(32teyt在区间1,10上的图像。3、在同一图形窗口画三个子图8 , 1 ,sin) 3()4 ,(,sin1tan)2(),(,cos113xxeyxxxxyxxxyx)(4、绘制圆锥螺线的图像并加各种标注,其参数方程为:)200( ,26sin6costtzttyttx5、用mesh与surf命令绘制三维曲面z=x2+3y2的图像,并使用不同的着色效果及光照效果。41Thank you!结束结束

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com