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) <= sStandardmäßigs=len(w), was ein guter Wert sein sollte, wenn1/w[i]eine Schätzung der Standardabweichung vonz[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
Gib die Spline-Koeffizienten zurück.
Gibt ein Tupel (tx,ty) zurück, wobei tx,ty die Knotenpositionen des Splines bezüglich der x- und y-Variablen enthalten.
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
BivariateSplineEine Basisklasse für bivariate Splines.
UnivariateSplineEin geglätteter univariater Spline zur Anpassung an eine gegebene Menge von Datenpunkten.
LSQBivariateSplineEin bivariate Spline unter Verwendung von gewichteter Kleinster-Quadrate-Anpassung
RectSphereBivariateSplineEin bivariate Spline über ein rechteckiges Gitter auf einer Kugel
SmoothSphereBivariateSplineEin glättender bivariate Spline in Kugelkoordinaten
LSQSphereBivariateSplineEin bivariate Spline in Kugelkoordinaten unter Verwendung von gewichteter Kleinster-Quadrate-Anpassung
RectBivariateSplineEin bivariate Spline über ein rechteckiges Netz
bisplrepEine Funktion zum Finden einer B-Spline-Darstellung einer Oberfläche im Bivariaten
bisplevEine 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=0angefordert wird. In solchen Situationen wird empfohlen, stattdessenbisplrep/bisplevdirekt zu verwenden und, falls erforderlich, die Werte der Parameternxestundnyestvonbisplrepzu erhöhen.Für die lineare Interpolation bevorzugen Sie
LinearNDInterpolator. Siehehttps://gist.github.com/ev-br/8544371b40f414b7eaf3fe6217209bfffür eine Diskussion.