NumPy参考 >例行程序 >Polynomials >Poly1d > numpy.polyval
numpy.
polyval
(p,x )[来源] ¶用特定值评估多项式。
如果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)) 。
一阶多项式系数(包括等于零的系数)从最高阶到常数项的数组,或者是poly1d的实例。
一个数字,一个数字数组或一个poly1d实例,可以在其中求p。
如果x是一个poly1d实例,则结果是两个多项式的合成,即x在p中被“取代”,并返回简化的结果。另外,x的类型-array_like或poly1d-决定输出的类型:x array_like => values array_like,x a poly1d object => values也是如此。
也可以看看
poly1d
多项式类。
笔记
Horner的方案[1]用于评估多项式。即使这样,对于高次多项式,由于舍入误差,值可能仍然不准确。小心使用。
如果x是ndarray
返回值的子类型,则返回值将是同一类型。
参考文献
在Bronshtein,KA Semendyayev和KA Hirsch(英语译)上,《数学手册》,纽约,范·诺斯特兰德·莱因霍尔德(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.])