numpy.polyval #

麻木的。polyval ( p , x ) [来源] #

计算特定值的多项式。

笔记

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

如果p 的长度为 N,则该函数返回值:

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

如果x是序列,则p(x)返回 的每个元素x。如果xp(x(t))是另一个多项式,则 返回复合多项式。

参数
p array_like 或 poly1d 对象

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

x array_like 或 poly1d 对象

一个数字、数字数组或 poly1d 的实例,用于计算p

返回
ndarray 或 poly1d

如果x是一个poly1d实例,则结果是两个多项式的复合,即x被“代入” p中并返回简化结果。此外,x的类型- array_like 或 poly1d - 控制输出的类型:x array_like => array_like,x a poly1d 对象 =>也是。

也可以看看

poly1d

多项式类。

笔记

Horner 方案[1]用于评估多项式。即便如此,对于高次多项式,由于舍入误差,值可能不准确。小心使用。

如果x是子类型,则ndarray返回值将是相同类型。

参考

[ 1 ]

IN Bronshtein、KA Semendyayev 和 KA Hirsch(英译版),《数学手册》,纽约,Van Nostrand Reinhold Co.,1985 年,第 17 页。 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])