试验22三维数据的绘图.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验2.2 三维数据的绘图 实验目的 学会MATLAB软件中三维图形(二元函数)、曲面图形、等高线图的绘图方法。 三维图形包括空间曲面、空间曲线、等高线图等图形。 函数z=f(x,y)的图像一般是一张空间曲面. 一般说来,参数方程组 的图像是空间一条曲线。 如果二元函数z=f(x,y)在平面数集D上有定义,空间曲线 称为函数z=f(x,y)的等高线。 实验内容 1.空间曲线的作图 绘制空间曲线命令:plot3(x,y,z,S)——x,y,z是n维向量,分别表示曲线上点集的横坐标、纵坐标、与竖坐标;S是可选的字符串,用来指定颜色、标记符号和/或线形。 【例题2.5】画出参数曲线的图形。 题目分析:由于参数方程表示的是空间曲线,所以可用plot3命令画出图形,根据plot3命令格式要求,先产生参数t向量,再生成向量X、Y、Z。 解:用plot3作图命令,程序为: t=0:pi/50:10*pi; plot3(sin(t),cos(t),t) title( ‘螺旋线‘ ),xlabel( ‘ sint(t) ‘ ),ylabel( ‘ cos(t) ‘ ),zlabel( ‘ t ‘ ); text(0,0,0, ‘原点‘ ) %在坐标原点(0,0,0)处注解 grid on 运行结果如图2.5所示。 图2.5 说明:(1)从例中可明显看出,二维图形的所有基本特性在三维中仍都存在,如坐标网格、标题等。(2)plot3(X,Y1,S1, X,Y2,S2, ……,X,Yn,Sn)命令可将多条曲线画在一起。 【例题2.6】 设曲面,画出与平面相交的多条曲线。 题目分析:显然平面与x轴的交点坐标构成向量x= (-1.5, -1.0 , -0.5, 0, 0.5, 1.0, 1.5),由命令meshgrid的用法可知,可以用该命令生成二元函数z = f(x,y)中x-y平面上的矩形定义域中数据点矩阵X和Y。 解:选用plot3作图命令,程序为: clear x=-1.5:0.5:1.5; y=-2:0.5:2; [X,Y]=meshgrid(x,y); %生成数据点矩阵X和Y Z=X.^2+Y.^2; plot3(X,Y,Z) title( ‘截痕线‘ ),xlabel( ‘ x ‘ ),ylabel( ‘ y ‘ ),zlabel( ‘ z ‘ ) grid on 运行结果如图2.6所示。 图2.6 说明:从图形容易看出这些曲线是抛物线。 2.空间曲面的作图 (1)绘制空间曲面命令:surf(x,y,z) ——x,y,z是n维向量,分别表示曲线上点集的横坐标、纵坐标与竖坐标。 (2)绘制空间网格曲面命令:mesh(x,y,z) ——x,y,z是n维向量,分别表示曲线上点集的横坐标、纵坐标、与竖坐标。 注意:空间曲面绘图时,首先要利用meshgrid命令在xoy面生成网格线,才可以绘图。 【例题2.7】 绘出旋转抛物面的图形。 解法1:选用surf作图命令,程序为: x=-2:0.05:2; y=-2:0.05:2; [X,Y]=meshgrid(x,y); %生成数据点矩阵X和Y Z=X.^2+Y.^2; surf(X,Y,Z) grid on shading flat %将当前的图形变平滑 运行结果如图2.7所示。 图2.7 解法2:选用mesh作图命令,程序为: x=-2:0.1:2;y=-2:0.1:2; [X,Y]=meshgrid(x,y); Z=X.^2+Y.^2; mesh(X,Y,Z) 运行结果如图2.8所示。 图2.8 说明:(1)由于作图范围是平面上的矩形区域,因此画出的图形位于长方体区域内。(2)程序中对函数图形的属性作了一些处理,比如使当前的图形变平滑等。 利用在x-y平面的矩形网格点上的z轴坐标值,MATLAB定义了一个网格曲面。MATLAB通过将邻接的点用直线连接起来形成网状曲面,其结果好象在数据点有结点的鱼网。 3、曲面的等高线图 等高线命令:contour(z)——把矩阵z中的值作为一个二元函数的值,等高曲线是一个平面的曲线,平面的高度v是Matlab自动取的; [C,h]=contour(x,y,z,n)——(x,y)是平面z=0上点的坐标矩阵,z为相应点的高度值矩阵,有n条等高线。 【例题2.8】在范围内,绘出曲面的等高线。 题目分析:由题目的要求,选用contour作图命令。 解:程序为: x=-2:0.2:2; y=-2:0.2:3; [X,Y]=meshgrid(x,y); Z=X.*exp(-X.^2-Y.^2); [C,h]=contour(X,Y,Z); clabel(C,h); %给等值线图标上高度

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档