π
<-
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

Unread postby Persalteas » 25 Jul 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
User avatar
PersalteasMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 6.2%
 
Posts: 2337
Images: 113
Joined: 04 Feb 2010, 00:00
Location: Evry (France)
Gender: Male
Calculator(s):
Class: PhD candidate, Bioinformatics

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

Unread postby Adriweb » 30 Jul 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 calculator info!
MyCalcs
: Aidez la communauté à documenter les calculatrices en donnant des infos sur votre calculatrice ![/url]
Inspired-Lua.org
: All about TI-Nspire Lua programming
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 71.4%
 
Posts: 13676
Images: 1104
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
Twitter: adriweb
GitHub: adriweb

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

Unread postby Persalteas » 03 Aug 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
User avatar
PersalteasMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 6.2%
 
Posts: 2337
Images: 113
Joined: 04 Feb 2010, 00:00
Location: Evry (France)
Gender: Male
Calculator(s):
Class: PhD candidate, Bioinformatics

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

Unread postby Adriweb » 03 Aug 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 calculator info!
MyCalcs
: Aidez la communauté à documenter les calculatrices en donnant des infos sur votre calculatrice ![/url]
Inspired-Lua.org
: All about TI-Nspire Lua programming
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 71.4%
 
Posts: 13676
Images: 1104
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
Twitter: adriweb
GitHub: adriweb


Return to Problèmes divers / Aide débutants

Who is online

Users browsing this forum: No registered users and 1 guest

-
Search
-
Social
-
Featured topics
Concours de l'Avent 2021 "l'énigme des 3 portes". Viens prendre connaissance des indices et bouts de code Python chaque jour. Sois parmi les 7 premiers à trouver et franchir l'une des 3 portes pour remporter de superbes lots : équipements complets en calculatrices Python couleur et/ou accessoires exclusifs !
Concours Geometry Dash - 2 équipements complets en calculatrices TI (+ goodies et accessoires) à gagner pour les 2 meilleurs niveaux créés
Concours de dessin de Noël 2021 Jusqu'au 7 janvier 2022 inclus par Casio. Dessine ta liste au Père Noël sur calculatrice/émulateur Graph 90/35+E II en Python ou fx-92+ Spéciale Collège. Ouvert aux élèves et enseignants, classement séparé. À gagner 2 consoles Nintendo Switch, 2 trottinettes électriques, 10 calculatrices Graph 90/35+E II au choix, 72 montres Casio G-Shock ou Vintage. Pas de perdant, goodies Casio pour tous les autres !
Coque NumWorks édition limitée Décembre 2021 à gagner.
Comparaisons des meilleurs prix pour acheter sa calculatrice !
12345
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
637 utilisateurs:
>611 invités
>20 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)

-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)