matlab三维绘图

在matlab中,常用的三维图形包括三维曲线,三维网格图和三维曲面图的绘制,分别采用plot3()、mesh()、和surf()进行绘制


-------------------------------------- plot3 函数--------------------------------
plot3(x,y,z):该函数绘制三维曲线,参数x,y和z是有相同维数的向量,例如:
  1. t=0:pi/50:10*pi;
  2. plot3(sin(t),cos(t),t);
复制代码
plot3(x,y,z):同样的用法,该函数中参数x,y,z也可为具有相同维数的矩阵,则将参数x,y和z的每一列绘制一条曲线,同时绘制多条曲线plot3(x,y,z,s) :该函数和二维绘图函数plot()类似,可以设置曲线的线型和颜色等信息,以及数据点的标记等


---------------------------------- mesh 函数-----------------------------------
mesh函数用来绘制三维网格图,代码示例:
  1. x=linspace(-2,2,50);
  2. y=linspace(0,4,60);
  3. [xx,yy]=meshgrid(x,y);
  4. z=exp(-xx.^2-yy.^2);
  5. mesh(xx,yy,z);
复制代码
还可以用meshc()绘制带有等高线的三维网格图,采用meshz()绘制带有底座的三维网格图,这两个函数与mesh类似


----------------------------------- surf 函数------------------------------------
函数surf()绘制三维曲面图,该函数的调用格式为surf(X,Y,Z,c),该函数绘制彩色的三维曲面图,其中矩阵X和Y控制x轴和y轴,矩阵Z为z轴数据,图形的颜色采用参数c设置,示例代码:
  1. x=linspace(-2,2,25);
  2. y=linspace(-2,2,25);
  3. [xx,yy]=meshgrid(x,y);
  4. zz=xx.*exp(-xx.^2-yy.^2);
  5. surf(xx,yy,zz);
复制代码
此外函数surfc绘制带有等高线的三维曲面图,通过函数surfl添加三维曲面的光照效果,调用方式和surf相同,surf函数绘制的是曲面,如果要去掉图上面的网格,则可在绘图命令后加入: shading interp

你可能感兴趣的:(三维绘图)