matlab三维画图

2022-07-13 15:57:08 浏览数 (1)

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

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后的两维图:

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/118361.html原文链接:https://javaforall.cn

0 人点赞