我正在尝试在 python 中运行二次方程。但是,它不断给我警告
RuntimeWarning: invalid value encountered in sqrt
这是我的代码:
import numpy as np
a = 0.75 + (1.25 - 0.75)*np.random.randn(10000)
print(a)
b = 8 + (12 - 8)*np.random.randn(10000)
print(b)
c = -12 + 2*np.random.randn(10000)
print(c)
x0 = (-b - np.sqrt(b**2 - (4*a*c)))/(2 * a)
print(x0)
原文由 Maroof G 发布,翻译遵循 CC BY-SA 4.0 许可协议
这不是 100% Python 相关的。您无法计算负数的平方根(在处理实数时)。
当
b**2 - (4*a*c)
为负数时,您没有采取任何预防措施。让我们测试一下你是否有负值: