FORSV : Forum de Sciences et de Vie
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORSV : Forum de Sciences et de Vie

Forum scientifique
 
AccueilAccueil  GalerieGalerie  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -29%
PC portable – MEDION 15,6″ FHD Intel i7 ...
Voir le deal
499.99 €

 

 générateur aléatoire

Aller en bas 
2 participants
AuteurMessage
PtitGG

PtitGG


Nombre de messages : 1210
Age : 45
Localisation : Au pays de la Rosette
Date d'inscription : 25/02/2007

générateur aléatoire Empty
MessageSujet: générateur aléatoire   générateur aléatoire Icon_minitimeJeu 26 Juil 2007 - 12:44

si quelqu'un sait comment fabriquer un générateur aléatoire pour une variable x telle que :

x=r*cos(theta) avec r variable aléatoire distribuée suivant un profil parabolique et theta distribuée uniformément entre 0 et 2Pi

et pouvoir en déduire y sachant que y=r*sin(theta) ou encore r*r=x*x+y*y


je suis preneur!!!!!
Revenir en haut Aller en bas
pem




Nombre de messages : 912
Date d'inscription : 08/02/2007

générateur aléatoire Empty
MessageSujet: Re: générateur aléatoire   générateur aléatoire Icon_minitimeJeu 26 Juil 2007 - 13:09

La méthode consiste à calculer la fonction de répartition car F(r) est une variable aléatoire de densité uniforme entre 0 et 1.

Comme le langage de programmation te foruni gentilment une loi uniforme entre 0 et 1, il ne te reste plus qu'à déterminer la fonction inverse de F(r) ! Very Happy

Dans ton cas, tu as deux variables r et theta dont les lois sont parabolique et uniforme.
Donc pour theta, pas de soucis, tu gardes la loi avec une simple convertion [0;1] <-> [0; 2Pi]
Pour r, applique ce que je viens de te dire : f(r) ~ r² => F(r) ~ r3 => r ~ 1/F3 en gros et de tête.

Je suis juste surpris de la densité en r² : elle n'est pas intégrable à l'infini donc doit être troncquée.

PeM
Revenir en haut Aller en bas
PtitGG

PtitGG


Nombre de messages : 1210
Age : 45
Localisation : Au pays de la Rosette
Date d'inscription : 25/02/2007

générateur aléatoire Empty
MessageSujet: Re: générateur aléatoire   générateur aléatoire Icon_minitimeJeu 26 Juil 2007 - 13:23

j'ai trouvé une fonction dans une bibliothèque du CERN (CLHEP pour ceux qui connaissent) qui me calcul la densité à partir du profil que je lui rentre .. mais cette fonction doit être positive .. et cos est négatif . et si je prends que les valeurs positives de cos, bah ça me fait des trous dans ma fonction ...
Revenir en haut Aller en bas
pem




Nombre de messages : 912
Date d'inscription : 08/02/2007

générateur aléatoire Empty
MessageSujet: Re: générateur aléatoire   générateur aléatoire Icon_minitimeJeu 26 Juil 2007 - 13:51

Comme je t'ai dis, le mieux est de déterminer r et théta puis de faire le calcul de x et y.

Si tu veux utiliser la fonction du CERN, tu peux le faire en décalant le cosinus, cos(x) + 1 >=0 puis en le redécalant.
Mais ça n'a pas d'intérêt vu qu'il est plus facile d'voir theta puis calculer cos (theta).


Peux-tu préciser ce que tu entends par "distribuée suivant un profil parabolique", vtp f(r) ~r² ?

PeM
Revenir en haut Aller en bas
PtitGG

PtitGG


Nombre de messages : 1210
Age : 45
Localisation : Au pays de la Rosette
Date d'inscription : 25/02/2007

générateur aléatoire Empty
MessageSujet: Re: générateur aléatoire   générateur aléatoire Icon_minitimeJeu 26 Juil 2007 - 15:36

si je tire aléatoirement r suivant un profil parapolique (=après suffisament de tirage, l'histo de r est une parabole) puis theta aléatoireement et que je fait ensuite le calcul le x et de y ... et que je place mes points x et y dans un histo 3D, z étant le nombre ce coup pour un couple (x,y) donné .. bah je n'ai pas une forme parabolique comme je le souhaite mais une sorte de gaussienne très piquée en 0 Mad

la solution serait de tirer r aléatoirement selon son profil parabolique et ensuite, pour un r donné faire toutes les projections sur x et y en faisant varier theta ... mais je perds le côté aléatoire du coup en theta ...
Revenir en haut Aller en bas
pem




Nombre de messages : 912
Date d'inscription : 08/02/2007

générateur aléatoire Empty
MessageSujet: Re: générateur aléatoire   générateur aléatoire Icon_minitimeVen 27 Juil 2007 - 22:09

L'histogramme, c'est la fréquence des tirages.

Donc tu vas avoir :
+ f(r) = ar² pour r>0
+ F(r) = ar³/3
avec F(R) = 1 donc a = 3/R³
+ la fonction inverse de F, (F¯¹(y))³ = R³y (faut en prendre la racine cubique)
si tu tires un nombre y entre 0 et 1, et applique la fonction au dessus, la répartition en r sera parabolique.

Bon, si ton histogramme est différent, il faut refaire les calculs ; je te laisse faire, tu sais comment faire maintenant ! Very Happy

PeM
Revenir en haut Aller en bas
Contenu sponsorisé





générateur aléatoire Empty
MessageSujet: Re: générateur aléatoire   générateur aléatoire Icon_minitime

Revenir en haut Aller en bas
 
générateur aléatoire
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORSV : Forum de Sciences et de Vie :: Sciences :: Informatique-
Sauter vers: