Marche aléatoire

simsim92 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
 simsim92 -
Bonjour,


je suis débutant en c++ et j'ai un exercie
"on souhaiteOn considère ici la partie du plan E = [?1, 1] × [?1, 1].

On souhaite étudier des marches aléatoires dans cet espace, et notamment le temps de sortie de E.

Modélisez la marche aléatoire en C++, de façon à conserver tout l'historique du processus.

Le temps de sortie est donc le nombre d'itérations nécessaires pour que l'on sorte de E.

Une simulation sera composée de nombreuses marches aléatoires (N) avec des paramêtres identiques.

On suppose partir en un point (x, y) de E.

Dans une première version, il n'existe que quatre directions possible celle des quatre plus proches voisins dont le choix

se fait selon la loi uniforme. L'amplitude du déplacement suit une loi gaussienne.

Dans une deuxième version, il y a huit directions possibles uniformément réparties.

Effectuez une simulation de 1000 marches aléatoires en utilisant des gaussiennes N(0, 0.1).

Calculez la moyenne et l'écart type du temps de sortie de l'échantillon."

je ne sais pas parquoi commencer et comment

pourriez vous m'aider s'il vous plait

3 réponses

ElementW Messages postés 4814 Date d'inscription   Statut Contributeur Dernière intervention   1 223
 
'lut, on ne fait pas les exercices à la place des autres, dis nous ce que tu as eu comme idées et/ou comme code déjà commencé pour qu'on puisse t'aider à partir de là. Et à défaut de pouvoir fournir un des deux, zou, au boulot!
0
simsim92 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour
justement je n'arrive pas à démarrer, je ne sais pas par quoi commencer
faut il faire des générateurs aléatoires gaussiens et uniform?
0
ElementW Messages postés 4814 Date d'inscription   Statut Contributeur Dernière intervention   1 223
 
Ça dépend; tu utilises quel compilateur? Si il supporte le C++11, tu as a ta disposition normal_distribution pour la distribution Gaussienne et uniform_int_distribution pour la distribution linéaire.
Sinon, on a seulement le droit à
rand
dont la répartition dépend totalement de l'implémentation, différente selon le système, donc il faudra utiliser Boost, qui possède les même classes que C++11 (d'ailleurs le C++11 est très inspiré de cette librairie).
0
simsim92
 
je vous remercie
0