收藏 分享(赏)

matlab作图教程.doc

上传人:hwpkd79526 文档编号:9299642 上传时间:2019-08-01 格式:DOC 页数:9 大小:37.50KB
下载 相关 举报
matlab作图教程.doc_第1页
第1页 / 共9页
matlab作图教程.doc_第2页
第2页 / 共9页
matlab作图教程.doc_第3页
第3页 / 共9页
matlab作图教程.doc_第4页
第4页 / 共9页
matlab作图教程.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、matlab 作图教程本文由 hjthjt000 贡献ppt 文档可能在 WAP 端浏览体验不佳。建议您优先选择 TXT,或下载源文件到本机查看。数学建模与数学实验MATLAB 作图 作图后勤工程学院数学教研室 后勤工程学院数学教研室二维图形三维图形图形处理实例特殊二、三维图形 特殊二、作 业1.曲线图 曲线图 Matlab 作图是通过描点、连线来实现的,故在 画一个曲线图形之前,必须先取得该图形上的 一系列的点的坐标(即横坐标和纵坐标) ,然 后将该点集的坐标传给 Matlab 函数画图.命令为: PLOT(X,Y,S)y ?m ?c -. + . 点 黄色 o 圈 洋红 x 蓝绿色 r 长

2、短线 -加号 - 连线 : 短虚线 x-符号 符号 红色 长虚线线型X,Y 是向量,分别表示点集的横坐标和纵坐标PLOT(X,Y)-画实线 PLOT(X,Y1,S1,X,Y2,S2,X,Yn,Sn) -将多条线画在一起例 在0,2*pi用红线画 sin(x),用绿圈画 cos(x). 解 x=linspace(0,2*pi,30); y=sin(x); Matlab liti1 z=cos(x); plot(x,y,r,x,z,g0)2.符号函数 显函数、隐函数和参数方程 画图 符号函数(显函数 隐函数和参数方程)画图 符号函数 显函数、(1) ezplotezplot(f(x),a,b) 表

3、示在 axb 绘制显函数 f=f(x)的函数图 ezplot(f(x,y),xmin,xmax,ymin,ymax) 表示在区间xminxxmax 和 yminyymax 绘制 隐函数 f(x,y)=0 的函数图 ezplot(x(t),y(t),tmin,tmax) 表示在区间tminttmax 绘制参数方程 x=x(t),y=y(t)的函数图例 在0,pi上画 y=cos(x)的图形 解 输入命令 ezplot(sin(x),0,pi)3Matlabliti25例 在0,2*pi上画 x = cos t , y = sin t 星形图Matlab 解 输入命令 ezplot(cos(t)3

4、,sin(t)3,0.2*pi)x3liti41例 在-2,0.5,0,2上画隐函数 e + sin( xy ) = 0 的图解 输入命令 ezplot(exp(x)+sin(x*y),-2,0.5,0,2)Matlabliti40(2) fplotfplot(fun,lims) 表示绘制字符串 fun 指定的函数在 lims=xmin,xmax的图形. 注意: 1 fun 必须是 M 文件的函数名或是独立变量为 x 的字符串. 2 fplot 函数不能画参数方程和隐函数图形, 但在一个图上可以画多个图形。例 在-1,2上画 y = e解2x+ sin(3x 2 ) 的 图形Matlab li

5、ti43先建 M 文件 myfun1.m: function Y=myfun1(x) Y=exp(2*x)+sin(3*x.2) 再输入命令: fplot(myfun1,-1,2)例 在-2,2范围内绘制函数 tanh 的图形 解 fplot(tanh,-2,2)Matlabliti28例 x、y 的取值范围都在- 2 , 2 , 画函数 tanh(x),sin(x),cos(x)的图形解 输入命令: Matlab fplot(tanh(x),sin(x),cos(x),2*pi*-1 1 1 1) liti423. 对数坐标图 在很多工程问题中,通过对数据进行对数转换可以 更清晰地看出数据的

