Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Português - 日本語 - Русский
Aide de Scilab >> Statistiques > Descriptive Statistics > histc

histc

calcule un histogramme

Syntaxe

[cf, ind] = histc(n, data [,normalization])
[cf, ind] = histc(x, data [,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)

cf

vecteur représentant le nombre de valeurs de data tombant dans les classes définies par n ou x

ind

vecteur ou matrice de même taille que data, représentant l'appartenance respective de chaque élément de data aux classes définies par n ou x

normalization

scalaire booléen. normalization=%f (par défaut): cf représente le nombre total de points dans chaque classe, normalization=%t: cf représente le nombre de points dans chaque classe, relativement au nombre total de points

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');
    
    [cf, ind] = histc(20, d, normalization=%f)
    // On utilise histplot pour avoir une représentation graphique
    clf(); histplot(20, d, normalization=%f);
    
    [cf, ind] = histc(20, d)
    clf(); histplot(20, d);
  • Exemple #2: histogramme d'un échantillon de loi binomiale B(6,0.5)
    d = grand(1000,1,"bin", 6, 0.5);
    c = linspace(-0.5,6.5,8);
    clf()
    subplot(2,1,1)
    [cf, ind] = histc(c, d)
    histplot(c, d, style=2);
    xtitle("Histogramme d''aire normalisée")
    subplot(2,1,2)
    [cf, ind] = histc(c, d, normalization=%f)
    histplot(c, d, normalization=%f, style=5);
    xtitle("Histogramme brut")
  • Exemple #3 : histogramme d'un échantillon de loi exponentielle E(lambda)
    lambda = 2;
    X = grand(100000,1,"exp", 1/lambda);
    Xmax = max(X);
    [cf, ind] = 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
    n = 10;
    data = rand(1, 1000, "normal");
    [cf, ind] = histc(n, data)
    clf(); histplot(n, data, style=12, polygon=%t);
    legend(["Histogramme d''aire normalisée" "Polygone des fréquences"]);

Voir aussi

  • histplot — dessine un histogramme
  • hist3d — représentation 3D d'un histogramme
  • plot2d — 2D plot
  • dsearch — répartit, localise et compte les éléments d'une matrice en catégories données

Historique

VersionDescription
5.5.0 Introduction
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Feb 12 19:15:31 CET 2018