第3讲MATLAB作图.ppt

上传人:仙*** 文档编号:25336303 上传时间:2022-07-11 格式:PPT 页数:36 大小:548.01KB
返回 下载 相关 举报
第3讲MATLAB作图.ppt_第1页
第1页 / 共36页
第3讲MATLAB作图.ppt_第2页
第2页 / 共36页
点击查看更多>>
资源描述

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

1、数学建模与数学实验数学建模与数学实验 MATLAB作图作图二维图形二维图形三维图形三维图形图形处理图形处理实例实例作业作业特殊二、三维图形特殊二、三维图形 MATLAB作图是通过描点、连线来实现的,故在画一个曲线图形之前,必须先取得该图形上的一系列的点的坐标(即横坐标和纵坐标),然后将该点集的坐标传给MATLAB函数画图. 命令为:plot(X,Y,S)plot(X,Y) 画实线plot(X,Y1,S1,X,Y2,S2,X,Yn,Sn) 将多条线画在一起X,Y是向量,分别表示点集的横坐标和纵坐标线型y 黄色黄色 . 点点 - 连线连线m 洋红洋红 o 圈圈 : 短虚线短虚线c 蓝绿色蓝绿色 x

2、 x-符号符号 -. 长短线长短线 r 红色红色 + 加号加号 - 长虚线长虚线1.曲线图曲线图例例 在0,2 用红线画sin x,用绿圈画cos x. x=linspace(0,2*pi,30);y=sin(x);z=cos(x);plot(x,y,r,x,z, g0)解解MATLAB liti1x2.符号函数符号函数(显函数、隐函数和参数方程显函数、隐函数和参数方程)画图画图(1) ezplotezplot(x(t),y(t),tmin,tmax) 表示在区间tminttmax绘制参数方程 x=x(t),y=y(t)的函数图.ezplot(f(x),a,b) 表示在axb绘制显函数f=f(

3、x)的函数图.ezplot(f(x,y),xmin,xmax,ymin,ymax) 表示在区间xminxxmax和 yminyymax绘制隐函数f(x,y)=0的函数图.例例 在0, 上画y=cos x 的图形.解解 输入命令 ezplot(sin(x),0,pi)MATLAB liti25解解 输入命令 ezplot(cos(t)3,sin(t)3,0.2*pi)MATLAB liti41解解 输入命令ezplot(exp(x)+sin(x*y),-2,0.5,0,2)MATLAB liti40(2) fplot注意:1 fun必须是M文件的函数名或是独立变量为x的字符串. 2 fplot函

4、数不能画参数方程和隐函数图形,但在一个图上可以画多个图形.fplot(fun,lims) 表示绘制字符串fun指定的函数在lims=xmin,xmax的图形.解解 先建M文件myfun1.m: function Y=myfun1(x) Y=exp(2*x)+sin(3*x.2)再输入命令:fplot(myfun1,-1,2)MATLAB liti43MATLAB liti28 解解 输入命令: fplot(tanh(x),sin(x),cos(x),2*pi*-1 1 1 1)例例 在-2,2范围内绘制函数tanh的图形.解解 fplot(tanh,-2,2)MATLAB liti423. 对

5、数坐标图对数坐标图 在很多工程问题中,通过对数据进行对数转换可以更清晰地看出数据的某些特征,在对数坐标系中描绘数据点的曲线,可以直接地表现对数转换.对数转换有双对数坐标转换和单轴对数坐标转换两种.用loglog函数可以实现双对数坐标转换,用semilogx和semilogy函数可以实现单轴对数坐标转换.loglog(Y) 表示 x、y坐标都是对数坐标系semilogx(Y) 表示 x坐标轴是对数坐标系semilogy() 表示y坐标轴是对数坐标系plotyy 有两个y坐标轴,一个在左边,一个在右边例例 用方形标记创建一个简单的loglog.解解 输入命令: x=logspace(-1,2);

6、loglog(x,exp(x),-s) grid on %标注格栅MATLAB liti37例例 创建一个简单的半对数坐标图.解解 输入命令: x=0:.1:10; semilogy(x,10.x)MATLAB liti38例例 绘制y=x3的函数图、对数坐标图、半对数坐标图.MATLAB liti22返回三维图形三维图形1. 空间曲线空间曲线2. 空间曲面空间曲面返回plot3(x,y,z,s) 空空 间间 曲曲 线线 1. 一条曲线一条曲线 例例 在区间0,10画出参数曲线 x=sint,y=cost, z=t. MATLAB liti8 解解 t=0:pi/50:10*pi; plot3

7、(sin(t),cos(t),t) rotate3d %旋转n维向量,分别表示曲线上点集的横坐标、纵坐标、函数值指定颜色、线形等 plot3(x,y,z)2. 多条曲线多条曲线例 画多条曲线观察函数Z=(X+Y)2. (这里meshgrid(x,y)的作用是产生一个以向量x为行、向量y为列的矩阵)MATLAB liti9其中x,y,z是都是mn矩阵,其对应的每一列表示一条曲线.解 x=-3:0.1:3;y=1:0.1:5; X,Y=meshgrid(x,y); Z=(X+Y).2; plot3(X,Y,Z)返回空空 间间 曲曲 面面例 画函数Z=(X+Y)2 的图形. 解 x=-3:0.1:3

