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


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