我试图创建一张图表,但看起来不正确。 对于范围(0, 1000000),图表应该从0开始,在x轴上结束于1,但它有负值。一开始还好,但在某些值之后就会出错。
我尝试手动计算特定的值,发现同一个方程得到了不同的结果。以下是一个例子:
import numpy as np
import matplotlib.pyplot as plt
def graph(formula, x_range):
x = np.array(x_range)
y = eval(formula)
print(y)
plt.plot(x, y)
plt.show()
formula = '1-((2**32-1)/2**32)**(x*(x-1)/2)'
graph(formula, range(80300, 80301))
x = 80300
print(eval(formula))
同一个值得出了不同的结果,这是控制台输出:
[-0.28319476]
0.5279390283223464
我不知道为什么同一个公式和数值会产生不同的结果。正确的结果应该是0.5279390283223464。