当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy LSQUnivariateSpline.antiderivative用法及代码示例


本文简要介绍 python 语言中scipy.interpolate.LSQUnivariateSpline.antiderivative的用法。

用法:

LSQUnivariateSpline.antiderivative(n=1)#

构造一个表示该样条的反导数的新样条。

参数

n 整数,可选

要评估的反衍生物的顺序。默认值:1

返回

spline UnivariateSpline

k2=k+n 阶样条表示该样条的反导数。

注意

例子

>>> 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))

Antiderivative 可用于计算定积分:

>>> 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

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.interpolate.LSQUnivariateSpline.antiderivative。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。