FORTRAN générer des nombres aléatoires

Résolu
foko -  
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je dois générer des nombres aléatoires que fortran doit aller chercher dans un intervalle [-130,130]. Jusque là, pas de soucis, j'utilise la fonction rand où N0=-130 et N1=130:

x=int(rand(0)*(N1+1-N0))+N0

Mais le problème c'est que les nombres générés devraient suivre une loi normale pour que ce soit plus réaliste, vu que je crée cette variable pour illustrer la variabilité dans la pluviométrie...

Quelqu'un a une idée?

Merci beaucoup!



5 réponses

ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
bonjour

pour une simulation de tirages selon une loi normale de moyenne m et d'écart type s

u et v sont de type réels
u = Rnd
v = Rnd
normale = m + s * Sqr(-2 * Log(u)) * Cos(2 * pi * v)

bonne suite
2
foko
 
Bonjour à tous!

Juste une petite mise à jour du message, personne ne sait comment générer des nombres aléatoires suivant une loi normale dans FORTRAN 77?

Mercii!
0
nab
 
bonjour tous le monde,
j'ai besoins de générer des nombres aléatoires compris entre 0 et 1 et qui suit une loi normale sur fortran90 car je veux utiliser une décomposition qui marche avec des lois normales.

merci de m'aider
0
foko
 
Merci beaucoup ccm81!

Ça a fonctionné niquel!
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
re
une modif
Remplacer log(u) par log(1-u), c'est plus prudent, puis qu'on a
0 <= u < 1
si par malchance, avec les rnd, tu tombes sur u = 0, ça va planter alors que
0 < 1-u <= 1
va passer à tous les coups
bonne suite
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
re

avec plaisir,

peux tu mettre le pb a résolu

bonne suite
0

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

Posez votre question
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
bonjour

tu as la réponse dans les post#2 et #5
je ne connais pas le fortran mais tu dois avoir l'équivalent de
rnd pour un aléa de 0 à 1
sqr pour racine carrée

bonne suite
0