numpy.lib.polynomial.polyval允许您使用另一个多项式来评估多项式:
numpy.polyval(poly1d([1, 2, 3]), 2)
Out[832]: 11
numpy.polyval(poly1d([1, 1]), poly1d([1, 1, 1]))
Out[820]: poly1d([ 1., 1., 2.])
例如。你如何使用numpy.polynomial.polynomial.polyval做同样的事情?
numpy.polynomial.polynomial.polyval(2, [3, 2, 1])
Out[833]: 11.0
numpy.polynomial.polynomial.polyval(Polynomial([1, 1, 1]), Polynomial([1, 1]))
Out[834]: Polynomial([ 1., 1.], [-1., 1.], [-1., 1.])
最佳答案
最简单的方法是使用Polynomial类。
In [1]: from numpy.polynomial import Polynomial as P
In [2]: p1 = P([1,1])
In [3]: p2 = P([1,1,1])
In [4]: p2(p1)
Out[4]: Polynomial([ 3., 3., 1.], [-1., 1.], [-1., 1.])
In [5]: p1(p2)
Out[5]: Polynomial([ 2., 1., 1.], [-1., 1.], [-1., 1.])
如果坚持使用多项式,则既需要系数,又需要多项式作为x。
In [12]: import numpy.polynomial.polynomial as poly
In [13]: poly.polyval(p1, [1,1,1])
Out[13]: Polynomial([ 3., 3., 1.], [-1., 1.], [-1., 1.])
In [14]: poly.polyval(p2, [1,1])
Out[14]: Polynomial([ 2., 1., 1.], [-1., 1.], [-1., 1.])
关于python - 在其他多项式中评估numpy多项式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24771027/