如何在python3(递归函数)中处理大浮动?

2024-09-27 07:25:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个小问题,就是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图)。也许我应该“缩放”这个等式?你知道吗


Tags: 函数in类型forreturndef错误时间

热门问题