8、; y=1:0.1:5; X,Y=meshgrid(x,y); Z=(X+Y).2; surf(X,Y,Z) shading flat %将当前图形变得平滑MATLAB liti11(1) surf(x,y,z)画出数据点(x,y,z)表示的曲面数据矩阵.分别表示数据点的横坐标、纵坐标、函数值(2) mesh(x,y,z) 解 x=-3:0.1:3; y=1:0.1:5; X,Y=meshgrid(x,y); Z=(X+Y).2; mesh(X,Y,Z) MATLAB liti24例 画出曲面Z=(X+Y)2在不同视角的网格图. 画网格曲面数据矩阵.分别表示数据点的横坐标、纵坐标、函数值(3)

9、meshz(X,Y,Z) 在网格周围画一个curtain图(如,参考平面)解 输入命令: X,Y=meshgrid(-3:.125:3); Z=praks(X,Y); meshz(X,Y,Z)例例 绘peaks的网格图MATLAB liti36返回在图形上加格栅、图例和标注在图形上加格栅、图例和标注定制坐标定制坐标图形保持图形保持分割窗口分割窗口缩放图形缩放图形改变视角改变视角图形处理返回动动 画画1. 在图形上加格栅、图例和标注在图形上加格栅、图例和标注 (1)GRID ON: 加格栅在当前图上 GRID OFFGRID OFF: 删除格栅处理图形处理图形(2)hh = xlabel(str

10、ing):在当前图形的x轴上加图例stringhh = ylabel(string): 在当前图形的y轴上加图例stringhh = title(string): 在当前图形的顶端上加图例stringhh = zlabel(string): 在当前图形的z轴上加图例string例例 在区间0,2画sin(x)的图形,并加注图例“自变量 X”、“函数Y”、“示意图”, 并加格栅.解解 x=linspace(0,2*pi,30); y=sin(x); plot(x,y) xlabel(自变量X) ylabel(函数Y) title(示意图) grid onMATLAB liti2 (3) hh =

11、 gtext(string) 命令gtext(string)用鼠标放置标注在现有的图上.运行命令gtext(string)时,屏幕上出现当前图形,在图形上出现一个交叉的十字,该十字随鼠标的移动移动,当按下鼠标左键时,该标注string放在当前十交叉的位置. 例例 在区间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)MATLAB liti3返回2. 定制坐标定制坐标Axis(xmin xmax ymin y

12、max zmin zmax)例例 在区间0.005,0.01显示sin(1/x)的图形.解解 x=linspace(0.0001,0.01,1000); y=sin(1./x); plot(x,y) axis(0.005 0.01 1 1)MATLAB liti4返回定制图形坐标将坐标轴返回到自动缺省值Axis autox、y、z的最大、最小值3. 图形保持图形保持(1) hold on hold of例例 将y=sin(x)、y=cos(x)分别用点和线画出在同一屏幕上.解解 x=linspace(0,2*pi,30); y=sin(x); z=cos(x) plot(x,z,:) hold

