如何用Python中的其他多项式替换多项式中的x?

时间:2015-11-30 03:50:37

标签: python python-3.x numpy

如何用Python中的其他多项式替换多项式中的x?例如,我有p = poly1d([1,1,1])x^2+x+1,现在我想要x替换y^2并获取y^4+y^2+1。这就像两个函数的组合。

2 个答案:

答案 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