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, …)
多項式係數,階數 k 和 m 區間。
- 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])建構分段多項式,不進行檢查。