scipy.interpolate.

NdPPoly#

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

分段張量積多項式

xp = (x', y', z', ...) 的值會先計算區間索引 i,使得

x[0][i[0]] <= x' < x[0][i[0]+1]
x[1][i[1]] <= y' < x[1][i[1]+1]
...

然後計算

S = sum(c[k0-m0-1,...,kn-mn-1,i[0],...,i[n]]
        * (xp[0] - x[0][i[0]])**m0
        * ...
        * (xp[n] - x[n][i[n]])**mn
        for m0 in range(k[0]+1)
        ...
        for mn in range(k[n]+1))

其中 k[j] 是維度 j 中多項式的次數。此表示法為分段多元冪基底。

參數:
cndarray,形狀 (k0, …, kn, m0, …, mn, …)

多項式係數,每個維度 j 的多項式階數為 kj,區間數為 mj+1

xndim 元組的 ndarray,形狀 (mj+1,)

每個維度的多項式斷點。這些必須以遞增順序排序。

extrapolatebool,選填

是否基於第一個和最後一個區間外插到超出範圍的點,或返回 NaN。預設值:True。

另請參閱

PPoly

一維分段多項式

註解

冪基底中的高階多項式在數值上可能不穩定。

屬性:
xndarray 元組

斷點。

cndarray

多項式的係數。

方法

__call__(x[, nu, extrapolate])

評估分段多項式或其導數

derivative(nu)

建構一個新的分段多項式來表示導數。

antiderivative(nu)

建構一個新的分段多項式來表示反導數。

integrate(ranges[, extrapolate])

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

integrate_1d(a, b, axis[, extrapolate])

計算一維定積分的 NdPPoly 表示法

construct_fast(c, x[, extrapolate])

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