Почему мое распределение ядов возвращает значения бесконечности - PullRequest
0 голосов
/ 03 апреля 2020

Я пытаюсь рассчитать распределенное по Пуассону время прибытия в python. Я сделал следующую функцию:

from scipy.stats import poisson
import random
import math

def pois_Arrival(ticker):
    m = 15
    p = random.randint(1,100) / 100
    x = poisson.ppf(p, mu = m)
    if x >= 1:
        x = math.trunc(x)
    else:
        x = 1
    arrival = x + ticker
    return arrival

Тикер - это текущее время в симуляции. В большинстве случаев это работает нормально и вычисляет время прибытия, но время от времени я получаю следующую ошибку в math.trun c ():

Возникла исключительная ситуация: OverflowError не может преобразовать float infinity to integer

Похоже, функция возвращает значение бесконечности, но я понятия не имею, почему. Помогите пожалуйста.

(я использую python 3.5.4 64-бит)

...