13、 on Plot(x,y)MATLAB liti5保持当前图形, 以便继续画图到当前图上释放当前图形窗口(2) figure(h)例例 区间0,2 新建两个窗口分别画出y=sin(x); z=cos(x).解解 x=linspace(0,2*pi,100); y=sin(x);z=cos(x); plot(x,y); title(sin(x); pause figure(2); plot(x,z); title(cos(x);MATLAB liti6返回新建h窗口,激活图形使其可见,并把它置于其它图形之上4. 割窗口割窗口h=subplot(mrows,ncols,thisplot) 划分整个

14、作图区域为mrows*ncols块(逐行对块访问)并激活第thisplot块,其后的作图语句将图形画在该块上. 激活已划分为mrows*ncols块的屏幕中的第thisplot块,其后的作图语句将图形画在该块上.命令Subplot(1,1,1)返回非分割状态.subplot(mrows,ncols,thisplot) subplot(1,1,1) 解解x=linspace(0,2*pi,100); y=sin(x); z=cos(x); a=sin(x).*cos(x);b=sin(x)./(cos(x)+eps) subplot(2,2,1);plot(x,y),title(sin(x) s

15、ubplot(2,2,2);plot(x,z),title(cos(x) subplot(2,2,3);plot(x,a),title(sin(x)cos(x) subplot(2,2,4);plot(x,b),title(sin(x)/cos(x)例例 将屏幕分割为四块,并分别画出y=sin(x),z=cos(x),a=sin(x)cos(x),b=sin(x)/cos(x).MATLAB liti7返回5. 缩放图形缩放图形zoom on 单击鼠标左键,则在当前图形窗口中,以鼠标点中的点为中心的图形放大2倍;单击鼠标右键,则缩小2倍.解解 x=linspace(0,2*pi,30); y=

16、sin(x); Plot(x,y) zoom on MATLAB liti13例例 缩放y=sin(x)的图形.zoom off为当前图形打开缩放模式关闭缩放模式返回6. 改变视角改变视角view (1)view(a,b) 命令view(a,b)改变视角到(a,b),a是方位角,b为仰角.缺省视角为(-37.5,30). 解 x=-3:0.1:3; y=1:0.1:5; X,Y=meshgrid(x,y); Z=(X+Y).2; subplot(2,2,1), mesh(X,Y,Z) subplot(2,2,2), mesh(X,Y,Z),view(50,-34) subplot(2,2,3)

17、, mesh(X,Y,Z),view(-60,70) subplot(2,2,4), mesh(X,Y,Z),view(0,1,1)MATLAB liti10例 画出曲面Z=(X+Y)2在不同视角的网格图. view用空间向量表示的,三个量只关心它们的比例,与数值的大小无关,x轴view(1,0,0),y轴view(0,1,0),z 轴view(0,0 ,1).(2)view(x,y,z)返回7. 动画动画 Moviein(),getframe,movie() 函数Moviein()产生一个帧矩阵来存放动画中的帧;函数getframe对当前的图像进行快照;函数movie()按顺序回放各帧.MA

18、TLAB liti14返回 例 将曲面peaks做成动画.解 x,y,z=peaks(30); surf(x,y,z) axis(-3 3 -3 3 -10 10) m=moviein(15); for i=1:15 view(-37.5+24*(i-1),30) m(:,i)=getframe; end movie(m)特殊二、三维图形特殊二、三维图形1. 特殊的二维图形函数特殊的二维图形函数2. 特殊的三维图形函数特殊的三维图形函数返回特殊的二维图形函数特殊的二维图形函数1. 极坐标图:极坐标图:polar (theta,rho,s) 用角度theta(弧度表示)和极半径rho作极坐标图,

19、用s指定线型.例. 2cos2sin的极坐标图形r解:theta=linspace(0,2*pi), rho=sin(2*theta).*cos(2*theta); polar(theta,rho,g) title(Polar plot of sin(2*theta).*cos(2*theta);MATLAB liti15 2. 散点图散点图: scatter(X,Y,S,C) 在向量X和Y的指定位置显示彩色圈X和Y必须大小相同解解 输入命令: load seamount scatter(x,y,5,z)MATLAB liti29 3. 平面等值线图平面等值线图: contour(x,y,z,

20、n) 绘制n个等值线的二维 等值线图解解 输入命令: X,Y=meshgeid(-2:.2:2,-2:.2:3); Z=X.*exp(-X.2-Y.2); C,h=contour(X,Y,Z); clabel(C,h) colormap coolMATLAB liti34 例例 绘制seamount散点图返回特殊的三维图形函数特殊的三维图形函数1. 空间等值线图:空间等值线图: contour 3(x,y,z,n) 其中n表示等值线数.例例 山峰的三维和二维等值线图. 解 x,y,z=peaks; subplot(1,2,1) contour3(x,y,z,16,s) grid, xlabel

21、(x-axis),ylabel(y-axis) zlabel(z-axis) title(contour3 of peaks); subplot(1,2,2) contour(x,y,z,16,s) grid, xlabel(x-axis), ylabel(y-axis) title(contour of peaks);MATLAB liti18 2. 三维散点图三维散点图 scatter3(X,Y,Z,S,C) 在向量X,Y和Z指定的位置上显示彩色圆圈. 向量X,Y和Z的大小必须相同.解解 输入命令:x,y,z=sphere(16);X=x(:)*.5 x(:)*.75 x(:);Y=y(:

22、)*.5 y(:)*.75 y(:);Z=z(:)*.5 z(:)*.75 z(:);S=repmat(1 .75 .5*10,prod(size(x),1);C=repmat(1 2 3,prod(size(x),1);scatter3(X(:),Y(:),Z(:),S(:),C(:),filled),view(-60,60)例例 绘制三维散点图. MATLAB liti32 返回绘制山区地貌图绘制山区地貌图 要在某山区方圆大约27km2范围内修建一条公路,从山脚出发经过一个居民区,再到达一个矿区.横向纵向分别每隔400m测量一次,得到一些地点的高程:(平面区域0 x 5600,0y4800

23、),需作出该山区的地貌图和等高线图. 36003200280024002000160012001480 1500 1550 1510 1430 1300 1200 9801500 1550 1600 1550 1600 1600 1600 15501500 1200 1100 1550 1600 1550 1380 10701500 1200 1100 1350 1450 1200 1150 10101390 1500 1500 1400 900 1100 1060 9501320 1450 1420 1400 1300 700 900 8501130 1250 1280 1230 1040 900 500 700Y/x1200 1600 2000 2400 2800 3200 3600 4000MATLAB shanqu返回返回实验作业实验作业1. 在同一平面中的两个窗口分别画出心形线和马鞍面.要求: 1)在图形上加格栅、图例和标注2)定制坐标3)以不同角度观察马鞍面2. 以不同的视角观察球面 和 圆柱面 所围区域.2222rzyxrxyx22

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

当前位置:首页 > 教育专区 > 小学资料

本站为文档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