考虑Python代码:
将numpy导入为np
print(np.sqrt(1-0.5 ** 2))
这将返回以0.86开头的长十进制,而我希望它返回0.75。为什么会有差异?
答案 0 :(得分:3)
我不知道您为什么期望它返回0.75。详细考虑您在做什么:
1 - 0.5**2
平方0.5
,然后从1中减去。如预期那样,得出0.75。
np.sqrt(1 - 0.5**2)
np.sqrt(0.75)
现在,numpy
取平方根0.75,然后返回0.8660254037844386
。应该这样做,因为那是0.75的平方根。
答案 1 :(得分:1)
因为1-0.5**2
是0.75
,平方根fo 0.75
是~0.86
答案 2 :(得分:1)
一步一步地发生:
import numpy as np
exp = (0.5**2)
print(exp)
diff = 1 - exp
print(diff)
print(np.sqrt(diff))