update page now
Laravel Live Japan

stats_rand_gen_normal

(PECL stats >= 1.0.0)

stats_rand_gen_normalGénère une déviation aléatoire de la distribution normale

Description

stats_rand_gen_normal(float $av, float $sd): float

Renvoie une déviation aléatoire de la distribution normale avec la moyenne, av, et l'écart-type, sd.

Liste de paramètres

av

La moyenne de la distribution normale

sd

L'écart-type de la distribution normale

Valeurs de retour

Une déviation aléatoire

add a note

User Contributed Notes 1 note

up
5
KEINOS
5 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;
    }
}
?>
To Top