Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
histc
calcule un histogramme
Syntaxe
h = histc(n, data) h = histc(x, data) h = histc(.., normalization)
Paramètres
- n
entier positif (nombre de classes)
- x
vecteur croissant définissant les classes (
x
doit avoir au moins 2 éléments)- data
vecteur (données à analyser)
- h
- Si
normalization
est %T: densités de probabilité sur les intervalles définis parn
orx
, telles que l'aire de chaque intervalle est proportionnelle à sa population. - Si
normalization
est %F: nombres d'éléments peuplant les intervalles.
- Si
- normalization
booléen simple (%T par défaut), déterminant le type de résultat (voir
h
).
Description
Cette fonction calcule un histogramme du vecteur data
d'après les classes
x
. Quand le nombre de classes n
est fourni
au lieu de x
, les classes sont choisies également espacées et
x(1) = min(data) < x(2) = x(1) + dx < ... < x(n+1) = max(data)
avec dx = (x(n+1)-x(1))/n.
Les classes sont définies par C1 = [x(1), x(2)]
et
Ci = ( x(i), x(i+1)]
pour i >= 2.
Si l'on note Nmax
le nombre total de data
(Nmax = length(data))
et Ni
le nombre d'éléments de data
tombant dans
Ci
, la valeur de l'histogramme pour x
dans
Ci
est égal à Ni/(Nmax (x(i+1)-x(i))) quand
"normalized"
est séléctionné et sinon, simplement égal à Ni.
Quand la normalisation a lieu, l'histogramme vérifie:
quand x(1)<=min(data) et max(data) <= x(n+1)
Exemples
- Exemple #1: variations sur l'histogramme d'un échantillon gaussien N(0,1)
// L'échantillon aléatoire gaussien d = rand(1, 10000, 'normal'); h = histc(20, d, normalization=%f); sum(h) // = 10000 // On utilise histplot pour avoir une représentation graphique clf(); histplot(20, d, normalization=%f); // Histogramme d'aire normalisée (densité de probabilité) h = histc(20, d); dx = (max(d)-min(d))/20; sum(h)*dx // = 1 clf(); histplot(20, d);
- Exemple #2: histogramme d'un échantillon de loi binomiale B(6,0.5)
- Exemple #3 : histogramme d'un échantillon de loi exponentielle E(lambda)
lambda = 2; X = grand(100000,1,"exp", 1/lambda); Xmax = max(X); h = histc(40, X); clf() histplot(40, X, style=2); x = linspace(0, max(Xmax), 100)'; plot2d(x, lambda*exp(-lambda*x), strf="000", style=5) legend(["Histogramme d''un échantillon de distribution exponentielle" "Fonction densité exacte"]);
- Exemple #4 : polygône des fréquences et histogramme d'un échantillon gaussien
Voir aussi
Historique
Version | Description |
5.5.0 | Introduction |
Report an issue | ||
<< covar | Descriptive Statistics | median >> |