scipy.interpolate.LSQUnivariateSpline.

antiderivative#

LSQUnivariateSpline.antiderivative(n=1)[Quelle]#

Konstruiere einen neuen Spline, der die Stammfunktion dieses Splines darstellt.

Parameter:
nint, optional

Ordnung der Stammfunktion, die ausgewertet werden soll. Standard: 1

Rückgabe:
splineUnivariateSpline

Spline der Ordnung k2=k+n, die die Stammfunktion dieses Splines darstellt.

Siehe auch

splantider, derivative

Hinweise

Hinzugefügt in Version 0.13.0.

Beispiele

>>> import numpy as np
>>> from scipy.interpolate import UnivariateSpline
>>> x = np.linspace(0, np.pi/2, 70)
>>> y = 1 / np.sqrt(1 - 0.8*np.sin(x)**2)
>>> spl = UnivariateSpline(x, y, s=0)

Die Ableitung ist die Umkehroperation der Stammfunktion, obwohl einige Gleitkommafehler akkumulieren.

>>> spl(1.7), spl.antiderivative().derivative()(1.7)
(array(2.1565429877197317), array(2.1565429877201865))

Die Stammfunktion kann zur Auswertung bestimmter Integrale verwendet werden.

>>> ispl = spl.antiderivative()
>>> ispl(np.pi/2) - ispl(0)
2.2572053588768486

Dies ist tatsächlich eine Annäherung an das vollständige elliptische Integral \(K(m) = \int_0^{\pi/2} [1 - m\sin^2 x]^{-1/2} dx\)

>>> from scipy.special import ellipk
>>> ellipk(0.8)
2.2572053268208538