scipy.interpolate.NdPPoly

class scipy.interpolate.NdPPoly(c, x, extrapolate=None)[源代码]

分段张量积多项式

点上的值 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,.)

多项式系数,多项式阶 kjmj+1 每个维度的间隔 j

xndarray的二元组,形状(mj+1,)

每个维度的多项式断点。这些必须按升序排序。

extrapolate布尔值,可选

是根据第一个和最后一个间隔外推到越界点,还是返回NAN。默认值:TRUE。

参见

PPoly

一维分段多项式

注意事项

幂基中的高阶多项式在数值上可能是不稳定的。

属性
xndarray元组

断点。

cndarray

多项式的系数。

方法:

__call__ \(X[, nu, extrapolate] )

求分段多项式或其导数

derivative \(Nu)

构造一个新的分段多项式来表示导数。

antiderivative \(Nu)

构造一个新的分段多项式来表示该反导数。

integrate \(范围[, extrapolate] )

计算分段多项式上的定积分。

integrate_1d \(a,b,轴[, extrapolate] )

计算一维定积分的NdPPoly表示

construct_fast \(C,x[, extrapolate] )

构造分段多项式而不做校验。