Нормальное распределение Java - PullRequest
38 голосов
/ 16 мая 2011

Я пытаюсь смоделировать приход фанатов на стадион.Сама система, я полагаю, не будет проблемой, но приход фанатов следует за нормальным распределением.

Моя проблема:

У меня есть определенное время для прибытия, например, 100 минут и 1000 фанатов, и мне нужно генерировать прибытия фанатов за раз, следующий за этим распределением, например -> fan xприбыл в 25 минут, вентилятор у прибыл в 54 минуты и т. д.

Как я могу генерировать эти случайные числа после нормального распределения?

Я делаю это на Java и нашелnextGaussian() метод в Случайном классе , но я не уверен, как использовать это в моей ситуации.

Может кто-нибудь, пожалуйста, просветите меня?

Ответы [ 2 ]

66 голосов
/ 16 мая 2011

nextGaussian() будет отбирать выборки из нормального распределения со средним 0 и стандартным отклонением 1, поэтому, если вы хотите среднее значение 1 часа и стандартное отклонение 15 минут, вам нужно будет назвать его как nextGaussian()*15+60.

Из документов для Random.nextGaussian():

Возвращает:
следующее псевдослучайное, гауссовское ("обычно") двойное значение со средним 0,0 и стандартным отклонением1.0 из последовательности этого генератора случайных чисел

5 голосов
/ 16 мая 2011

Я предлагаю вам использовать apache math: http://commons.apache.org/math/, смотрите здесь для получения дополнительной информации: http://commons.apache.org/math/userguide/stat.html

...