logo

numpy.meshgrid() in Python

Das Numpy-Modul von Python bietet Meshgrid() Funktion zum Erstellen eines rechteckigen Gitters mit Hilfe der angegebenen 1-D-Arrays, die das darstellen Matrixindizierung oder Kartesische Indizierung . MATLAB ist eine gewisse Inspiration für die Funktion meshgrid(). Aus den Koordinatenvektoren gibt die Funktion meshgrid() die Koordinatenmatrizen zurück.

numpy.meshgrid()

In der obigen Abbildung reicht die x-Achse von -5 bis 5 und die y-Achse von -5 bis 5. In der Abbildung sind also insgesamt 121 Punkte markiert, jeder mit x-Koordinate und y-Koordinate. Für jede Linie parallel zur x-Achse lauten die x-Koordinaten der markierten Punkte -5, -4, -3, -2, -1, 0, 1, 2, 3, 4 und 5. Andererseits sind für jede Linie parallel zur y-Achse die y-Koordinaten der markierten Punkte von unten nach oben -5, -4, -3, -2, -1, 0, 1, 2, 3 , 4 bzw. 5.

Syntax

 numpy.meshgrid(*xi, **kwargs) 

Parameter

x1, x2,…, xn : array_like

Dieser Parameter definiert das eindimensionale Array, das die Koordinaten eines Gitters darstellt.

Python __dict__

Indizierung: {'xy', 'ij'}(optional)

Dies ist ein optionales Argument, das die kartesische Indexierung „xy“ (standardmäßig) oder die Matrix („ij“) der Ausgabe definiert.

spärlich: bool (optional)

Auch dieser Parameter ist optional. Wenn wir ein spärliches Raster benötigen, um Speicher zu sparen, müssen wir diesen Parameter auf True setzen. Standardmäßig ist es auf False gesetzt.

kopieren: bool (optional)

Der Zweck dieses optionalen Arguments besteht darin, eine Kopie des ursprünglichen Arrays zurückzugeben, um Speicherplatz zu sparen. Standardmäßig ist es auf False gesetzt.

Wenn beides spärlich Und Kopieren Wenn die Parameter auf „False“ gesetzt sind, werden nicht zusammenhängende Arrays zurückgegeben. Darüber hinaus kann mehr als ein Element eines Broadcast-Arrays auf einen einzelnen Speicherort verweisen. Wenn wir in die Arrays schreiben müssen, müssen wir zuerst Kopien erstellen.

Kehrt zurück

X1, X2, ..., Xn

Die Koordinatenlänge des Koordinatenvektors wird von dieser Funktion zurückgegeben.

Beispiel 1:

 import numpy as np na, nb = (5, 3) a = np.linspace(1, 2, na) b = np.linspace(1, 2, nb) xa, xb = np.meshgrid(a, b) xa xb 

Ausgabe:

SQL-Reihenfolge nach Datum
 array([[1. , 1.25, 1.5 , 1.75, 2. ], [1. , 1.25, 1.5 , 1.75, 2. ], [1. , 1.25, 1.5 , 1.75, 2. ]]) array([[1. , 1. , 1. , 1. , 1. ], [1.5, 1.5, 1.5, 1.5, 1.5], [2. , 2. , 2. , 2. , 2. ]]) 

Im obigen Code

  • Wir haben numpy mit dem Aliasnamen np importiert.
  • Wir haben zwei Variablen erstellt, nämlich na und nb, und ihnen die Werte 5 bzw. 3 zugewiesen.
  • Wir haben mit der Funktion linspace() zwei Arrays erstellt, nämlich a und b.
  • Danach haben wir die Variablen „xa“ und „xb“ deklariert und den zurückgegebenen Wert von zugewiesen Meshgrid()
  • Wir haben in der Funktion sowohl die Arrays „a“ als auch „b“ übergeben
  • Zuletzt haben wir versucht, den Wert von auszudrucken 'Schah' Und 'xb' .

In der Ausgabe wurden zwei Arrays angezeigt, die die Koordinatenlänge aus den Koordinatenvektoren enthalten.

Beispiel 2:

 import numpy as np na, nb = (5, 3) a = np.linspace(1, 2, na) b = np.linspace(1, 2, nb) xa, xb = np.meshgrid(a, b, sparse=True) xa xb 

Ausgabe:

 array([[1. , 1.25, 1.5 , 1.75, 2. ]]) array([[1. ], [1.5], [2. ]]) 

Beispiel 3:

 import numpy as np import matplotlib.pyplot as plt a = np.arange(-10, 10, 0.1) b = np.arange(-10, 10, 0.1) xa, xb = np.meshgrid(a, b, sparse=True) z = np.sin(xa**2 + xb**2) / (xa**2 + xb**2) h = plt.contourf(a,b,z) plt.show() 

Ausgabe:

numpy.meshgrid()

Im obigen Code

Cache npm leeren
  • Wir haben numpy mit dem Aliasnamen np importiert.
  • Wir haben matplotlib.pyplot als plt importiert.
  • Wir haben mit der Funktion np.arange() zwei Arrays erstellt, nämlich a und b.
  • Danach haben wir die Variablen „xa“ und „xb“ deklariert und den zurückgegebenen Wert von zugewiesen Meshgrid()
  • Wir haben in der Funktion sowohl die Arrays „a“ als auch „b“ übergeben.
  • Danach haben wir eine Variable z deklariert und den Rückgabewert der Funktion np.sine() zugewiesen.
  • Zuletzt haben wir versucht, Konturlinien und gefüllte Konturen zu zeichnen die plt.contourf()

In der Ausgabe wurden Konturlinien eingezeichnet.

Beispiel 4:

 import numpy as np import matplotlib.pyplot as plt a = np.linspace(-5, 5, 5) b = np.linspace(-5, 5, 11) random_data = np.random.random((11, 5)) xa, xb = np.meshgrid(a, b) plt.contourf(xa, xb, random_data, cmap = 'jet') plt.colorbar() plt.show() 

Ausgabe:

numpy.meshgrid()

Beispiel 5:

 import numpy as np import matplotlib.pyplot as plt a = np.linspace(-5, 5, 5) b = np.linspace(-5, 5, 11) random_data = np.random.random((11, 5)) xa, xb = np.meshgrid(a, b) sine = (np.sin(xa**2 + xb**2))/(xa**2 + xb**2) plt.contourf(xa, xb, sine, cmap = 'jet') plt.colorbar() plt.show() 

Ausgabe:

numpy.meshgrid()