Мне нужно смоделировать время ожидания Пуассона. Я нашел много примеров моделирования количества прибытий, но мне нужно смоделировать время ожидания для одного прибытия, учитывая среднее время ожидания.
Я все время нахожу такой код:
public int getPoisson(double lambda)
{
double L = Math.exp(-lambda);
double p = 1.0;
int k = 0;
do
{
k++;
p *= rand.nextDouble();
p *= Math.random();
} while (p > L);
return k - 1;
}
, но это для количества прибытия, а не времени прибытия.
Эффективность предпочтительнее точности, больше из-за энергопотребления, чем времени. Я работаю на языке Java, и было бы лучше, если бы алгоритм использовал только методы, доступные в классе Random, но это не обязательно.