Matlab3维立体画图.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Matlab3维立体画图

atlab三维画图 ? (2011-04-12 21:11:26) 转载▼ matlab ? 三维图 分类:?课程学习 今天被matlab画三维图给整疯掉了,想通过三角形两边的变化求一边对角的变化函数图,但是matlab中说这是complex,无法画图,我就想限制值域,这样就是一对一的函数了,但是matlab不知道怎么实现,网上查了查也没找到。就先放一放再说吧。 不过过程中发现matlab画出的图还是很强大且漂亮的。附上两张: 1、mesh函数 [x, y]=meshgrid(-4:.2:4); R=sqrt(x.^2+y.^2); z=-cos(R); mesh(x,y,z) xlabel(x\in[-4,4],fontweight,bold); ylabel(y\in[-4,4],fontweight,bold); zlabel(z=-cos(sqrt(x^2+y^2)),fontweight,bold); title(旋转曲面,fontsize,15,fontweight,bold,fontname,隶书); 二、meshc函数 其他不变,把上面代码中的mash换成mashc,得到的图如下,在网孔线下方绘制了轮廓线。 三、mashz函数 Matlab 三维作图1 画一个可透视的椭球 figure a = 15; b = 10; c = 5; k = 5; n = 2^k-1; theta = pi*(-n:2:n)/n; phi = (pi/2)*(-n:2:n)/n; X = a*cos(phi)*cos(theta); Y = b*cos(phi)*sin(theta); Z = c*sin(phi)*ones(size(theta)); surf(X,Y,Z,FaceColor,interp,... ?? ?EdgeColor,none,... ?? ?FaceLighting,phong) axis tight camlight left alpha(.33)?? % 产生透视效果 这是在7.1.上画的图: ? ?.................... 建立空间等高线[X,Y] = meshgrid([-2:.25:2]); Z = X.*exp(-X.^2-Y.^2); contour3(X,Y,Z,30) h = findobj(Type,patch); set(h,LineWidth,2) title( 空间等高线 ) ? ? .................. ? ? §4.2 三维作图§4.2.1 mesh(Z)语句 mesh(Z)语句可以给出矩阵Z元素的三维消隐图,网络表面由Z坐标点定义,与前面叙述的x-y平面的线格相同,图形由邻近的点连接而成.它可用来显示用其它方式难以输出的包含大量数据的大型矩阵,也可用来绘制Z变量函数. 显示两变量的函数Z=f(x,y),第一步需产生特定的行和列的x-y矩阵.然后计算函数在各网格点上的值.最后用mesh函数输出. 下面我们绘制sin(r)/r函数的图形.建立图形用以下方法: x=-8:.5:8; y=x; x=ones(size(y))*x; y=y*ones(size(y)); R=sqrt(x.^2+y.^2)+eps; z=sin(R)./R; mesh(z)?????? %%?试运行mesh(x,y,z),看看与mesh(z)有什么不同之处? 各语句的意义是:首先建立行向量x,列向量y;然后按向量的长度建立1-矩阵;用向量乘以产生的1-矩阵,生成网格矩阵,它们的值对应于x-y坐标平面;接下来计算各网格点的半径;最后计算函数值矩阵Z.用mesh函数即可以得到图形. 图4.2.1三维消隐图 第一条语句x的赋值为定义域,在其上估计函数;第三条语句建立一个重复行的x矩阵,第四条语句产生y的响应,第五条语句产生矩阵R(其元素为各网格点到原点的距离).用mesh方法结果如上. 另外,上述命令系列中的前4行可用以下一条命令替代: [x, y]=meshgrid(-8:0.5:8) §4.2.2与mesh相关的几个函数 (1) meshc与函数mesh的调用方式相同,只是该函数在mesh的基础上又增加了绘制相应等高线的功能.下面来看一个meshc的例子: [x,y]=meshgrid([-4:.5:4]); z=sqrt(x.^2+y.^2); meshc(z)?????? %%?试运行meshc(x,y,z),看看与meshc(z)有什么不同之处? 我们可以得到图形: 图4.2.2.1?meshc图 ? 地面上的圆圈就是上面图形的等高线. (2)函数meshz与mesh的调用方式也相同,不同的是该函数在mesh函数的作用之上增

文档评论(0)

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

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

1亿VIP精品文档

相关文档