scipy.interpolate.UnivariateSpline.

Wurzeln#

UnivariateSpline.wurzeln()[Quelle]#

Gib die Nullstellen des Splines zurück.

Siehe auch

sproot
PPoly.roots

Hinweise

Einschränkung: FITPACK unterstützt nur kubische Splines. Für nicht-kubische Splines verwenden Sie PPoly.root (siehe unten für ein Beispiel).

Beispiele

Bei einigen Daten kann diese Methode eine Nullstelle übersehen. Dies geschieht, wenn einer der Spline-Knoten (die FITPACK automatisch platziert) zufällig mit der tatsächlichen Nullstelle zusammenfällt. Eine Umgehung besteht darin, in PPoly zu konvertieren, das einen anderen Algorithmus zur Nullstellensuche verwendet.

Zum Beispiel,

>>> x = [1.96, 1.97, 1.98, 1.99, 2.00, 2.01, 2.02, 2.03, 2.04, 2.05]
>>> y = [-6.365470e-03, -4.790580e-03, -3.204320e-03, -1.607270e-03,
...      4.440892e-16,  1.616930e-03,  3.243000e-03,  4.877670e-03,
...      6.520430e-03,  8.170770e-03]
>>> from scipy.interpolate import UnivariateSpline
>>> spl = UnivariateSpline(x, y, s=0)
>>> spl.roots()
array([], dtype=float64)

Die Konvertierung in ein PPoly-Objekt findet die Nullstellen bei x=2

>>> from scipy.interpolate import splrep, PPoly
>>> tck = splrep(x, y, s=0)
>>> ppoly = PPoly.from_spline(tck)
>>> ppoly.roots(extrapolate=False)
array([2.])