网格中的网格函数(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包含放入函数中的所有xy的组合。 当你想到它时, meshgrid对于numpy数组meshgrid是多余的,因为它们是广播的。 这意味着你可以做

 XX, YY = numpy.atleast_2d(x, y) YY = YY.T # transpose to allow broadcasting ZZ = XX + YY 

并得到相同的结果。

mgridogrid是使用索引符号的助手类,因此您可以直接在前面的示例中创buildXXYY ,而不必使用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实际上是一个帮助这种世代的整个类。