numpy.polyint#

numpy.polyint(p, m=1, k=None)[源代码]#

返回多项式的反导数(不定积分)。

注意

这是旧版多项式 API 的一部分。自 1.4 版本以来,更推荐使用在 numpy.polynomial 中定义的新版多项式 API。差异总结请参见过渡指南

返回的多项式 pm 阶反导数 P 满足 \(\frac{d^m}{dx^m}P(x) = p(x)\),并由最多 m - 1 个积分常数 k 定义。这些常数决定了低阶多项式部分

\[\frac{k_{m-1}}{0!} x^0 + \ldots + \frac{k_0}{(m-1)!}x^{m-1}\]

P,使得 \(P^{(j)}(0) = k_{m-j-1}\)

参数:
p数组式或 poly1d

要积分的多项式。序列被解释为多项式系数,详见 poly1d

m整型,可选

反导数的阶数。(默认值:1)

k包含 m 个标量的列表或单个标量,可选

积分常数。它们按积分顺序给出:对应于最高阶项的常数优先。

如果为 None(默认值),则所有常数均假定为零。如果 m = 1,可以提供单个标量而不是列表。

另请参见

polyder

多项式的导数

poly1d.integ

等效方法

示例

反导数的定义特性

>>> import numpy as np
>>> p = np.poly1d([1,1,1])
>>> P = np.polyint(p)
>>> P
 poly1d([ 0.33333333,  0.5       ,  1.        ,  0.        ]) # may vary
>>> np.polyder(P) == p
True

积分常数默认为零,但可以指定

>>> P = np.polyint(p, 3)
>>> P(0)
0.0
>>> np.polyder(P)(0)
0.0
>>> np.polyder(P, 2)(0)
0.0
>>> P = np.polyint(p, 3, k=[6,5,3])
>>> P
poly1d([ 0.01666667,  0.04166667,  0.16666667,  3. ,  5. ,  3. ]) # may vary

注意 3 = 6 / 2!,并且常数是按积分顺序给出的。最高阶多项式项的常数优先。

>>> np.polyder(P, 2)(0)
6.0
>>> np.polyder(P, 1)(0)
5.0
>>> P(0)
3.0