函式简介
函式功能:
在MATLAB中,在进行2-D、3-D绘图时,该函式功能与meshgrid类似(参见meshgrid)。但后者仅限于2-D、3-D绘图,不能进行更高维绘图操作。
在2-D、3-D绘图时,还有个小差别:
[X,Y,Z] = meshgrid(x,y,z)等效于[Y,X,Z] = ndgrid(y,x,z)
语法格式:
[X1,X2,X3,...] = ndgrid(x1,x2,x3,...)
这里,x1、x2、x3……分别限定了某一维的绘图区间,结合起来就限定了绘图区域。例如,1<=x<=3,4<=y<=10,-
1000<=z<=1000就限定了三维空间中的一个区域。
[X1,X2,...] = ndgrid(x)
相关函式:meshgrid,surf,mesh
程式示例
%% specify the domain
x = 0:0.5:2; y = 0:0.1:2;
%%
[xx, yy] = meshgrid(x, y);
zz = xx .* yy;
subplot(221); mesh(zz); xlabel('X'); ylabel('Y'); zlabel('Z');
title({'[xx, yy] = meshgrid(x, y)'; '\fontsize{16}{\color[rgb]{0, .5, .5}right}'});
%%
[xx, yy] = ndgrid(x, y);
zz = xx .* yy;
subplot(222); mesh(zz); xlabel('X'); ylabel('Y'); zlabel('Z');
title({'[xx, yy] = ndgrid(x, y)'; '\fontsize{16}{\color{red}wrong}'});
%%
[yy, xx] = meshgrid(y, x);
zz = xx .* yy;
subplot(223); mesh(zz); xlabel('X'); ylabel('Y'); zlabel('Z');
title({'[yy, xx] = meshgrid(y, x)'; '\fontsize{16}{\color{red}wrong}'});
%%
[yy, xx] = ndgrid(y, x);
zz = xx .* yy;
subplot(224); mesh(zz); xlabel('X'); ylabel('Y'); zlabel('Z');
title({'[yy, xx] = ndgrid(y, x)'; '\fontsize{16}{\color[rgb]{0, .5, .5}right}'});