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


Python SciPy interpolate.splantider用法及代码示例


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

用法:

scipy.interpolate.splantider(tck, n=1)#

计算给定样条的反导数(积分)的样条。

参数

tck BSpline 实例或 (t, c, k) 的元组

要计算其反导数的样条

n 整数,可选

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

返回

BSpline 实例或 (t2, c2, k2) 的元组

k2=k+n 阶样条表示输入样条的反导数。如果输入参数 tck 是一个元组,则返回一个元组,否则构造并返回一个 BSpline 对象。

注意

scipy.interpolate.splder函数是这个函数的逆运算。即,splder(splantider(tck))等同于tck, 模舍入误差。

例子

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

导数是反导数的逆运算,尽管会累积一些浮点误差:

>>> splev(1.7, spl), splev(1.7, splder(splantider(spl)))
(array(2.1565429877197317), array(2.1565429877201865))

Antiderivative 可用于计算定积分:

>>> ispl = splantider(spl)
>>> splev(np.pi/2, ispl) - splev(0, ispl)
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.splantider。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。