scipy.interpolate.

PPoly#

class scipy.interpolate.PPoly(c, x, extrapolate=None, axis=0)[source]#

分段多項式,以係數和斷點表示

x[i]x[i + 1] 之間的此多項式是以局部冪基底表示

S = sum(c[m, i] * (xp - x[i])**(k-m) for m in range(k+1))

其中 k 是多項式的次數。

參數:
cndarray, shape (k, m, …)

多項式係數,階數 km 區間。

xndarray, shape (m+1,)

多項式斷點。必須以遞增或遞減順序排序。

extrapolatebool or ‘periodic’, optional

若為布林值,則決定是否基於第一個和最後一個區間外插到超出範圍的點,或返回 NaN。若為 ‘periodic’,則使用週期性外插。預設值為 True。

axisint, optional

內插軸。預設值為零。

另請參閱

BPoly

在 Bernstein 基底中的分段多項式

註解

在冪基底中的高階多項式在數值上可能不穩定。對於大於 20-30 階的多項式,可能會開始出現精確度問題。

屬性:
xndarray

斷點。

cndarray

多項式的係數。它們被重塑為 3-D 陣列,其中最後一個維度表示原始係數陣列的尾隨維度。

axisint

內插軸。

方法

__call__(x[, nu, extrapolate])

評估分段多項式或其導數。

derivative([nu])

建構一個新的分段多項式,代表導數。

antiderivative([nu])

建構一個新的分段多項式,代表不定積分。

integrate(a, b[, extrapolate])

計算分段多項式的定積分。

solve([y, discontinuity, extrapolate])

找出方程式 pp(x) == y 的實數解。

roots([discontinuity, extrapolate])

找出分段多項式的實根。

extend(c, x)

將額外的斷點和係數添加到多項式。

from_spline(tck[, extrapolate])

從 spline 建構分段多項式

from_bernstein_basis(bp[, extrapolate])

從 Bernstein 基底中的多項式,建構在冪基底中的分段多項式。

construct_fast(c, x[, extrapolate, axis])

建構分段多項式,不進行檢查。