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)'? Best, Johannes Quoting Stefan Otte (2015-05-10 16:05:02)
I just drafted different versions of the `gridspace` function: https://tmp23.tmpnb.org/user/1waoqQ8PJBJ7/notebooks/2015-05%20gridspace.ipyn...
Beste Grüße, Stefan
On Sun, May 10, 2015 at 1:40 PM, Stefan Otte
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@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion
-- Question: What is the weird attachment to all my emails? Answer: http://en.wikipedia.org/wiki/Digital_signature