6、某些特征,在对数坐标系中描绘数 据点的曲线,可以直接地表现对数转换.对数转换有双对 数坐标转换和单轴对数坐标转换两种.用 loglog 函数可 以实现双对数坐标转换,用semilogx 和 semilogy 函数可以 实现单轴对数坐标转换. loglog(Y) 表示 x、y 坐标都是对数坐标系 semilogx(Y) semilogy() 表示 x 坐标轴是对数坐标系 表示 y 坐标轴是对数坐标系plotyy 有两个 y 坐标轴,一个在左边,一个在右边例 用方形标记创建一个简单的 loglog 解 输入命令: x=logspace(-1,2); loglog(x,exp(x),-s) grid

7、 on %标注格栅 例 创建一个简单的半对数坐标图 解 输入命令: x=0:.1:10; semilogy(x,10.x)Matlabliti37Matlabliti38例 绘制 y=x3 的函数图、对数坐标图、半对数坐标图 Matlab liti22 返回三维图形 1、空间曲线 、 2、空间曲面 、返回空 1、 一条曲线 、间曲线PLOT3(x,y,z,s)n 维向量,分别表示曲 线上点集的横坐标、纵 坐标、函数值 例 指定颜色、 线形等在区间0,10*pi画出参数曲线 x=sin(t),y=cos(t), z=t. 解 t=0:pi/50:10*pi; plot3(sin(t),cos(t

8、),t) Matlab liti8 rotate3d %旋转2、多条曲线 、 PLOT3(x,y,z)其中 x,y,z 是都是 m*n 矩阵,其对应的每一列表示一条曲线. 例 画多条曲线观察函数 Z=(X+Y).2. 解 x=-3:0.1:3;y=1:0.1:5; X,Y=meshgrid(x,y); Z=(X+Y).2; plot3(X,Y,Z) Matlab liti9(这里 meshgrid(x,y)的作用 是产生一个以向量 x 为行、向量y 为列的矩阵) 返回空(1)间曲面surf(x,y,z) 画出数据点(x,y,z)表示的曲面数据矩阵。分别表示 数据点的横坐标、纵 坐标、函数值例

9、解画函数 Z=(X+Y).2 的图形. x=-3:0.1:3; y=1:0.1:5; Matlab liti11 X,Y=meshgrid(x,y); Z=(X+Y).2; surf(X,Y,Z); shading flat %将当前图形变得平滑(2) Mesh(x,y,z) )画网格曲面数据矩阵。分别表示 数据点的横坐标、纵 坐标、函数值例画出曲面 Z=(X+Y).2 在不同视角的网格图.解 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(3)meshz(X,Y,Z) 在网格周围画一

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

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

