Python numpy.polyval()的反函数

Python numpy.polyval()的反函数,python,numpy,Python,Numpy,我想知道np.polyval()是否有一个方便的反函数,在这里我给出y值,然后解x 我知道我可以这样做的一个方法是: import numpy as np # Set up the question p = np.array([1, 1, -10]) y = 100 # Solve p_temp = p p_temp[-1] -= y x = np.roots(p_temp) 然而,我的猜测是,大多数人都同意这段代码的可读性很低。有什么建议吗?像这样的怎么样 In [19]: p = np

我想知道np.polyval()是否有一个方便的反函数,在这里我给出y值,然后解x

我知道我可以这样做的一个方法是:

import numpy as np

# Set up the question
p = np.array([1, 1, -10])
y = 100

# Solve
p_temp = p
p_temp[-1] -= y
x = np.roots(p_temp)

然而,我的猜测是,大多数人都同意这段代码的可读性很低。有什么建议吗?

像这样的怎么样

In [19]: p = np.poly1d([1, 1, -10])  # Use a poly1d to represent the polynomial.

In [20]: y = 100

In [21]: (p - y).roots
Out[21]: array([-11.,  10.])
poly1d
对象执行算术运算以返回新的
poly1d
对象,因此
p-y
是一个新的
poly1d

In [22]: p - y
Out[22]: poly1d([   1,    1, -110])
poly1d
roots
属性返回您期望的结果