scipy.interpolate.RegularGridInterpolator.

__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 == 1 ist, 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])