【发布时间】:2016-12-31 14:46:54
【问题描述】:
我正在尝试在 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)
【问题讨论】:
-
根据变量 a、b 和 c 的输出以及我的样本计算。我不应该得到 b**2 - (4*a*c) 的值的 -ve 数字。尽管如此,它还是给出了一些“nan”值。
-
b**2 - (4*a*c)中有一个值为-3.1107176892482471的负数。其实有很多 -
@MaroofG 你肯定有负值。看我的回答。
标签: python python-2.7 python-3.x numpy math