[MATLAB]Génération de variables aléatoires
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

[MATLAB]Génération de variables aléatoires



  1. #1
    Tony78

    [MATLAB]Génération de variables aléatoires


    ------

    Bonjour,

    Je cherche à générer un échantillon de valeurs aléatoires suivant la loi suivante dans le logiciel matlab :


    Je sais générer des v.a suivant les lois usuelles (type normale / uniforme...).
    J'ai lu que la méthode d'inversion pouvait m'aider à résoudre mon problème en :
    - Calculant la fonction de répartition relative à la loi :

    - Calculant sa réciproque
    - Appliquant un échantillon de loi uniforme à celle-ci.

    C'est sur le calcul de la réciproque que je bloque...comment calculer la réciproque de F_X(x) ?

    Merci de vos réponses,

    Tony

    -----

  2. #2
    Romain-des-Bois

    Re : [MATLAB]Génération de variables aléatoires

    Bonsoir,

    effectivement, inverser la fonction de répartition marche à tous les coups et c'est peu coûteux en calculs... il y a une autre méthode qui me plait bien et qui est facile à mettre en oeuvre lorsque le support de la densité est un compact. J'ai un peu de temps, je la présente.

    On veut simuler selon . Soit une densité ayant même support que et "facile à simuler". Ici, on peut prendre (loi uniforme sur le segment ).

    Maintenant, on cherche un réel tel que pour tout , . Bien sûr, une infinité de conviennent, mais on a tout intérêt à le prendre le plus petit possible.

    Maintenant soient des variables aléatoires simulées selon (indépendantes) et soient des uniformes sur (indépendantes et indépendantes des précédentes).

    On définit comme le premier instant tel que . On montre que suit la loi géométrique de paramètre .

    On pose . Alors suit la loi admettant pour densité.

    Pourquoi prendre le plus petit possible ? Parce que le temps moyen pour simuler une fois selon est .

    Voilà, il y a deux choses à montrer, ça se fait bien.

    Romain

    PS : il s'agit d'une méthode type "acceptation-rejet"

  3. #3
    invitec5eb4b89

    Re : [MATLAB]Génération de variables aléatoires

    Pour calculer la réciproque, tu peux essayer de passer par la résolution d'une équation de degré trois (d'ailleurs je ne vois pas trop comment faire autrement).

    Peut être que les conditions sur pour que f soit une densité peuvent te "faciliter" le travail ?

Discussions similaires

  1. Variables aléatoires
    Par inviteb64a2f8e dans le forum Mathématiques du supérieur
    Réponses: 9
    Dernier message: 05/11/2009, 17h50
  2. Réponses: 1
    Dernier message: 29/05/2007, 19h36
  3. variables aléatoires
    Par invited7555812 dans le forum Mathématiques du supérieur
    Réponses: 7
    Dernier message: 18/05/2007, 19h10
  4. variables aléatoires
    Par invitef2472a71 dans le forum Mathématiques du supérieur
    Réponses: 8
    Dernier message: 03/04/2006, 17h01
  5. Variables Aléatoires
    Par invited89c0c70 dans le forum Mathématiques du supérieur
    Réponses: 9
    Dernier message: 06/05/2005, 11h41