12、t(string)命令 gtext(string)用鼠标放置标注在现有的图上. 运行命令 gtext(string)时,屏幕上出现当前图形,在 图形上出现一个交叉的十字,该十字随鼠标的移动移动, 当按下鼠标左键时,该标注 string 放在当前十交叉的位 置. 例 在区间0,2*pi画sin(x),并分别标注“sin(x)” ”cos(x)”. 解 x=linspace(0,2*pi,30); y=sin(x); Matlab liti3 z=cos(x); plot(x,y,x,z) gtext(sin(x);gtext(cos(x)返回2、定制坐标 、 Axis(xmin xmax ymi

13、n ymax zmin zmax) 定制图形坐标 x、y、z 的最大、最小值 Axis auto 将坐标轴返回到自动缺省值例 在区间0.005,0.01显示 sin(1/x)的图形。 解 x=linspace(0.0001,0.01,1000); y=sin(1./x); plot(x,y) Matlab liti4 axis(0.005 0.01 1 1) 返回3、图形保持 、(1) hold on 保持当前图形, 以便继续画图到当前图上 hold of 释放当前图形窗口例 将 y=sin(x)、y=cos(x)分别用点和线画出在同一屏幕上。 解 x=linspace(0,2*pi,30);

14、 y=sin(x); z=cos(x) plot(x,z,:) Matlab liti5 hold on Plot(x,y)(2) figure(h)新建 h 窗口,激活图形使其可见,并把它置 于其它图形之上例区间0,2*pi新建两个窗口分别画出 y=sin(x); z=cos(x)。 解 x=linspace(0,2*pi,100); y=sin(x);z=cos(x); plot(x,y); Matlab liti6 title(sin(x); pause figure(2); plot(x,z); title(cos(x); 返回4、分割窗口 、 h=subplot(mrows,ncol

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

16、lab liti7 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) subplot(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)返回5、缩放图形 、 为当前图形打开缩放模式 单击鼠标左键,则在当前图形窗口中,以鼠标点中的点为 中心的图形放大 2 倍;单击鼠标右

17、键,则缩小 2 倍 zoom on zoom off 关闭缩放模式例 缩放 y=sin(x)的图形 解 x=linspace(0,2*pi,30); y=sin(x); Plot(x,y) zoom on Matlab liti13 返回6. 改变视角 改变视角 view (1)view(a,b) ) 命令view(a,b)改变视角到(a,b),a 是方位角,b 为仰角。 缺省视角为(-37.5,30) 。 (2)view(x,y,z) ) ( , , ) view 用空间矢量表示的,三个量只关心它们的比例,与数 值的大小无关,x轴 view(1,0,0) ,y 轴 view(0,1, 0)

18、,z 轴view(0,0,1) 。 例 画出曲面 Z=(X+Y).2 在不同视角的网格图. 解 x=-3:0.1:3; y=1:0.1:5; Matlab liti10 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), mesh(X,Y,Z),view(-60,70) subplot(2,2,4), mesh(X,Y,Z),view(0,1,1)7. 动画 Moviein(),getframe,movie() 函

19、数 Moviein()产生一个帧矩阵来存放动画中的帧;函 数 getframe 对当前的图象进行快照;函数 movie()按顺序 回放各帧。 例 将曲面 peaks 做成动画。 解 x,y,z=peaks(30); surf(x,y,z) Matlab liti14 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、极坐标图:po

20、lar (theta,rho,s) 、极坐标图: 用角度theta(弧度表示)和极半径 rho 作极坐标图,用 s 指定线型。 例r = sin 2 cos 2 的极坐标图形。解: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 liti152、 散点图 scatter(X,Y,S,C) 、 散点图: ( ) 在向量 X和 Y 的指定位置显示彩色圈X 和 Y 必须大小相同 例 绘制sea

21、mount 散点图 解 输入命令: load seamount scatter(x,y,5,z) Matlab liti293、平面等值线图: 3、平面等值线图: contour (x,y,z,n) 绘制 n 个等值线的二维等值线图 n例 在范围-2x2,-2y3 内绘 z= xex2 ? y2的等值线图解 输入命令: 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返回特殊的三维图形函数1、空间等值线图: contour 3

22、(x,y,z,n) 、空间等值线图: 其中 n 表示等值线数。 例 山峰的三维和二维等值线图。 解 x,y,z=peaks; Matlab liti18 subplot(1,2,1) contour3(x,y,z,16,s) grid, xlabel(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);3、三维散点图 scatte

23、r3(X,Y,Z,S,C) 、 ( ) 在向量 X,Y和 Z 指定的位置上显示彩色圆圈. 向量 X,Y 和 Z 的大小必须相同. 例 绘制三维散点图。解 输入命令: x,y,z=sphere(16); X=x(:)*.5 x(:)*.75 x(:); Matlab liti32 Y=y(:)*.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)返回绘制山区地貌图要在某山区方圆大约 27 平方公里范围内修建一条公路, 从山脚出发经过一个居民区,再到达一个矿区。横向纵向 分别每隔 400米测量一次,得到一些地点的高程:(平面区 域0=x=5600,0=y=4800),需作出该山区的地貌图和等 高线图。 Matlab shanqu返回实验作业1、在同一平面中的两个窗口分别画出心形线和马鞍面。 1、在图形上加格栅、图例和标注 要求: 2、定制坐标 3、以不同角度观察马鞍面x2 + y2 + z 2 = r 2 和 2、以不同的视角观察球面 圆柱面 x 2 + y 2 = rx 所围区域。返回1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报