51

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

我的问题是:

我有一个特定的到达时间,比如 100 分钟和 1000 个粉丝,我需要在该分布之后的时间生成粉丝的到达,比如 -> 粉丝 x 到达 25 分钟,粉丝 y 到达 54 分钟,依此类推。

如何按照正态分布生成这些随机数?

我在 Java 中执行此操作,并在Random 类nextGaussian()中找到了该方法,但我不确定如何在我的情况下使用它。

有人可以启发我吗?

4

2 回答 2

83

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

文档中Random.nextGaussian()

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

于 2011-05-15T23:41:44.083 回答
8

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

于 2011-05-15T23:26:32.693 回答