当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python numpy poly1d用法及代码示例


本文简要介绍 python 语言中 numpy.poly1d 的用法。

用法:

class  numpy.poly1d(c_or_r, r=False, variable=None)

一维多项式类。

注意

这构成了旧多项式 API 的一部分。从版本 1.4 开始,首选在 numpy.polynomial 中定义的新多项式 API。可以在过渡指南中找到差异摘要。

一个便利类,用于封装多项式上的“natural” 运算,以便所述运算可以在代码中采用它们的惯用形式(参见示例)。

参数

c_or_r array_like

多项式的系数,以递减的幂计算,或者如果第二个参数的值为 True,则为多项式的根(多项式计算为 0 的值)。例如,poly1d([1, 2, 3]) 返回一个表示 的对象,而 poly1d([1, 2, 3], True) 返回一个表示 的对象。

r 布尔型,可选

如果为真,c_or_r 指定多项式的根;默认为假。

variable str,可选

更改打印时使用的变量pxvariable(见示例)。

例子

构造多项式

>>> p = np.poly1d([1, 2, 3])
>>> print(np.poly1d(p))
   2
1 x + 2 x + 3

处计算多项式:

>>> p(0.5)
4.25

寻找根源:

>>> p.r
array([-1.+1.41421356j, -1.-1.41421356j])
>>> p(p.r)
array([ -4.44089210e-16+0.j,  -4.44089210e-16+0.j]) # may vary

上一行中的这些数字表示 (0, 0) 到机器精度

显示系数:

>>> p.c
array([1, 2, 3])

显示顺序(去除前导零系数):

>>> p.order
2

显示多项式中k-th 幂的系数(相当于p.c[-(i+1)]):

>>> p[1]
2

多项式可以相加、相减、相乘和相除(返回商和余数):

>>> p * p
poly1d([ 1,  4, 10, 12,  9])
>>> (p**3 + 4) / p
(poly1d([ 1.,  4., 10., 12.,  9.]), poly1d([4.]))

asarray(p) 给出系数数组,因此多项式可用于所有接受数组的函数:

>>> p**2 # square of polynomial
poly1d([ 1,  4, 10, 12,  9])
>>> np.square(p) # square of individual coefficients
array([1, 4, 9])

在字符串表示中使用的变量p可以修改,使用variable范围:

>>> p = np.poly1d([1,2,3], variable='z')
>>> print(p)
   2
1 z + 2 z + 3

从其根构造一个多项式:

>>> np.poly1d([1, 2], True)
poly1d([ 1., -3.,  2.])

这与通过以下方式获得的多项式相同:

>>> np.poly1d([1, -1]) * np.poly1d([1, -2])
poly1d([ 1, -3,  2])

属性

c

多项式系数

coef

多项式系数

coefficients

多项式系数

coeffs

多项式系数

o

多项式的阶数或次数

order

多项式的阶数或次数

r

多项式的根,其中 self(x) == 0

numpy.roots

多项式的根,其中 self(x) == 0

variable

多项式变量的名称

相关用法


注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.poly1d。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。