Matlab : histogramme fréquence relative
Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

Matlab : histogramme fréquence relative



  1. #1
    safin1

    Matlab : histogramme fréquence relative


    ------

    Bonjour à tous
    j'ai un tableau comme ceci
    x=[1.1 3.2 5.2 6.7 8.9 2.4 5.6 2.2 4.1 9.1 10.11 9.5 8.7 4.1 ]
    je cherche à écrire un code matlab pour tracer la fréquence relative des intervalles [1-1.5] [1.5-2] [2.5-3]...... [10-10.5]
    donc chacun de ces intervalles aura une barre verticale avec la fréquence correspondante
    bien sur les barres doivent être relativement étalées les unes par rapport à l'autre
    et sous chaque barra il y aura le nom de l'intervalle correspondant ( exemple "1.5-2")

    Il y a un moyen SVP ?
    merci d'avance

    -----

  2. #2
    safin1

    Re : Matlab : histogramme fréquence relative

    voilà un truc comme ça
    Nom : hist.jpg
Affichages : 588
Taille : 25,2 Ko

  3. #3
    Antoane
    Responsable technique

    Re : Matlab : histogramme fréquence relative

    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  4. #4
    safin1

    Re : Matlab : histogramme fréquence relative

    Bonjour
    merci bien pour votre réponse
    mais j'ai dejà regardé cette page
    ce que je cherche n'est pas illustré

    ce que je cherche c'est extraire des sous-vecteurs du vecteur principal
    puis faire un histogramme basé sur les fréquences cumulés dans chaque sous-tableau

    puis l'affichage graphique, comment faire varier les largeurs des barres verticales de l'histogramme ?
    et comment taper le nom chaque sous-tableau (par exemple [1..1,5] sous la barre correspondante

    exactement comme montré dans la foto

  5. A voir en vidéo sur Futura
  6. #5
    Antoane
    Responsable technique

    Re : Matlab : histogramme fréquence relative

    Bonjour,

    Sous Matlab 2014b :
    Code:
    X=rand(1, 200).^1.5*11; % build input vector
    bins=1.25:0.5:10.25; % build bins
    [y, x] = hist(X, bins); % calculate frequencies
    
    figure
    h=bar(x, y); % draw the histogram
    
    clear legende; legende{length(bins)-1}={}; % initialise legende
    for k=1:length(bins)-1,
        legende{k}=strcat(num2str(bins(k)), '-', num2str(bins(k+1))); % build the X-axis labels
    end
    
    h.Parent.XTick=x; % set the length of the vector containning the labels
    h.Parent.XTickLabel=legende; % set x-axis labels
    h.BarWidth=0.2; % set the relative width of the bars to 20%
    h.Parent.XTickLabelRotation=45; % rotate the labels by 45°
    C'est plus simplement faisable avec Matlab 2015b et plus récent.
    Dernière modification par Antoane ; 11/01/2016 à 13h58.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  7. #6
    safin1

    Re : Matlab : histogramme fréquence relative

    Bonjour
    merci infiniment pour ce super code
    je l'ai exécuté sous matlab 2011 , les 4 dernières lignes n'étaient pas exécutées
    mais je vais chercher une nouvelle version pour le tourner
    merci de nouveau

  8. #7
    Antoane
    Responsable technique

    Re : Matlab : histogramme fréquence relative

    Bonsoir,

    Tu peux tester :
    Code:
    X=rand(1, 200).^1.5*11; % build input vector
    bins=1.25:0.5:10.25; % build bins
    [y, x] = hist(X, bins); % calculate frequencies
    
    figure
    h=bar(x, y); % draw the histogram
    
    clear legende; legende{length(bins)-1}={}; % initialise legende
    for k=1:length(bins)-1,
        legende{k}=strcat(num2str(bins(k)), '-', num2str(bins(k+1))); % build the X-axis labels
    end
    
    set(gca, 'XTick', x)
    set(gca, 'XTickLabel', legende)
    set(h, 'BarWidth', 0.2)
    set(gca, 'XTickLabelRotation', 45)
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  9. #8
    safin1

    Re : Matlab : histogramme fréquence relative

    Bonsoir
    voici l'image après excution
    Images attachées Images attachées  

  10. #9
    Antoane
    Responsable technique

    Re : Matlab : histogramme fréquence relative

    Bonjour,

    J'ai le même résultat sur Matlab 2012b...
    Il te faut donc une version plus récente ou une fonction que je ne connais pas pour tourner les labels.

    Je te donnerai le résultat sous 2014b cet après-midi -- si j'y pense
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  11. #10
    Antoane
    Responsable technique

    Re : Matlab : histogramme fréquence relative

    Bonjour,

    Matlab 2014b
    Code:
    X=rand(1, 200).^1.5*11; % build input vector
    
    d=0.5; % width of each bin
    x0=1; % min input value
    xf=10.5; % max input value
    bins=x0+d/2:d:xf-d/2; % build bins
    [y, x] = hist(X, bins); % calculate frequencies
    
    figure
    h=bar(x, y); % draw the histogram
    
    clear legende; legende{length(bins)}={}; % initialise legende
    for k=1:length(bins)
        legende{k}=strcat(num2str(x(k)-d/2), '-', num2str(x(k)+d/2)); % build the X-axis labels
    end
    
    h.Parent.XTick=x; % set the length of the vector containning the labels
    h.Parent.XTickLabel=legende; % set x-axis labels
    h.BarWidth=0.2; % set the relative width of the bars to 20%
    h.Parent.XTickLabelRotation=45; % rotate the labels by 45°
    
    title('Et voilà.')
    ylabel('Freq.')
    Images attachées Images attachées  
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  12. #11
    safin1

    Re : Matlab : histogramme fréquence relative


    merci infiniment

Discussions similaires

  1. Projet matlab histogramme
    Par amino17 dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 16/03/2015, 18h41
  2. [Matlab] Histogramme
    Par andrew_77 dans le forum Programmation et langages, Algorithmique
    Réponses: 0
    Dernier message: 08/12/2012, 03h31
  3. [Matlab] démodulateur de fréquence
    Par mortaurat dans le forum Électronique
    Réponses: 0
    Dernier message: 26/05/2012, 16h41
  4. histogramme sous matlab
    Par faat dans le forum Programmation et langages, Algorithmique
    Réponses: 0
    Dernier message: 28/11/2011, 21h55
  5. histogramme image matlab
    Par invitee98002ab dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 12/07/2007, 13h49