0

我正在寻找一个生成随机数的函数[a,b]

函数必须接受一个参数——种子并返回随机值x є [a,b]。的概率x = a最低,但在移动到 b 时会增加。的概率x = b应该是最高的。

据我了解,我正在寻找的是累积分布函数的实现,但不能肯定地说。所以我会为直接文学感到高兴。或者也许已经有一个内置的 php 实现?

谢谢

4

1 回答 1

1

首先,您没有指定参数应该是什么。下面的函数不使用累积分布。增加 $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;
}
于 2012-12-11T19:40:47.830 回答