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])在不进行检查的情况下构造分段多项式。