我有一个小问题,就是Python中的浮点数太大。发生溢出错误。你知道吗
函数如下所示:
N(t + 1) = (1 + c) N(t) - (c / d) * N(t)**2
其中t是时间,c和d是常数。你知道吗
我需要它计算一分钟(t=60)。但是在t=8,9或10之后,我得到了溢出错误。你知道吗
def nValue(t):
n_calc = []
c = 2.3 # 0..3
d = 95 # 1..250
n_0 = 450 # 0..600
n_1 = (1 + c) * n_0 - c / d * n_0**2
n_calc.append(n_0)
n_calc.append(n_1)
for i in range(2, t+1):
n_curr = (1 + c) * n_calc[i- 1] - (c / d) * (n_calc[i- 1]**2)
n_calc.append(n_curr)
return n_calc
我应该使用十进制类型,BigFloat还是其他什么?你知道吗
最后我要画情节。。。(2D Matplotlib图)。也许我应该“缩放”这个等式?你知道吗
你可以用前面的答案作为参考。 OverflowError: (34, 'Result too large') Decimal类没有限制,所以应该使用。它的作用与GMP和其他任意精度库相同。你知道吗
我希望这对你有帮助。 https://en.wikipedia.org/wiki/List_of_arbitrary-precision_arithmetic_software
相关问题 更多 >
编程相关推荐