__call__#
- RegularGridInterpolator.__call__(xi, method=None, *, nu=None)[Quelle]#
Interpolation an Koordinaten.
- Parameter:
- xindarray von Form (…, ndim)
Die Koordinaten, an denen der Interpolator ausgewertet werden soll.
- methodstr, optional
Die durchzuführende Interpolationsmethode. Unterstützt werden „linear“, „nearest“, „slinear“, „cubic“, „quintic“ und „pchip“. Standard ist die beim Erstellen des Interpolators gewählte Methode.
- nuSequenz von Ganzzahlen, Länge ndim, optional
Wenn nicht None, die Ordnungen der auszuwertenden Ableitungen. Jeder Eintrag muss nicht-negativ sein. Nur für die Methoden „slinear“, „cubic“ und „quintic“ erlaubt.
Hinzugefügt in Version 1.13.
- Rückgabe:
- values_xndarray, Form xi.shape[:-1] + values.shape[ndim:]
Interpolierte Werte an xi. Siehe Hinweise zum Verhalten, wenn
xi.ndim == 1.
Hinweise
Wenn
xi.ndim == 1ist, wird eine neue Achse in die 0-Position des zurückgegebenen Arrays, values_x, eingefügt, sodass seine Form stattdessen(1,) + values.shape[ndim:]lautet.Beispiele
Hier definieren wir einen Nearest-Neighbor-Interpolator einer einfachen Funktion
>>> import numpy as np >>> x, y = np.array([0, 1, 2]), np.array([1, 3, 7]) >>> def f(x, y): ... return x**2 + y**2 >>> data = f(*np.meshgrid(x, y, indexing='ij', sparse=True)) >>> from scipy.interpolate import RegularGridInterpolator >>> interp = RegularGridInterpolator((x, y), data, method='nearest')
Per Konstruktion verwendet der Interpolator die Nearest-Neighbor-Interpolation
>>> interp([[1.5, 1.3], [0.3, 4.5]]) array([2., 9.])
Wir können jedoch den linearen Interpolanten auswerten, indem wir den method-Parameter überschreiben
>>> interp([[1.5, 1.3], [0.3, 4.5]], method='linear') array([ 4.7, 24.3])