PchipInterpolator#
- class scipy.interpolate.PchipInterpolator(x, y, axis=0, extrapolate=None)[Quelle]#
PCHIP formerhaltender Interpolator (C1-glatt).
xundysind Arrays von Werten, die zur Approximation einer Funktion f verwendet werden, wobeiy = f(x)gilt. Der Interpolator verwendet monotone kubische Splines, um den Wert neuer Punkte zu ermitteln. (PCHIP steht für Piecewise Cubic Hermite Interpolating Polynomial).- Parameter:
- xndarray, Form (npoints, )
Ein 1D-Array von monoton steigenden reellen Werten.
xdarf keine doppelten Werte enthalten (andernfalls ist f überbestimmt).- yndarray, Form (…, npoints, …)
Ein N-dimensionales Array von reellen Werten. Die Länge von
yentlang der Interpolationsachse muss gleich der Länge vonxsein. Verwenden Sie den Parameteraxis, um die Interpolationsachse auszuwählen.- axisint, optional
Achse im
y-Array, die den x-Koordinatenwerten entspricht. Standard istaxis=0.- extrapolatebool, optional
Ob für Punkte außerhalb des Bereichs basierend auf dem ersten und letzten Intervall extrapoliert werden soll oder ob NaN zurückgegeben werden soll.
- Attribute:
- axis
- c
- extrapolate
- x
Methoden
__call__(x[, nu, extrapolate])Evaluiere das stückweise definierte Polynom oder seine Ableitung.
derivative([nu])Erstelle ein neues stückweise definiertes Polynom, das die Ableitung darstellt.
antiderivative([nu])Erstelle ein neues stückweise definiertes Polynom, das die Stammfunktion darstellt.
integrate(a, b[, extrapolate])Berechne ein bestimmtes Integral über ein stückweise definiertes Polynom.
solve([y, discontinuity, extrapolate])Findet reelle Lösungen der Gleichung
pp(x) == y.roots([discontinuity, extrapolate])Reelle Wurzeln des stückweisen Polynoms finden.
Siehe auch
CubicHermiteSplineStückweise kubischer Interpolator.
Akima1DInterpolatorAkima 1D-Interpolator.
CubicSplineKubischer Spline-Dateninterpolator.
PPolyStückweise Polynom in Bezug auf Koeffizienten und Bruchpunkte.
Hinweise
Der Interpolator erhält die Monotonie der Interpolationsdaten und überschießt nicht, wenn die Daten nicht glatt sind.
Die ersten Ableitungen sind garantiert stetig, aber die zweiten Ableitungen können bei \(x_k\) springen.
Bestimmt die Ableitungen an den Punkten \(x_k\), \(f'_k\), unter Verwendung des PCHIP-Algorithmus [1].
Seien \(h_k = x_{k+1} - x_k\) und \(d_k = (y_{k+1} - y_k) / h_k\) die Steigungen an den internen Punkten \(x_k\). Wenn die Vorzeichen von \(d_k\) und \(d_{k-1}\) unterschiedlich sind oder eines davon null ist, dann ist \(f'_k = 0\). Andernfalls ist sie durch das gewichtete harmonische Mittel gegeben
\[\frac{w_1 + w_2}{f'_k} = \frac{w_1}{d_{k-1}} + \frac{w_2}{d_k}\]wobei \(w_1 = 2 h_k + h_{k-1}\) und \(w_2 = h_k + 2 h_{k-1}\).
Die Endsteigungen werden mit einem einseitigen Schema festgelegt [2].
Referenzen
[1]F. N. Fritsch und J. Butland, A method for constructing local monotone piecewise cubic interpolants, SIAM J. Sci. Comput., 5(2), 300-304 (1984). DOI:10.1137/0905021.
[2]siehe z. B. C. Moler, Numerical Computing with Matlab, 2004. DOI:10.1137/1.9780898717952