scipy.interpolate.

SmoothBivariateSpline#

class scipy.interpolate.SmoothBivariateSpline(x, y, z, w=None, bbox=[None, None, None, None], kx=3, ky=3, s=None, eps=1e-16)[Quelle]#

Geglättete bivariate Spline-Approximation.

Parameter:
x, y, zarray_like

1-D Sequenzen von Datenpunkten (Reihenfolge ist nicht wichtig).

warray_like, optional

Positive 1-D Sequenz von Gewichten, mit der gleichen Länge wie x, y und z.

bboxarray_like, optional

Sequenz der Länge 4, die die Grenze des rechteckigen Approximationsbereichs angibt. Standardmäßig gilt bbox=[min(x), max(x), min(y), max(y)].

kx, kyints, optional

Grade des bivariaten Splines. Standard ist 3.

sfloat, optional

Positiver Glättungsfaktor, definiert für die Schätzbedingung: sum((w[i]*(z[i]-s(x[i], y[i])))**2, axis=0) <= s Standardmäßig s=len(w), was ein guter Wert sein sollte, wenn 1/w[i] eine Schätzung der Standardabweichung von z[i] ist.

epsfloat, optional

Ein Schwellenwert zur Bestimmung des effektiven Rangs eines überbestimmten linearen Gleichungssystems. eps sollte einen Wert im offenen Intervall (0, 1) haben, der Standardwert ist 1e-16.

Methoden

__call__(x, y[, dx, dy, grid])

Evaluieren des Splines oder seiner Ableitungen an gegebenen Positionen.

ev(xi, yi[, dx, dy])

Evaluieren des Splines an Punkten

get_coeffs()

Gib die Spline-Koeffizienten zurück.

get_knots()

Gibt ein Tupel (tx,ty) zurück, wobei tx,ty die Knotenpositionen des Splines bezüglich der x- und y-Variablen enthalten.

get_residual()

Gibt die gewichtete Summe der quadrierten Residuen der Spline-Approximation zurück: sum ((w[i]*(z[i]-s(x[i],y[i])))**2,axis=0)

integral(xa, xb, ya, yb)

Evaluieren des Integrals des Splines über die Fläche [xa,xb] x [ya,yb].

partial_derivative(dx, dy)

Konstruiert einen neuen Spline, der eine partielle Ableitung dieses Splines darstellt.

Siehe auch

BivariateSpline

Eine Basisklasse für bivariate Splines.

UnivariateSpline

Ein geglätteter univariater Spline zur Anpassung an eine gegebene Menge von Datenpunkten.

LSQBivariateSpline

Ein bivariate Spline unter Verwendung von gewichteter Kleinster-Quadrate-Anpassung

RectSphereBivariateSpline

Ein bivariate Spline über ein rechteckiges Gitter auf einer Kugel

SmoothSphereBivariateSpline

Ein glättender bivariate Spline in Kugelkoordinaten

LSQSphereBivariateSpline

Ein bivariate Spline in Kugelkoordinaten unter Verwendung von gewichteter Kleinster-Quadrate-Anpassung

RectBivariateSpline

Ein bivariate Spline über ein rechteckiges Netz

bisplrep

Eine Funktion zum Finden einer B-Spline-Darstellung einer Oberfläche im Bivariaten

bisplev

Eine Funktion zur Auswertung eines B-Splines im Bivariaten und seiner Ableitungen

Hinweise

Die Länge von x, y und z sollte mindestens (kx+1) * (ky+1) betragen.

Wenn die Eingabedaten so sind, dass die Eingabedimensionen inkommensurable Einheiten haben und sich um viele Größenordnungen unterscheiden, kann der Interpolator numerische Artefakte aufweisen. Ziehen Sie in Erwägung, die Daten vor der Interpolation zu skalieren.

Diese Routine konstruiert Spline-Knotenvektoren automatisch über den FITPACK-Algorithmus. Die Spline-Knoten können außerhalb der Datenpunkte liegen. Für einige Datensätze kann diese Routine möglicherweise keinen interpolierenden Spline konstruieren, auch wenn einer über den Parameter s=0 angefordert wird. In solchen Situationen wird empfohlen, stattdessen bisplrep / bisplev direkt zu verwenden und, falls erforderlich, die Werte der Parameter nxest und nyest von bisplrep zu erhöhen.

Für die lineare Interpolation bevorzugen Sie LinearNDInterpolator. Siehe https://gist.github.com/ev-br/8544371b40f414b7eaf3fe6217209bff für eine Diskussion.