π
<-
Chat plein-écran
[^]

Tirer un nombre aléatoire dans une loi quelquonque

:32ti73: :32ti73e: :32ti73e2: :32ti76f: :32ti80: :32ti81: :32ti82: :32ti85: :32ti86: :32ti82s: :32ti82sf: :32ti82sfn: :32ti83: :32ti83p: :32ti83pb: :32ti83pr: :32ti83pfr: :32ti83pse: :32ti84p: :32ti84pse: :32ti84ppse: :32ti84pfr: :32ti84pcse: :32ti83pfrusb: :32ti82p: :32ti82a: :32ti84pce: :32ti83pce:

Tirer un nombre aléatoire dans une loi quelquonque

Message non lude Persalteas » 25 Juil 2017, 12:16

Salut :)

Connaissez vous un algorithme relativement simple à implémenter sur 83 Premium CE qui permettrait le choix d'une valeur d'angle aléatoire (dans l'intervalle [0, 2pi]), mais selon une distribution de probabilité bien particulière ?

En l'occurrence, ma densité de probabilité est continue par morceaux (des fragments de droites).

J'allais partir sur une méthode de Monte-Carlo, mais si il existait quelque chose de plus simple et demandant moins de calculs, je vous demande au cas où.
Merci pour vos idées ! ;)

Persalteas
Avatar de l’utilisateur
PersalteasMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 6.2%
 
Messages: 2337
Images: 113
Inscription: 04 Fév 2010, 00:00
Localisation: Evry (France)
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: PhD candidate, Bioinformatics

Re: Tirer un nombre aléatoire dans une loi quelquonque

Message non lude Adriweb » 30 Juil 2017, 13:32

Je ne crois pas qu'il y ait un moyen de faire ça optimalement (une fonction prévue pour, je veux dire) pour des distributions personnalisées...
(Et d'ailleurs même pas sûr que ce soit possible sur Nspire, même, en fait...)

Donc je suppose qu'il faudra se taper de (longs?) calculs à la main ^^
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.1%
 
Messages: 14606
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Tirer un nombre aléatoire dans une loi quelquonque

Message non lude Persalteas » 03 Aoû 2017, 15:46

Du coup, je me suis débrouillé avec un échantillonnage Monte Carlo. C'est une méthode discrète, mais ça a le mérite de fonctionner.
J'imagine que toi, tu connais, mais j'explique quand meme pour la postérité de ce topic:

Cette algorithme permet de tirer au hasard un élément d'une liste de taille N, alors que tous les éléments de la liste n'ont pas la meme proba d'etre tirés.

Données de départ:
  • intervalle
    $mathjax$[a,b]$mathjax$
    dans lequel tirer les valeurs, ou une liste de taille N contenant des élements (non numériques) à tirer
  • une liste p de taille N qui donne une estimation de la probabilité de N valeurs connues dans l'intervalle [a,b], ou pour les éléments de la liste
mc.png


  • Prendre un rectangle de longueur b-a et de hauteur au moins max(p)
  • Prendre des points dans ce rectangle, dont les abscisses correspondent aux valeurs de l'intervalle dont vous connaissez la proba, et régulièrement espacés sur l'axe Y,
  • Pour chaque point, vérifier si vous etes au dessus ou en dessous de la courbe,
  • Faire une liste avec tous les points qui sont en dessous (ou pile dessus)
  • En tirer un au sort dans la liste
  • Regarder son abscisse: c'est votre valeur tirée au sort dans [a,b].

Les puristes me diront que je mélange une loi de proba discrète et une continue (la probabilité d'une valeur précise dans une loi continue est censée etre nulle). En effet mon tableau p devrait plutot se définir comme une liste de points présents sur la fonction de densité de probabilité :P
Avatar de l’utilisateur
PersalteasMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 6.2%
 
Messages: 2337
Images: 113
Inscription: 04 Fév 2010, 00:00
Localisation: Evry (France)
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: PhD candidate, Bioinformatics

Re: Tirer un nombre aléatoire dans une loi quelquonque

Message non lude Adriweb » 03 Aoû 2017, 17:11

Ok. Tu devrais publier ton programme, ou au moins la partie qui gère ça :)
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.1%
 
Messages: 14606
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb


Retourner vers Problèmes divers / Aide débutants

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 109 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
2271 utilisateurs:
>2262 invités
>5 membres
>4 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)