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 :

Valeurs des barres d'un histogramme


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 3
    Par défaut Valeurs des barres d'un histogramme
    Bonjour à tous

    j'aimerais savoir comment on peut faire pour créer un vecteur contenant les valeurs des différentes barres d'un histogramme en utilisant la fonction hist.
    En fait mon problème est le suivant: je dois simuler une loi normale.
    Voici le script:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function norm(n,m)
     
    for i=1:n
       X(i)=randn();
    end
     
    subplot(1,2,1)
    hist(X,m)
     
    end
    Après avoir tracé cet histogramme, je dois tracer la fonction de répartition. Je voulais donc extraire les valeurs des différentes barres dans un vecteur Y par exemple. Puis en utilisant cumsum(Y) et hist, je voulais tracer la fonction de répartition.
    La méthode est-elle bonne ?
    Et pour faire ça il faut donc que j'arrive à mettre les valeurs des barres de l'histogramme dans un vecteur, ce que je n'arrive pas à faire.

    Quelqu'un pourrait-il m'aider ?
    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i=1:n
       X(i)=randn();
    end
    (penser à la preallocation) peut se simplifier en X = randn(1,n);.

    Sinon, il suffit de récupérer la sortie de la fonction hist, voire utiliser histc. La documentation doc hist présente un exemple.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 3
    Par défaut
    Bonjour,

    j'ai testé plusieurs choses avec hist mais je n'y arrive toujours pas.
    Voilà entre autres ce que j'ai écrit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    subplot(1,2,1)
    hist(X,m)
    N = hist(X,m)
    M = hist(N)
    W=cumsum(M)/m
     
    subplot(1,2,2)
    plot(W)
    le souci c'est que comme ça je n'arrive plus à afficher ce que j'ai voulu appeler N et en tapant M=hist(N) je pensais avoir les valeurs que je cherchais mais j'ai un vecteur de 10 valeurs alors qu'il devrait en contenir m !
    Voilà je ne vois pas comment faire. Savez-vous ce que je dois taper ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Lorsque l'on fait face à ce genre de problème, premier réflexe, la doc :
    Citation Envoyé par doc hist
    n = hist(Y) bins the elements in vector Y into 10 equally spaced containers and returns the number of elements in each container as a row vector. If Y is an m-by-p matrix, hist treats the columns of Y as vectors and returns a 10-by-p matrix n. Each column of n contains the results for the corresponding column of Y. No elements of Y can be complex or of type integer.

    [...]

    n = hist(Y,nbins) where nbins is a scalar, uses nbins number of bins.
    Par contre je n'ai pas saisi la raison pourquoi tu appliques la fonction hist deux fois à la suite.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 3
    Par défaut
    Ha voilà ! J'ai enfin trouvé !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    subplot(1,2,1)
    hist(X,m)
    [N,xout] = hist(X,m);
    W=cumsum(N);
    a=W(m);
    W=W/a;
     
    subplot(1,2,2)
    plot(xout,W)
    Merci d'avoir prêté attention à ma question.

    Bonne journée et bonne fin d'année

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 14/04/2015, 12h22
  2. Réponses: 1
    Dernier message: 12/02/2010, 09h53
  3. [XL-2007] Largeur des barres d'un histogramme
    Par PPLILH2008 dans le forum Excel
    Réponses: 3
    Dernier message: 01/06/2009, 16h03
  4. Reporting Services : Largeur des barres d'un Histogramme
    Par Marie-Thérèse dans le forum SSRS
    Réponses: 0
    Dernier message: 15/05/2009, 13h14
  5. Changer la couleur des barres dans un histogramme
    Par niepoc dans le forum MATLAB
    Réponses: 5
    Dernier message: 11/09/2008, 17h51

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