12

在 php 中,如何生成一个随机数,假设具有特定均值和标准偏差的正态分布?

4

2 回答 2

17
function nrand($mean, $sd){
    $x = mt_rand()/mt_getrandmax();
    $y = mt_rand()/mt_getrandmax();
    return sqrt(-2*log($x))*cos(2*pi()*$y)*$sd + $mean;
}
于 2013-04-11T14:56:24.180 回答
2

尝试使用 PHP 的stats_rand_gen_normal函数。我相信它可以满足您的需求,并且不需要您重新发明轮子:

生成单个随机偏离正态分布的均值、av 和标准差 sd (sd >= 0)

于 2013-04-11T15:00:56.647 回答