Колоколообразная кривая с левым или правым смещением

В Java я хочу сгенерировать случайное число от 1 до 100, которое может быть основано на любом конце шкалы, но при этом иметь шанс на то, что число с противоположного конца все еще «прокручивается». .

Чтобы уточнить, в нормальной ситуации при количестве бросков от 1 до 100 среднее значение будет равно 50, но в некоторых ситуациях я хочу, чтобы среднее значение сместилось вниз, скажем, до 25%.< /strong> Но при этом все еще есть шанс сгенерировать 100%.

Я просмотрел Random.nextGaussian, который сдвигает кривую колокола, но для нижнего конечного значения это устраняет возможности верхнего конца.

Какую формулу или комбинацию формул следует использовать?

Bell_curve_with_shift

введите здесь описание изображения


person gavin    schedule 05.01.2016    source источник


Ответы (1)


  1. Разработайте точную форму распределения, которую вы хотите.

  2. Вычислите функцию квантиля для этого распределения.

  3. Нарисуйте однородное случайное число в [0, 1) с помощью соответствующего генератора.

  4. Это входные данные функции квантиля.

Полученные числа будут распределены так, как вам нужно.

person Bathsheba    schedule 05.01.2016
comment
Я только просмотрел эту статью, но похоже, что она описывает процесс очень похоже на этот ответ более подробно. - person Andy Turner; 05.01.2016