Matlab曲面绘图..docVIP

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Matlab曲面绘图.

曲面绘图 【实验目的】 了解二元函数图形的制作。 空间曲面等高线的制作。 学习掌握MATLAB软件有关的命令。 【实验内容】 画出函数的图形,并画出其等高线。 【实验准备】 1.曲线绘图的MATLAB命令 MATLAB中主要用mesh,surf命令绘制二元函数图形。 mesh(x,y,z) 画网格曲面,这里x,y,z是三个数据矩阵,分别表示数据点的横坐标,纵坐标和函数值,该命令将数据点在空间中描出,并连成网格。 surf(x,y,z) 画完整曲面,这里x,y,z是三个数据矩阵,分别表示数据点的横坐标,纵坐标和函数值,该命令将数据点所表示曲面画出。 可以用help mesh, help surf查阅有关这些命令的详细信息 【实验方法与步骤】 练习1 画出函数的图形,不妨将区域限制在。用MATLAB作图的程序代码为: clear x=-3:0.1:3; y=-3:0.1:3; [X,Y]=meshgrid(x,y); Z=exp(X.^2+Y.^2); mesh(X,Y,Z) 结果如图5.1。图5.1是网格线图,如果要画完整的曲面图,只需将上述的MATLAB代码mesh(X,Y,Z)改为surf(X,Y,Z), 结果如图5.2 图5.1 锥面 图5.2 锥面 要画等高线,需用contour,contour3命令.其中contour为二维等高线, contour3为三维等高线,如画图5.1的三维等高线, MATLAB代码为: clear x=-3:0.1:3; y=-3:0.1:3; [X,Y]=meshgrid(x,y); Z=sqrt(X.^2+Y.^2); contour3(X,Y,Z,10) xlable(X-axis),ylable(Y-axis),zlable(Z-axis) % z字符型加‘’ title(三维等高线) grid on 结果如图5.3. 图5.3 等高线 如画图5.1的二维等高线, MATLAB代码为: 结果如图5.4. 图5.4 等高线 如果要画的等高线,则用命令 clear x=-3:0.1:3; y=-3:0.1:3; [X,Y]=meshgrid(x,y); Z=sqrt(X.^2+Y.^2); contour(X,Y,Z,[1,1]) 结果如图5.5。 图5.5 等高线 练习1中,函数值可简单算出。在有些情况下,函数值不能简单算出。这是因为x和y的值可能是非均匀间隔的甚至是随机分布的,也可能使用了不同的坐标系,比如非长方形的网。出现这些情况时,MATLAB中的函数griddata就用来产生经查值后的均匀间隔数据以作图。 练习2 二次曲面的方程如下 讨论参数对其形状的影响。 本练习的关键在于如何作出三维曲面图形,特别注意在给定值求时,若有开方运算,一是会出现虚数,二是对实数也有正负两个解。为了使虚数不出现在绘图中,采用了一种技巧,就是将虚数都换成非数(NaN). MATLAB代码为: a=input(a=); a= b=input(b=); b= c=input(c=); c= d=input(d=); N=input(N=); xgrid=linspace(-abs(a),abs(a),N); ygrid=linspace(-abs(b),abs(b),N); [x,y]=meshgrid(xgrid,ygrid); z=c*sqrt(d-y.*y/b^2-x.*x/a^2) for k=2:N-1 %以下7行程序的作用是取消z中含虚数的点 for j=2:N-1 if imag(z(k,j))~=0 z1(k,j)=0; end if all(imag(z([k-1:k+1],[j-1:j+1])))~=0 za(k,j)=NaN; end end end surf(x,y,z1), hold on %画空间曲面 if u==1 z2=-z1; surf(x,y,z2); %u=1时加画负半面 axis([-abs(a),abs(a), -abs(b), abs(b), -abs(c), abs(c)]); end xlabel(x),ylabel(y),zlabel(z) hold off 运行程序,当时的结果见图5.6, 当时的结果见图5.7, 当时的结果见

文档评论(0)

bhzs + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档