當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python SciPy UnivariateSpline.antiderivative用法及代碼示例


本文簡要介紹 python 語言中 scipy.interpolate.UnivariateSpline.antiderivative 的用法。

用法:

UnivariateSpline.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.UnivariateSpline.antiderivative。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。