在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)
所以,在實際情況中選擇適合自己的函數來實現繪圖。