numpy.polyval

numpy.polyval(p, x)[源代码]

以特定值计算多项式。

注解

这是旧的多项式API的一部分。从版本1.4开始,新的多项式API在 numpy.polynomial 首选。差异可以在摘要中找到 transition guide .

如果 p 长度为n,此函数返回值:

p[0]*x**(N-1) + p[1]*x**(N-2) + ... + p[N-2]*x + p[N-1]

如果 x 是一个序列,那么 p(x) 为的每个元素返回 x .如果 x 是另一个多项式,然后是复合多项式 p(x(t)) 返回。

参数
p数组或poly1d对象

从最高阶到常数项的多项式系数(包括系数等于零)的一维数组,或Poly1D的一个实例。

x数组或poly1d对象

一个数、一组数或poly1d的一个实例,在该实例中计算 p .

返回
valuesndarray或poly1d

如果 x 是一个poly1d实例,结果是两个多项式的组合,即: x 在中被“替换” p 并返回简化后的结果。此外,类型 x -array_like or poly1d-控制输出类型: x 列阵=> values array_like, x poly1d对象=> values 也是。

参见

poly1d

多项式类。

笔记

霍纳法则 [1] 用于计算多项式。即使如此,对于高度多项式,由于舍入误差,值可能不准确。小心使用。

如果 x 是一个亚型 ndarray 返回值的类型相同。

工具书类

1

I.N.Bronshtein、K.A.Semendyav和K.A.Hirsch(工程翻译Ed.) 数学手册 ,纽约,van Nostrand Reinhold Co.,1985年,第720页。

实例

>>> np.polyval([3,0,1], 5)  # 3 * 5**2 + 0 * 5**1 + 1
76
>>> np.polyval([3,0,1], np.poly1d(5))
poly1d([76])
>>> np.polyval(np.poly1d([3,0,1]), 5)
76
>>> np.polyval(np.poly1d([3,0,1]), np.poly1d(5))
poly1d([76])