Java正态分布

时间:2011-05-15 23:23:00

标签: java random normal-distribution

我正试图模拟球迷到达体育场的过程。系统本身,我相信它不会是一个问题,但是,粉丝的到来遵循正常的分布。

我的问题是:

我有一段时间来到达100分钟和1000名粉丝,我需要在分发之后一次产生粉丝的到来,例如 - >粉丝x到达25分钟,粉丝到达54分钟,依此类推。

如何在正态分布后生成这些随机数?

我在Java中这样做并在Random class中找到nextGaussian()方法,但我不确定如何在我的情况下使用它。

有人可以赐教我吗?

2 个答案:

答案 0 :(得分:64)

nextGaussian()将从正态分布中抽取样本,平均值为0,标准偏差为1,因此如果你想要平均1小时和标准偏差15分钟,你需要将其称为nextGaussian()*15+60

来自docs for Random.nextGaussian()

  

返回:
  下一个伪随机数,高斯(“正常”)分布的双值,平均值为0.0,标准差为1.0,来自该随机数发生器的序列

答案 1 :(得分:5)

我建议你使用apache数学:http://commons.apache.org/math/,在这里查看更多信息:http://commons.apache.org/math/userguide/stat.html