如何用Python中的其他多项式替换多项式中的x
?例如,我有p = poly1d([1,1,1])
,x^2+x+1
,现在我想要x
替换y^2
并获取y^4+y^2+1
。这就像两个函数的组合。
答案 0 :(得分:2)
您可以使用numpy.polyval使用NumPy组合多项式。例如:
import numpy as np
p1 = np.poly1d([1, 1, 1])
print (p1)
p2 = np.poly1d([1, 0, 0], variable = 'y')
print (p2)
p = np.polyval(p1, p2)
p = np.poly1d(p, variable = 'y')
print (p)
将打印:
2
1 x + 1 x + 1
2
1 y
4 2
1 y + 1 y + 1
答案 1 :(得分:1)
您可以将多项式替换为NumPy中的其他多项式:
In [2]: p = np.poly1d([1,1,1]) # x^2 + x + 1
In [3]: y2 = np.poly1d([1,0,0]) # x^2
In [4]: p(y2)
Out[4]: poly1d([ 1., 0., 1., 0., 1.]) # x^4 + x^2 + 1