stats_rand_gen_normal
(PECL stats >= 1.0.0)
stats_rand_gen_normal — Generates a single random deviate from a normal distribution
说明
Returns a random deviate from the normal distribution with mean, av
, and standard deviation,
sd
.
参数
av
-
The mean of the normal distribution
sd
-
The standard deviation of the normal distribution
返回值
A random deviate
+添加备注
用户贡献的备注 1 note
KEINOS ¶
4 years ago
Alternative of "stats_rand_gen_normal()".
<?php
/**
* "Box–Muller transform" based random deviate generator.
*
* @ref https://en.wikipedia.org/wiki/Box%E2%80%93Muller_transform
*
* @param float|int $av Average/Mean
* @param float|int $sd Standard deviation
* @return float
*/
if (! function_exists('stats_rand_gen_normal')) {
function stats_rand_gen_normal($av, $sd): float
{
$x = mt_rand() / mt_getrandmax();
$y = mt_rand() / mt_getrandmax();
return sqrt(-2 * log($x)) * cos(2 * pi() * $y) * $sd + $av;
}
}
?>
备份地址:http://www.lvesu.com/blog/php/function.stats-rand-gen-normal.php