打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
3.2.2 曲面及等值线绘图

3.2.2 曲面及等值线绘图


如果要画一个三维的曲面,MATLAB是以meshgrid配合与meshsurf指令来绘图。先要以meshgrid产生在x-y平面 的二维的网格数据,再以一组z轴的数据对应到这个二维的网格,即可画出三维的曲面。以下的例子可说明上 述的绘图过程。

>> x=-7.5:0.5:7.5; y=x; % 先产生xy二个阵列

>> [X,Y]=meshgrid(x,y); % 再以meshgrid形成二维的网格数据

>> R=sqrt(X.^2+Y.^2)+eps; % 加上eps可避免当R在分母时趋近零时会无法定义

>> Z=sin(R)./R; % 产生z轴的数据

>> mesh(X,Y,Z) % z轴的变化值以网格方式画出

>> surf(X,Y,Z) % z轴的变化值以曲面方式画出

>> mesh(peaks) % 直接将以定义的peaks函数以网格方式画出

>> title('Mesh plot of peaks')

与三维绘图有关的还有等值线图,相关指令为contour,contour3contour是将等值线图以二维图表示,其语法有 几个方式。一是contour(Z),contour(Z,n),其中Z是一个二维矩阵,而 n为等值线的数目(如果不给即以自动方式 设定)。另一种语法则是将z轴的值对应到指定的x,y轴的值,语法为contour(X,Y,Z),contour(X,Y,Z,n),其中X,Y, Z代表x,y,z轴的数据。contour3则是将等值线以三维图表示,其语法与contour类似,只是将对应的关键字contour 改成contour3,其余部份相同。

以下的例子可以比较contour, contour3图示的不同:

>> [X,Y,Z]=peaks; % x,yz轴的数据由peaks函数定义

>> subplot(2,2,1)

>> contour(Z,20) % 画出peaksZ轴二维等值线图,20为等值线的数目

>> subplot(2,2,2)

>> contour(X,Y,Z,20) % 画出peaks的二维等值线图,注意x,y轴与上图不同

>> subplot(2,2,3)

>> contour3(Z,20) % 画出peaksZ轴二维等值线图

>> subplot(2,2,4)

>> contour3(X,Y,Z,20) % 画出peaks的三维等值线图,注意x,y轴与上图不同

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Matlab之绘图函数
Matlab绘图系列之高级绘图
三维绘图(2)| 曲面裁剪、向量场可视化、矩阵可视化、三维图形的旋转......
[转载]MATLAB中常用到的绘图函数
转:matlab中等值线的标注
matlab
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服