Simuler un tirage aléatoire sur une loi exponentielle
Bonjour à tous
mon titre n'est peut-être pas très clair, mon explication le sera certainement plus.
Je tente d'implémenter une génération d'événement soumis à une loi de probabilité exponentielle ( e(-t/tau) ). Je ne peux que très difficile faire un tirage aléatoire en début de simulation car le tau peut varier au cour de la simulation (genre en début de simulation on détermine que l'événement sera généré au bout de 3ns et à 2.8ns le tau chute de 4 ordre de grandeur:cry:). Du coup faire une machine à état précise se révèle être une solution trop limité et imprécise.
Ma première méthode est trop gourmande en temps de calcul pour être utilisable: je définis un Q=10e-2;10e-3;10e-5.... Je calcule l'intégrale (I) de tau et lorsque cette intégrale vaut Q, je tire un nombre aléatoire A. J'ai un retournement si A<Q. Sinon je reset I (I=0) et je recalcule I. J'obtiens un résultat avec une erreur relative de 0.01 lorsque le pas de ma simulation est inférieur de 3 ordre de grandeur à mon tau. Ma simulation devrais être beaucoup plus rapide que cela (aussi précise pour 20 pas de calcul que pour 100 000), du coup j'ai d'énorme problème....
Quelqu'un aurait-il une autre idée??