Bonjour,
Y'a t'il un moyen simple d'obtenir des informations sur une des classes d'un histogramme (fonction HIST)? Par exemple, ses limites, la liste des valeurs, sa valeur moyenne.
Bonjour,
Y'a t'il un moyen simple d'obtenir des informations sur une des classes d'un histogramme (fonction HIST)? Par exemple, ses limites, la liste des valeurs, sa valeur moyenne.
Lorsque tu fais
Toutes les options sont indiquées. Si tu n'en trouves pas c'est qu'elles n'existent pas et donc faut faire le boulot "à la main" (MEDIAN, MAX, MIN etc..)
Code : Sélectionner tout - Visualiser dans une fenêtre à part >>help <fonction>
Bon courage
Salut,
Pour avoir la liste des valeurs qui constituent un histogramme tu peux tenter
après les valeurs extrêmes et la moyenne s'obtiennent à la main...
Code : Sélectionner tout - Visualiser dans une fenêtre à part valeurs = get(get(gca, 'Children'), 'Vertices');
C'est quoi le 'H'?
GET(H) displays all property names and their current values for
the graphics object with handle H.
En cherchant dans un livre, je suis tombée sur la fonction ICE qui est utilisée pour ensuite utiliser GET mais je ne l'ai pas dans Matlab.
Pour la valeur médiane de chaque classe de l'histogramme, elle s'obtient simplement ainsi:
[NbrValeurs , Medianes] = hist (Vecteur);
Le H est un Handle c'est à dire un pointeur : c'est le nom de ta variable qui défini ton object graphic :
exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part k = plot(x,y) % ici k est le handle du plot.
Merci à tous, Dut, j'ai testé avec une classe et c'est OK.
En cherchant à comprendre comment la fonction détermine ces "classes" à partir de la documentation qui dit :
Donc en prenant l'exemple de la documentation :Envoyé par dicumentation de HIST
En prenant n'importe quelle classe c (compris entre 1 et numel(n)) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 x = -4:0.1:4; y = randn(10000,1); [n,xout] = hist(y,x);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 %Limite inférieure lim(1) = xout(c)-(xout(c)-xout(c-1))/2; %Limite supérieure lim(2) = xout(c)+(xout(c+1)-xout(c))/2;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 idx = y>=lim(1) & y<lim(2); suby = y(idx);A vérifier mais je ne pense pas m'être trompé...
Code : Sélectionner tout - Visualiser dans une fenêtre à part mean(suby)![]()
Partager