function  [ecdf,mi,ma,dt,rg] = empcdf(e,n)
%EMPCDF renvoie une approximation constante par morceaux de la
%fonction de répartition empirique d'un échantillon.
%[ecdf,min,max] = empicdf(e,n)
% * e est un échantillon (vecteur de réalisations i.i.d.)
% * n est un entier optionnel valant par défaut 10. 
% * L'intervalle [min(e),max(e)] est subdivisé en n sous-intervalles 
%   de même longueur. ecdf est un vecteur de longueur n.
%   ecdf(i) représente la valeur de la fonction de répartition 
%   empirique à l'extrémité droite du i-ème sous-intervalle (classe).
% * Les valeurs de retour mi,ma,rg et dt sont optionnelles
%   et correspondent respectivement à l'étalement de l'échantillon et au 
%   pas de discrétisation associé à n.
% * Les sorties peuvent être exploitées pour un tracé d'une approximation
%   affine par morceaux de la fonction de répartition empirique :
%    plot([mi+dt:dt:ma],ecdf) 
%EMPCDF fait appel à HIST.
if (nargin==1), n=10; end;
[frequences,classes]=hist(e,n,1); %histogramme normalisé en n classes.
ecdf=cumsum(frequences);
if (nargout >= 2), mi=min(e); end
if (nargout >= 3), ma=max(e); end
if (nargout >= 4), dt=(ma-mi)/n; end
if (nargout >= 5), rg=ma-mi; end  %i.e. rg=range(e)
return;
