matlabsurf投影-MATLAB使用surf、contour3灵活绘制投影图、等高线。。。.pdfVIP

matlabsurf投影-MATLAB使用surf、contour3灵活绘制投影图、等高线。。。.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
matlabsurf投影,MATLAB使⽤surf、contour3灵活绘制投影 图、等⾼线。。。 ⽬标 :在设定的⾼度平⾯上显⽰等⾼线。 实现如下图 ⽰的效果,在指定的⾼度(-40)上显⽰三维曲⾯和等⾼线的投影。 遇到的问题 : 1.使⽤surfc函数,⾃带的投影等⾼线总是绘制在⾼度数据的最⼩⾼度平⾯上。并不能随⽤户指定绘制。如下图,等⾼线投影总是显⽰在(- 25)的⾼度平⾯上。 2.在hold on的情况下,使⽤contour函数,得到的等⾼线图总是绘制在⾼度为0的⾼度平⾯上。如下图 ⽰。 3.考虑contour(ax,...)函数,但是由于能⼒有限,总是找不到怎么去构建这样的句柄。也考虑了使⽤从H = surf ()或者[c,h] = contour3() 中获取的句柄,但是系统总是报错,说句柄的类型不对。总之,⽬前没有找到⽅法构建这样的句柄,或许通过修改原有的空间坐标系可以实 现吧,也或许很⿇烦。(如果有⼤佬知道了,恳求⾼抬贵⼿,救救我这个菜鸟的智商。) 最后,通过分析⾼度矩阵,⼲脆 ⾃⼰绘制等⾼线得了。使⽤函数plot3(x,y,z)(在某⼀个平⾯绘制图线)实现了灵活绘制等⾼线的需求。当然, 对于绘制彩⾊的投影图,就没有这么复杂了, 以这⾥简述。 具体解决⽅案如下。 解决⽅案 : 1.使⽤surf (X,Y,Z,C)绘制彩⾊投影图,实现如下图的效果 ⽂档说明:surf (X,Y,Z,C)uses C to define color. MATLAB performs a lineartransformation on this data to obtain colors from the current colormap. 以这个图很容易实现,只要将Z矩阵设置好就⾏,⽐如本例。surf (x,y,-40+0*z,z);将z置零,然后移动到(-40)的平⾯上,即可。 2.使⽤plot3(x,y,z)灵活绘制等⾼线,实现最终效果 ⾸先,绘制三维图上的等⾼线。 ⽐较简单,直接使⽤现有的函数。 contour3(X,Y,Z,n) n代表的等⾼线的条数 contour3(X,Y,Z,v) v = [k k] 代表限定要显⽰的⾼度范围,⽐如本例只显⽰(- 10)⾼度, 以使⽤v = [- 10,- 10]。 实现下图效果 另外⼀个⽅⾯,如果需要美化,按照需求定制图像显⽰的模式和内容,也就是设置其他属性,⽐如标注、线条、⽂字、颜⾊等等,那么可以 参照开发⽂档,绘图时候使⽤contour3(...,Name,Value),surf同理。 当然,还是建议使⽤句柄来设置,这样更灵活,⽐如技术⽂档中写的: [C,h]= contour(x,y,z); clabel(C,h,FontSize,15,Color,red); 甚⾄,使⽤t = clabel(C,h,manual) returns the text obj ects created.进⼀步设置⾥⾯的属性。可以使图中的重要信息更加明显突出,提 升图像建模质量。 第⼆步,在(-40)⾼度⾯上绘制等⾼线 本来参照surf (X,Y,Z,C),想着contour3(contour)也会有这样的函数接⼝,可以在指定的⾼度⾯绘制等⾼线。但是并没有。 以⽅案迅速 夭折。经过百般查询,扔未解决,只好⽤最原始的⽅法,找数据、分析数据、绘制等⾼线。 数据来源于[c,h]= contour3(x,y,z)中的c,具体格式可以参照开发⽂档。本⽂也拷贝过来⼀部分。 Contour Matrix ContourMatrix — Contour line definitions[] (default) | two-row matrix This property is readonly. Contour line definitions,returned as a two-row matrix. Each contour line in the plot has an associateddefinition. If there are a total of N contour linesin the plot, then the contour matrix consists of N definitions: C = [C(1) C(2)...C(k)...C(N)] Each contour line definitionfollows this pattern: C

文档评论(0)

139****2545 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档