python meshgrid_Python中的网格网格函数(meshgrid mgrid ogrid ndgrid)

numpy.meshgrid是在Matlab的meshgrid命令之后建模的。它用于向量化两个变量的函数,以便可以写入

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数组,因为他们广播。这意味着你可以做

XX, YY = numpy.atleast_2d(x, y)

YY = YY.T # transpose to allow broadcasting

ZZ = XX + YY

并得到相同的结果。

mgrid和ogrid是帮助类,它们使用索引符号,以便您可以直接在前面的示例中创建XX和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实际上是一个整个类,以帮助这种一代。

你可能感兴趣的:(python,meshgrid)