scipy.interpolate.InterpolatedUnivariateSpline.
первообразная#
- InterpolatedUnivariateSpline.первообразная(n=1)[источник]#
Создайте новый сплайн, представляющий первообразную этого сплайна.
- Параметры:
- nint, необязательный
Порядок антипроизводной для вычисления. По умолчанию: 1
- Возвращает:
- сплайнUnivariateSpline
Сплайн порядка k2=k+n, представляющий первообразную этого сплайна.
Смотрите также
Примечания
Добавлено в версии 0.13.0.
Примеры
>>> 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)
Производная является обратной операцией к первообразной, хотя накапливается некоторая ошибка с плавающей запятой:
>>> spl(1.7), spl.antiderivative().derivative()(1.7) (array(2.1565429877197317), array(2.1565429877201865))
Первообразная может использоваться для вычисления определенных интегралов:
>>> ispl = spl.antiderivative() >>> ispl(np.pi/2) - ispl(0) 2.2572053588768486
Это действительно аппроксимация полного эллиптического интеграла \(K(m) = \int_0^{\pi/2} [1 - m\sin^2 x]^{-1/2} dx\):
>>> from scipy.special import ellipk >>> ellipk(0.8) 2.2572053268208538