numpy.polyint#

numpy.polyint(p, m=1, k=None)[source]#

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

注意

这构成了旧多项式 API 的一部分。从 1.4 版开始,建议使用在 numpy.polynomial 中定义的新多项式 API。在 转换指南 中可以找到差异的总结。

返回的 m 阶反导数 P 多项式 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}\)

参数:
parray_like 或 poly1d

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

mint,可选

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

km 个标量的列表或标量,可选

积分常数。它们按积分顺序给出:对应于最高阶项的常数排在前面。

如果为 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