Mesh grid functions in Python (meshgrid mgrid ogrid ndgrid)
我正在寻找与网状网格类似的功能的清晰对比。不幸的是我找不到它!
脾气暴躁的http://docs.scipy.org/doc/numpy/reference/提供
-
mgrid -
ogrid -
meshgrid
Scitools http://hplgit.github.io/scitools/doc/api/html/index.html提供
-
ndgrid -
boxgrid
理想情况下,总结所有这些的表将是完美的!
1 2 3 4 5 6 7 8 | x = numpy.array([1, 2, 3]) y = numpy.array([10, 20, 30]) XX, YY = numpy.meshgrid(x, y) ZZ = XX + YY ZZ => array([[11, 12, 13], [21, 22, 23], [31, 32, 33]]) |
因此,
1 2 3 | XX, YY = numpy.atleast_2d(x, y) YY = YY.T # transpose to allow broadcasting ZZ = XX + YY |
并获得相同的结果。
1 2 3 4 5 | YY, XX = numpy.mgrid[10:40:10, 1:4] ZZ = XX + YY # These are equivalent to the output of meshgrid YY, XX = numpy.ogrid[10:40:10, 1:4] ZZ = XX + YY # These are equivalent to the atleast_2d example |
我对scitools的东西并不熟悉,但是
1 2 3 4 | # 3D d1, d2, d3 = np.mgrid[0:10, 0:10, 0:10] d11, d22, d33 = np.meshgrid(np.arange(10),np.arange(10),np.arange(10)) np.array_equal(d1,d11) |
产量
1 2 | d11 = np.transpose(d11,[1,0,2]) np.array_equal(d1,d11) |
产量