网格中的网格函数(meshgrid,mgrid,ogrid,ndgrid)
我正在寻找一个类似meshgrid函数的明确比较。 不幸的是我没有find它!
Numpy http://docs.scipy.org/doc/numpy/reference/提供
-
mgrid
-
ogrid
-
meshgrid
Scitools http://hplgit.github.io/scitools/doc/api/html/index.html提供
-
ndgrid
-
boxgrid
理想情况下,总结这一切的表格将是完美的!
numpy.meshgrid
模仿Matlab的meshgrid
命令。 它用于引导两个variables的函数,以便您可以编写
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]])
所以ZZ
包含放入函数中的所有x
和y
的组合。 当你想到它时, meshgrid
对于numpy数组meshgrid
是多余的,因为它们是广播的。 这意味着你可以做
XX, YY = numpy.atleast_2d(x, y) YY = YY.T # transpose to allow broadcasting ZZ = XX + YY
并得到相同的结果。
mgrid
和ogrid
是使用索引符号的助手类,因此您可以直接在前面的示例中创buildXX
和YY
,而不必使用linspace
东西。 产生输出的顺序是相反的。
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的东西并不熟悉,但是ndgrid
看起来和meshgrid
,而BoxGrid
实际上是一个帮助这种世代的整个类。