IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

Générer des données aléatoires en utilisant la distribution de Rayleigh


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 9
    Points : 3
    Points
    3
    Par défaut Générer des données aléatoires en utilisant la distribution de Rayleigh
    Bonjour à tous,
    Je suis en cours de préparation de mon projet de master, et je suis en plein ambiguïté j'espère que quelqu'un pourrait m'aider.
    On m'a demandé de générer des données aléatoires sur Matlab en utilisant la distribution de Rayleigh;
    De concaténer deux variables de Rayleigh.
    C-à-d d'introduire sigma1 et x1 , ainsi que sigma2 et x2 (arbitrairement)
    Puis de visualiser l'histogramme pour pouvoir comparer les valeurs (sigma1, x1, sigma2, x2) estimées avec celles introduites.
    C'est une tâche qui s'avère facile, mais mes lacunes en programmations me bloquent.
    J'ai essayé avec cet algorithme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    % Scale parameter sigma1 = 10 et sigma2=30;
     
    x1 = 1000;
    A1= raylrnd(10, x1,1);
    figure; hist(A1);
    title('Distribtion Rayleigh 1')
     
    x2 = 2000;
    A2= raylrnd(30, x2,1);
    figure, hist(A2);
    title('Distribtion Rayleigh 2')
    A3=[A1;A2];
    figure; hist(A3);
    title('Distribtion Rayleigh 1 et 2')
    Mais c'est évident que c'est faux
    Si quelqu'un a des connaissances sur ce sujet, j'en serais reconnaissante.
    Merci

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Points : 2 385
    Points
    2 385
    Par défaut
    Bonjour

    Citation Envoyé par Maroua_a Voir le message
    Mais c'est évident que c'est faux
    Pourquoi?
    Si vous cherchez des réponses sur ce forum il faudra avant tout expliquer clairement votre problème et exposer la démarche que vous avez entreprise pour le résoudre. Fournissez une base de travail et de réflexion à vos interlocuteurs!

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Bonjour,
    Car en lançant la simulation, les figures que j'ai obtenu ne correspondent pas à la bonne résultat.
    Théoriquement, il faut que j'obtienne deux allures de Rayleigh avec deux modes ( valeurs maximums) qui correspondent respectivement à x1+sigma1 et à x2+sigma2 ( comme abscisses)
    Et deux minimums qui correspondent respectivement à x1 et x2 (comme abscisses)
    Ensuite je pourrait faire la comparaison avec les valeurs que j'ai introduit

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Points : 2 385
    Points
    2 385
    Par défaut
    Est-ce que tu pourrais mettre en pièces-jointes les 3 figures?
    Si vous cherchez des réponses sur ce forum il faudra avant tout expliquer clairement votre problème et exposer la démarche que vous avez entreprise pour le résoudre. Fournissez une base de travail et de réflexion à vos interlocuteurs!

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    oui les voici
    Images attachées Images attachées    

  6. #6
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Points : 2 385
    Points
    2 385
    Par défaut
    Je pense que l'erreur se trouve à cette ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    A3=[A1;A2]; % fais ceci plutôt : A3=[A1,A2];
    Si vous cherchez des réponses sur ce forum il faudra avant tout expliquer clairement votre problème et exposer la démarche que vous avez entreprise pour le résoudre. Fournissez une base de travail et de réflexion à vos interlocuteurs!

  7. #7
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    C'est exactement ce que j'ai fais

  8. #8
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Points : 2 385
    Points
    2 385
    Par défaut
    Tu as remplacé ton ";" par "," et tu obtiens le même résultat?
    Si vous cherchez des réponses sur ce forum il faudra avant tout expliquer clairement votre problème et exposer la démarche que vous avez entreprise pour le résoudre. Fournissez une base de travail et de réflexion à vos interlocuteurs!

  9. #9
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut Rayleigh
    Bonjour,
    Avec histfit, tu as l'allure de la courbe de densité de probabilité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    figure(4)
    histfit(A1,50,'rayleigh')
    figure(5)
    histfit(A2,50,'rayleigh')
    figure(6)
    histfit(A3,50,'rayleigh')

  10. #10
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    @ Gooby : merci , mais ça ne marche pas avec le "," , Matlab affiche un code d'erreur

    @ phryte : oui merci la commande histfit m'est importante mais pour la prochaine étape, merci de me l'avoir montrer;
    mais mon but est d'afficher l'histogramme et d'en extraire les estimations sur les paramètres que j'ai introduit et qui sont x1, x2, sigma1 et sigma2
    Comme je l'ai dit tout à l'heure , la méthode d'estimation est la suivante : il faut que x1+sigma1 (resp. x2+sigma2) correspondent à la valeur maximale et que x1 (resp. x2) correspond à la valeur minimale ( presque zéro)

  11. #11
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut Rayleigh
    Bonsoir,

    Je te propose d'utiliser "raylpdf" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    % Scale parameter sigma1 = 10 et sigma2=30;
     clear
    x1=[0:0.1:100]
    A1=raylpdf(x1,10);
    figure(1);
    plot(x1,A1)
    title('Distribtion Rayleigh 1')
    grid
    x2=[0:0.1:200]
    A2= raylpdf(x2,30);
    figure(2)
    plot(x2,A2)
    title('Distribtion Rayleigh 2')
    grid
    figure(3)
    title('Distribtion Rayleigh 1 et 2')
    plot(x1,A1)
    hold on
    plot(x2,A2)
    grid

  12. #12
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Bonsoir,

    Merci, mais ce n'est pas mon objectif, il faut que j'affiche un histogramme qui donnera par la suite l'allure de la densité de probabilité

  13. #13
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut Rayleigh
    Bonjour,

    Tu ne prends pas assez d'échantillons et une mauvaise répartition :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    clear
    rng('default');
    x1 = 10000;
    A1= raylrnd(10, x1,1);
    figure; hist(A1,fix(sqrt(x1)));
    title('Distribtion Rayleigh 1')
    grid
    x2 = 20000;
    A2= raylrnd(30, x2,1);
    figure, hist(A2,fix(sqrt(x2)));
    title('Distribtion Rayleigh 2')
    grid
    A3=[A1;A2];
    figure; hist(A3,fix(sqrt(x2+x1)));
    title('Distribtion Rayleigh 1 et 2')
    grid

  14. #14
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Bonsoir,

    Merci beaucoup, en augmentant mon nombre d'échantillonnage, je visualise une meilleur observation.
    Pouvez vous , s'il vous plait, me dire l’intérêt de l'ajout de " rng('default');" et pourquoi avez vous remplacer x1 par fix(sqrt(x1)) ?

    Merci et bonne soirée

  15. #15
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut Rayleigh
    Bonjour,

    - L’intérêt de l'ajout de " rng('default');" est de réinitialiser le générateur de nombres aléatoires. Fais help rng
    - Le choix du nombre de classes dépend de la nature de la distribution et du nopbre d'échantillons.
    Il y a plusieurs possibilités :
    - Herbert Sturges K=1+log2(N) (logarithme en base 2) ou 1+10/3*log10(N)
    - K=2*N^1/3
    - K racine(N)

    Sturges est recommandé, mais l'usage courant prend racine(N)

  16. #16
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Je prends note et je vous remercie

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/12/2012, 13h24
  2. Réponses: 8
    Dernier message: 20/02/2012, 09h45
  3. générer des données aléatoires suivants la Loi Normal
    Par need2learn dans le forum Mathématiques
    Réponses: 3
    Dernier message: 28/08/2009, 09h03
  4. Réponses: 2
    Dernier message: 16/05/2006, 17h02
  5. Générer des données sous forme de graphiques (comme excel)
    Par matterazzo dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 26/10/2005, 19h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo