numpy.polyint#
- numpy.polyint(p, m=1, k=None)[源代码]#
返回多项式的反导数(不定积分)。
注意
这是旧版多项式 API 的一部分。自 1.4 版本以来,更推荐使用在
numpy.polynomial
中定义的新版多项式 API。差异总结请参见过渡指南。返回的多项式 p 的 m 阶反导数 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