[X,Y,Z] = peaks(25);
figure
surf(X,Y,Z);

[X,Y,Z] = peaks(25);
figure
surf(Z);

は違います。


左がsurf(Z);で右がsurf(X,Y,Z);
です。
Zは同じですが、X,Yがちがいますね。
surf(X,Y,Z);
はその高さZごとのX,Yを指定できます。
逆に、
surf(Z);は、
はその高さZごとのX,Yを指定していないので、1ごとになっているはずです。
Zは25*25の配列なので、x、yがそれぞれ25の目盛りになっているはずです。

MATLABプログラミング入門
上坂 吉則
牧野書店
2011-05