修改多项式方程中替换的python列表/数组的值



我需要帮助为方程的根创建一个带有正数的初始集合的语句。我必须把它们代入多项式方程,以确定某个数字是否是根。这就是我到目前为止提出的:

k = [4.0, 2.0, 1.0054, 0.9946] # Set of roots (sign-less)
pol = x**4 + 6*x**3 + 7*x**2 - 6*x - 8 # Polynomial equation
(pol(k)) <= abs(1)

输出:

array([False, False,  True,  True])

基本上,我想要的是按原样打印那些True,并反转那些False的符号,因为后者给出了一个非常大的值,因此可能不是我方程的根。期望的输出应该是这样的:

[-4.0, -2.0, 1.0054, 0.9946]

我有点陷入了第三行,因为我无法思考下一步该如何执行。如有任何帮助,我们将不胜感激。我对python编码很陌生。谢谢

代码:

k = [4.0, 2.0, 1.0054, 0.9946]
array = ([False, False,  True,  True])
if len(k)==len(array):
for i in range(len(k)):
if array[i] == False:
k[i]-=(2*k[i])
print(k)

**输出:**

[-4.0, -2.0, 1.0054, 0.9946]

看看,这个代码会将你的k列表更新为所需的形式。

最新更新