SmallTalk VisualWorks nombre pseudo-aléatoire
Résolu/Fermé
A voir également:
- SmallTalk VisualWorks nombre pseudo-aléatoire
- Pseudo facebook - Guide
- Nombre facile - Télécharger - Outils professionnels
- Je cherche un pseudo pour mon facebook ✓ - Forum Facebook
- Caractère invisible pour pseudo ✓ - Forum Windows
- Changer pseudo instagram - Guide
4 réponses
Bonjour,
J'ai une petite idée sur l'algorithme mais je ne connais pas du tout ton environnement de travail.
J'ai une petite idée sur l'algorithme mais je ne connais pas du tout ton environnement de travail.
Bonjour,
Si tu as le temps de me conseiller sur l'algorithme, je t'en remercie. Par exemple en R ? Ou simplement en formalisant les équations ?
D'avance merci.
Si tu as le temps de me conseiller sur l'algorithme, je t'en remercie. Par exemple en R ? Ou simplement en formalisant les équations ?
D'avance merci.
Bonjour,
Si tu n'as pas encore trouvé ta solution,
indépendamment du langage, il me semble que tu cherches un nombre aléatoire auquel tu appliques une fonction qui reformate la sortie de sorte qu'elle corresponde à ton souhait.
A toi de définir la fonction : hyperbolique, parabolique, logarithmique ou autre ;
Le "centre de gravité" souhaité étant 15, avec comme limites -5 et +30, ce "centre" ne se trouve pas au centre des sorties possibles : 15 n'est pas à mi-chemin de -5 et +30 ; à toi de définir arbitrairement une méthode pour répartir les sorties autour de ton centre (15) : soit en tronquant les sorties qui sortent du champs attendu, soit en appliquant une fonction différente suivant que le nombre aléatoire obtenu sort à droite ou à gauche de ton "centre"
A ta dispo au besoin ;
Joyeux Noël et Bonne Année !
Si tu n'as pas encore trouvé ta solution,
indépendamment du langage, il me semble que tu cherches un nombre aléatoire auquel tu appliques une fonction qui reformate la sortie de sorte qu'elle corresponde à ton souhait.
A toi de définir la fonction : hyperbolique, parabolique, logarithmique ou autre ;
Le "centre de gravité" souhaité étant 15, avec comme limites -5 et +30, ce "centre" ne se trouve pas au centre des sorties possibles : 15 n'est pas à mi-chemin de -5 et +30 ; à toi de définir arbitrairement une méthode pour répartir les sorties autour de ton centre (15) : soit en tronquant les sorties qui sortent du champs attendu, soit en appliquant une fonction différente suivant que le nombre aléatoire obtenu sort à droite ou à gauche de ton "centre"
A ta dispo au besoin ;
Joyeux Noël et Bonne Année !
Pour une loi normale... la solution trouvée ci-dessous en smallTalk (Cormas random est un tirage aléatoire entre 0 et 1 : CIRAD). La je n'utilise qu'une dimension mais on peut le faire en deux dimensions en utilisant y2. Merci à ceux qui m'ont répondus.
| x1 x2 y1 y2 w t|
x1 := (2 * (Cormas random)) - 1.
x2 := (2 * (Cormas random)) - 1.
w := (x1 * x1) + (x2 * x2).
w<=1 ifTrue: [
w := ( ((0-2) * ((w)ln)) /w )sqrt.
y1 := x1 * w.
t := 0 - 2.
y1<=t ifTrue: [y1 := t].
y1>=2 ifTrue: [y1 := 2].
y2 := x2 * w.].
self stochastic: y1.
^stochastic ifNil: [stochastic := 0]
| x1 x2 y1 y2 w t|
x1 := (2 * (Cormas random)) - 1.
x2 := (2 * (Cormas random)) - 1.
w := (x1 * x1) + (x2 * x2).
w<=1 ifTrue: [
w := ( ((0-2) * ((w)ln)) /w )sqrt.
y1 := x1 * w.
t := 0 - 2.
y1<=t ifTrue: [y1 := t].
y1>=2 ifTrue: [y1 := 2].
y2 := x2 * w.].
self stochastic: y1.
^stochastic ifNil: [stochastic := 0]