[Numpy-discussion] Create a n-D grid; meshgrid alternative
johannes.kulick at ipvs.uni-stuttgart.de
Tue May 12 04:57:28 EDT 2015
I'm totally in favor of the 'gridspace(linspaces)' version, as you probably end
up wanting to create grids of other things than linspaces (e.g. a logspace grid,
or a grid of random points etc.).
It should be called somewhat different though. Maybe 'cartesian(arrays)'?
Quoting Stefan Otte (2015-05-10 16:05:02)
> I just drafted different versions of the `gridspace` function:
> Beste Grüße,
> On Sun, May 10, 2015 at 1:40 PM, Stefan Otte <stefan.otte at gmail.com> wrote:
> > Hey,
> > quite often I want to evaluate a function on a grid in a n-D space.
> > What I end up doing (and what I really dislike) looks something like this:
> > x = np.linspace(0, 5, 20)
> > M1, M2 = np.meshgrid(x, x)
> > X = np.column_stack([M1.flatten(), M2.flatten()])
> > X.shape # (400, 2)
> > fancy_function(X)
> > I don't think I ever used `meshgrid` in any other way.
> > Is there a better way to create such a grid space?
> > I wrote myself a little helper function:
> > def gridspace(linspaces):
> > return np.column_stack([space.flatten()
> > for space in np.meshgrid(*linspaces)])
> > But maybe something like this should be part of numpy?
> > Best,
> > Stefan
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
Question: What is the weird attachment to all my emails?
More information about the NumPy-Discussion