- Catégories :
NORMAL¶
Génère un nombre à virgule flottante pseudo-aléatoire normalement distribué avec un écart type spécifié mean
et stddev
(standard).
Syntaxe¶
NORMAL( <mean> , <stddev> , <gen> )
Arguments¶
mean
Constante spécifiant la valeur sur laquelle les valeurs de sortie doivent être centrées.
stddev
Constante spécifiant la largeur d’un écart-type.
Ceci spécifie la largeur d’un écart-type. Par exemple, si vous choisissez une moyenne de 0,0 et un écart-type de 1,0, si vous appelez cette fonction plusieurs fois, environ 68,2 % des valeurs renvoyées seront comprises entre -1,0 et +1,0 (c.-à-d. à moins d’un écart-type de la moyenne).
De même, si vous choisissez une moyenne de 5,0 et un écart type de 2, environ 68,2 % des valeurs seront comprises entre 3,0 et 7,0.
gen
Expression qui sert de source brute de nombres aléatoires uniformes, généralement la fonction
RANDOM
. Pour plus d’informations, voir Fonctions de génération de données Notes sur l’utilisation.
Renvoie¶
Renvoie un nombre aléatoire en virgule flottante. Les résultats cumulés d’un grand nombre d’appels répétés se rapprochent d’une distribution normale.
Notes sur l’utilisation¶
Cette fonction est apparentée à la fonction RANDOM mais en diffère, tant en ce qui concerne les plages de valeurs renvoyées que leur distribution.
RANDOM
génère des entiers aléatoires de 64 bits selon une distribution uniforme. Il accepte un seed facultative qui permet de répéter des séquences aléatoires.Lorsque
RANDOM
est appelé un grand nombre de fois, les résultats sont répartis plus ou moins uniformément sur la plage de valeurs possibles. Par exemple, le nombre de résultats avec des valeurs comprises entre 1000 et 2000 est similaire au nombre de valeurs compris entre 2000 et 3000.NORMAL
génère des nombres entiers ou flottants aléatoires centrés sur la moyenne spécifiée, avec l’écart-type standard spécifié.Lorsque
NORMAL
est appelé un grand nombre de fois, la distribution des résultats est susceptible d’approcher une courbe « normale » (« courbe en forme de cloche »). Le centre de la courbe et sa « largeur » sont influencés par les paramètresmean
etstddev
. Les valeurs plus proches de la moyenne spécifiée ont plus de chances de se produire que les valeurs éloignées de la moyenne.
Exemples¶
Cela montre une utilisation typique avec une moyenne de 0 et un écart type de 1 :
SELECT normal(0, 1, random()) FROM table(generator(rowCount => 5)); +------------------------+ | NORMAL(0, 1, RANDOM()) | |------------------------| | 0.227384164 | | 0.9945290748 | | -0.2045078571 | | -1.594607893 | | -0.8213296842 | +------------------------+
Cela montre que si le paramètre gen
est une constante, la sortie est une constante :
SELECT normal(0, 1, 1234) FROM table(generator(rowCount => 5)); +--------------------+ | NORMAL(0, 1, 1234) | |--------------------| | -0.6604156716 | | -0.6604156716 | | -0.6604156716 | | -0.6604156716 | | -0.6604156716 | +--------------------+