function realis = rdist(x,p)
%RDIST  réalisation aléatoire d'une loi discrète à support fini (atomique).
% realis = rdist(x,p)
% p     est un vecteur de réels positifs tel que sum(p)=1.
% x     est un vecteur de réels de même taille que p, donnant le support.
% realis = réalisation de la loi discrète tq P(x_1)=p_1,...,P(x_n)=p_n.
% Les réalisations successives sont considérées comme indépendantes car 
% elles correspondent à des appels successifs de rand. 

n=length(p);
r=rand;
a=0;
b=p(1);
for i=1:n-1,
  if ((r>=a)&(r<=b))
	realis=x(i);
	return;
  end
  a=b;
  b=b+p(i+1);
end
realis=x(n);
return;
