ndgrid
函数功能: 在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}'});