我正在寻找一个生成随机数的函数[a,b]
函数必须接受一个参数——种子并返回随机值x є [a,b]
。的概率x = a
最低,但在移动到 b 时会增加。的概率x = b
应该是最高的。
据我了解,我正在寻找的是累积分布函数的实现,但不能肯定地说。所以我会为直接文学感到高兴。或者也许已经有一个内置的 php 实现?
谢谢
首先,您没有指定参数应该是什么。下面的函数不使用累积分布。增加 $n 将导致更可能返回接近 b 的值。
function almostRandom() {
$a = 1;
$b = 10;
$n = 2.5;
$random = rand(0, 1000000) / 1000000;
$positionInInterval = 1 - pow($random, $n);
$intervalLength = $b - $a;
$value = $a + $intervalLength * $positionInInterval;
return $value;
}