Moyenne de chiffre aléatoire

menojulien Messages postés 38 Statut Membre -  
menojulien Messages postés 38 Statut Membre -
Bonjour,

Je dois crée une série aléatoire de chiffre dont la moyenne de ces nombre est égale a un chiffre donné.
Le langage utilisé est le php.
J'ai réussi a crée une serie de chiffre aléatoire mais je n'ai pas d'idée pour la moyenne.
Merci de vos réponses
A voir également:

7 réponses

Darkito Messages postés 1191 Date d'inscription   Statut Membre Dernière intervention   545
 
Bonjour,
s'il te faut une série de N nombres aléatoires de moyenne M, il te suffit d'en créer N-1 et de calculer le dernier.

0
Moeb Messages postés 103 Statut Membre 12
 
Si leur moyenne doit être exactement égale à un nombre, ce n'est plus stochastique.
Par contre, tu peux faire toujours faire tendre la moyenne de la population considérée en considérant un grand nombre d'échantillons. Par exemple, si tu génères des nombres aléatoires entre 0 et 1, la moyenne tendra vers 0,5 quand N tendra vers l'infini.
0
menojulien Messages postés 38 Statut Membre 1
 
en faite je dois générer des chiffres entre 0 et 20 pour que la moyenne de ces chiffre soit égale a un nombre que je précise au départ
0
Moeb Messages postés 103 Statut Membre 12
 
Ouais, donc dans ce cas là tu peux appliquer la méthode de Darkito, même si c'est plus "réellement" aléatoire..

En gros tu auras ton nombre de "triche" de la manière suivante

X = Moyenne * N / (Somme des N-1 aléatoires)
0
Darkito Messages postés 1191 Date d'inscription   Statut Membre Dernière intervention   545 > Moeb Messages postés 103 Statut Membre
 
Surement une erreur de frappe/inattention

X = Moyenne*N - (Somme des N-1 aléatoires)
0
Moeb Messages postés 103 Statut Membre 12 > Darkito Messages postés 1191 Date d'inscription   Statut Membre Dernière intervention  
 
Autant pour moi ! ;)
0
menojulien Messages postés 38 Statut Membre 1
 
OK c'est parfait merci beaucoup
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
menojulien Messages postés 38 Statut Membre 1
 
Par contre sa me donne des chiffres a virgule alors qu'il me faut des nombre entier
0
Darkito Messages postés 1191 Date d'inscription   Statut Membre Dernière intervention   545
 
Qu'est-ce qui te donne des "chiffres à virgules" ?
ton code php ?
0
menojulien Messages postés 38 Statut Membre 1
 
non le dernier chiffre "triche" crée par X = Moyenne*N - (Somme des N-1 aléatoires)
0
Darkito Messages postés 1191 Date d'inscription   Statut Membre Dernière intervention   545
 
Si ta moyenne est un entier, ce n'est pas possible...
car entier * entier = entier et entier - entier = entier
0
Moeb Messages postés 103 Statut Membre 12 > Darkito Messages postés 1191 Date d'inscription   Statut Membre Dernière intervention  
 
Oui sauf que les aléatoires générés ne sont pas entiers, donc somme(flottants) = flottant
Mais par contre je me demande s'il fait un autocast de l'entier en flottant quand il fait des opé entre les deux. Apparemment dans cet exemple il a l'air de le faire..
La solution serait de tronquer les aléatoires?
0
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847 > Moeb Messages postés 103 Statut Membre
 
Salut,

Au lieu de tirer "aléatoirement" des flottants, tu tires des entiers.

Cdt
0
menojulien Messages postés 38 Statut Membre 1
 
C'est bon c'est réglé c'est moi qui me suis trompé dans un calcule.

Par contre j'aurai une autre question comment je peut faire pour concaténer un nombre et une virgule parce que moi j'ai fait

$histo .= $aleatoire ",";

mais ça ne marche pas
0