转自:http://blog.csdn.net/liuwei1987729/article/details/6591435
matlab三维绘图主要有三个命令:plot3命令、mesh命令和surf命令。
- plot3
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(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(X,Y,Z)
需要注意的是:第一,surf只支持笛卡尔坐标系(直角坐标系)。第二,如果要让曲面圆滑,去掉网格,只需要在绘图命令后加入:shading interp。这样matlab就会进行相应插值。第三如果想做成两维图模拟三维图效果,现在想到的方法是手动旋转将三维图旋转成两维图,再加入colorbar。
下面的图是去掉网格的surf命令效果
手动旋转,并加入colorbar后的两维图: