在MATLAB中mesh和surf都可以用来做三维空间的图,但是两个图具体的差别是什么呢?
[X,Y,Z] = peaks(25); figure(1); surf(X,Y,Z); figure(2); mesh(X,Y,Z);
figure(1):
figure(2):
总结:mesh和surf命令都可以绘出空间内的完整曲面,使用方法也类似,不同的是
surf命令绘制得到的是着色的三维曲面(黑色线,彩色面);
mesh命令绘制的图形是一个一排排的彩色曲线组成的网格图(彩色线,白色面)。
详细使用方法见MATLAB帮助文档。
此外,这也 会导致另一种可见的情况,当数据构成的线“太密了”,这时候会导致surf画出的图像是全黑的,而mesh画出的图像是彩色的。如下:
x=-2:0.01:4;y=x; [X,Y]=meshgrid(x,y); Z=X.^2+Y.^2; ii=find(Z>4); Z(ii)=NaN; figure(3); surf(X,Y,Z); figure(4); mesh(X,Y,Z);
figure(3)
figure(4)
所以,在实际情况中选择适合自己的函数来实现绘图。