mr_pyer a écrit:Il me semble que tous les logiciels (Scilab, Matlab, R, Excel...) savent générer des variables exponentielles.
Au pire ils génèrent une uniforme sur [0,1], de là on simule ce que l'on veut.
Par contre je n'ai pas compris, 1000 meter ??
Ben314 a écrit:Salut,
Pas bien compris non plus ton 1000m et tes 50 bonhommes...
a) Tu veut que ce soit les position des bonhommes par rapport à 0 qui suivent des lois exponentielle indépendantes de même paramètre ? ou bien que ce soit les écart entre bonhommes qui suivent ces même lois exponentielles indépendants de même paramètre ? (vu la logique de la loi exonentielle, j'opterais pour la deuxième hypothèse, mais je préfèrerais pas perdre mon temps...)
b) Je pense que tu sait qu'une loi exponentielle peut prendre des valeurs aussi grande que l'on veut (avec de faibles proba) donc ton "50 personnes sur 1000m", ça correspond à quoi ? La moyenne de ce que tu veut obtenir ?
ElliotS a écrit:Salut,
Pour simuler une loi exponentielle, tu admet que tu peux simuler une loi uniforme (avec la fonction rand() en C par exemple).
De là, tu calcules l'inverse généralisée de ta loi. En loccurrence ici si, la loi exponentielle de paramètre
peut être calculée par :
.
ElliotS a écrit:De rien.
Si tu as un problème n'hésite pas, j'ai déjà réalisé un programme du même genre en C.
#!/bin/bash Tsim=1
while [ $Tsim -lt 10 ] do
my_log=$(echo 8 | awk '{l=0.05; x=rand();printf "%11.9f",-log(x)/l;}')
echo "my_log: "$my_log
Tsim=$((Tsim+1))
done
Le problème c'est que moi j'ai besoin de positions de 50 bonhommes dans une zone de 1000 mètre.
Ton problème est vraiment pas clair. Il faudrait ête un peu plus précis... Quel est le lien entre "arrivée" et distance ? Qu'est-ce qui est exponentiel : chaque arrivée, ou la distance entre deux ? C'est quoi la "position initiale" ?
Sylviel a écrit:je répète :
A=grand(n,m,"exp",lambda)
cumsum(A,'r')
Sylviel a écrit:Donc si je fais l'exegèse de tes messages :
tu considères un processus poissonien (de paramètre constant j'imagine) indexé par la distance. Et tu voudrais qu'il y ai 50 personne sur les 1000 premiers mètres ?
Mais tu voudrais qu'il y ai 50 personnes dans quel sens ?
- A coup sûr ? --> ce n'est pas un processus poissonien
- avec une certaine proba ? --> ça va te déformer la répartition et être compliqué
- en moyenne ? --> il suffit de chercher le lien entre distance moyenne entre 2 personne (qui doit valoir 1000/50 = 20) et paramètre du processus de Poisson (i.e. le lambda de ta loi exponentielle).
Ensuite pour générer tes positions je prendrais plutôt un truc du type scilab, scipy (python), voir excel. Tu peux même coder en C mais ça sera plus long.
Sous scilab :
- Code: Tout sélectionner
A=grand(n,m,"exp",lambda)
cumsum(A,'r')
te donneras une matrice de taille nxm, où chaque colomne sera la suite des positions de tes n bonhommes (pour un processus de poisson de paramètre lambda).
P.S: scilab est gratuit et multiplateforme, tu peux exporter tes résultats ensuite.
P.P.S : si tu as un tirage avec 50 bonhomme ce n'est pas juste en regardant la somme que tu fitteras au mieux ton processus. Il vaut mieux regarder les 50 interdistance et en déduire le meilleur lambda.
Mais tu voudrais qu'il y ai 50 personnes dans quel sens ?
- A coup sûr ? --> ce n'est pas un processus poissonien
- avec une certaine proba ? --> ça va te déformer la répartition et être compliqué
- en moyenne ? --> il suffit de chercher le lien entre distance moyenne entre 2 personne (qui doit valoir 1000/50 = 20) et paramètre du processus de Poisson (i.e. le lambda de ta loi exponentielle).
P.P.S : si tu as un tirage avec 50 bonhomme ce n'est pas juste en regardant la somme que tu fitteras au mieux ton processus. Il vaut mieux regarder les 50 interdistance et en déduire le meilleur lambda.
Sylviel a écrit:Tu n'as pas répondu à mes remarques...
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 46 invités
Tu pars déja ?
Identification
Pas encore inscrit ?
Ou identifiez-vous :