我正在寻找类似网状网格功能的清晰对比。不幸的是我找不到它!
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 http://docs.scipy.org/doc/numpy/reference/提供
mgrid
ogrid
meshgrid
Scitools http://hplgit.github.io/scitools/doc/api/html/index.html提供
ndgrid
boxgrid
理想情况下,总结所有这些的表格将是完美的!
Answers:
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
实际上是一个全班级,可以帮助这类人。
XX = XX.T
它应该确实是YY = YY.T
。如果x和y不同,这将变得很明显。