Given vectors of x and y coordinates, return matrices xx and yy corresponding to a full 2-D grid.
The rows of xx are copies of x, and the columns of yy are copies of y. If y is omitted, then it is assumed to be the same as x.
If the optional z input is given, or zz is requested, then the output will be a full 3-D grid.
meshgrid is most frequently used to produce input for a 2-D or 3-D
function that will be plotted. The following example creates a surface
plot of the “sombrero” function.
f = @(x,y) sin (sqrt (x.^2 + y.^2)) ./ sqrt (x.^2 + y.^2); range = linspace (-8, 8, 41); [X, Y] = meshgrid (range, range); Z = f (X, Y); surf (X, Y, Z);
Programming Note: meshgrid is restricted to 2-D or 3-D grid
generation. The ndgrid function will generate 1-D through N-D
grids. However, the functions are not completely equivalent. If x
is a vector of length M and y is a vector of length N, then
meshgrid will produce an output grid which is NxM. ndgrid
will produce an output which is MxN (transpose) for the same
input. Some core functions expect meshgrid input and others expect
ndgrid input. Check the documentation for the function in question
to determine the proper input format.
See also: ndgrid, mesh, contour, surf.
Package: octave