numpy.meshgrid
ist nach Matlabs meshgrid
Befehl 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 ZZ
enthält alle Kombinationen von x
und y
in die Funktion setzen. Wenn Sie darüber nachdenken, meshgrid
ist 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.
mgrid
und ogrid
sind Hilfsklassen, die die Indexnotation verwenden, damit Sie XX
und YY
in 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 ndgrid
scheint gleichwertig zu sein meshgrid
, während BoxGrid
es tatsächlich eine ganze Klasse ist, um bei dieser Art von Generation zu helfen.