您的位置:首页 > 编程语言 > MATLAB

matlab三维绘图

2015-09-09 14:29 597 查看
转自:http://blog.csdn.net/liuwei1987729/article/details/6591435

matlab三维绘图主要有三个命令:plot3命令、mesh命令和surf命令。

plot3

plot3是三维绘图的基本函数,绘制的是最为基本的3D曲线图,最基本的调用格式是:

plot3(X,Y,Z)

当X,Y,Z为长度相同的向量时,plot3命令将绘得一条分别以向量X,Y,Z为(x,y,z)坐标值的曲线

当X,Y,Z均为m*n的矩阵时,plot3命令将绘得m条曲线,每条曲线均为X,Y,Z列向量为(x,y,z)坐标值的曲线

mesh

mesh与plot3不同的是它可以绘出在某一区间内完整的曲面(网格图)。最基本的调用格式是:

mesh(X,Y,Z)

需要注意的是X和Y必须为向量,如果X和Y的长度分别为m和n,则Z必须为m*n的矩阵,即[m,n]=size(Z),在这种情况下网格线的顶点为(X(j),Y(i),Z(i,j))

surf

surf的调用方法与mesh命令类似,不同的是mesh函数绘制的图像是一个网格图,而surf命令绘制得到的是着色的三维曲面。着色的方法时在得到相应的网格后,对每个网格依据该网格所代表的节点的色值来定义这一网格的颜色。最基本得调用格式是:

surf(X,Y,Z)

需要注意的是:第一,surf只支持笛卡尔坐标系(直角坐标系)。第二,如果要让曲面圆滑,去掉网格,只需要在绘图命令后加入:shading interp。这样matlab就会进行相应插值。第三如果想做成两维图模拟三维图效果,现在想到的方法是手动旋转将三维图旋转成两维图,再加入colorbar。

下面的图是去掉网格的surf命令效果



手动旋转,并加入colorbar后的两维图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: