gpt4 book ai didi

java - 模拟泊松等待时间

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:26:19 25 4
gpt4 key购买 nike

我需要模拟泊松等待时间。我发现了很多模拟到达次数的例子,但我需要模拟一次到达的等待时间,给定平均等待时间。

我一直在寻找这样的代码:

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 类中可用的方法,那将是最好的,但这不是必需的。

最佳答案

到达时间间隔呈指数分布,您可以使用以下公式生成随机变量X~exp(lambda):

-ln(U)/lambda` (where U~Uniform[0,1]). 

有关 generating exponential variable 的更多信息.

请注意,到达之间的时间也与第一次到达之前的时间相匹配,因为指数分布是 memoryless .

关于java - 模拟泊松等待时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6527345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com