numpy.meshgridist nach Matlabs meshgridBefehl modelliert . Es wird verwendet, um Funktionen von zwei Variablen zu vektorisieren, so dass Sie schreiben können
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]])
So ZZenthält alle Kombinationen von xund yin die Funktion setzen. Wenn Sie darüber nachdenken, meshgridist es für numpy Arrays, wie sie senden, etwas überflüssig. Das heißt, Sie können tun
XX, YY = numpy.atleast_2d(x, y)
YY = YY.T
ZZ = XX + YY
und erhalten das gleiche Ergebnis.
mgridund ogridsind Hilfsklassen, die die Indexnotation verwenden, damit Sie XXund YYin den vorherigen Beispielen direkt erstellen können , ohne etwas wie verwenden zu müssen linspace. Die Reihenfolge, in der die Ausgabe generiert wird, ist umgekehrt.
YY, XX = numpy.mgrid[10:40:10, 1:4]
ZZ = XX + YY
YY, XX = numpy.ogrid[10:40:10, 1:4]
ZZ = XX + YY
Ich bin nicht mit den Scitools vertraut, aber es ndgridscheint gleichwertig zu sein meshgrid, während BoxGrides tatsächlich eine ganze Klasse ist, um bei dieser Art von Generation zu helfen.