修改多项式方程中代入的 python 列表/数组的值
Modify the values of a python list / array substituted in a polynomial equation
我需要帮助使用这组初始正数作为方程根来创建语句。我必须将它们代入我的多项式方程以确定该特定数字是否为根。这是我到目前为止的想法:
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 列表更新为所需的形式。
我需要帮助使用这组初始正数作为方程根来创建语句。我必须将它们代入我的多项式方程以确定该特定数字是否为根。这是我到目前为止的想法:
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 列表更新为所需的形式。