<?php
function destination($x)
{
return 1/2 * exp(-$x * $x); //интеграл от распределения вероятности x * exp(-x * x), принимает на вход 0..1
}
function my_rand($min, $max)
{
return $min + destination(random()) * ($max - $min);
}
function random() //random 0..1
{
return mt_rand() / mt_getrandmax();
}
echo my_rand(10, 100);
Вот накатал пример. destination — это интеграл от распределения нужной вероятности вероятности (нормированная на еденицу)
В данном случае возвращаются числа по распределению Максвелла