% genera una dmp casuale
function [p,H] = dmp(N)
	if nargin == 0 || N < 1
		error('syntax: [p,H] = dmp(N {>= 1})');
	end
	
	% normalizza un vettore di N variabili U(0,1)
	p = rand(1,N);
	p = p / sum(p);
	
	% se richiesto, ritorna anche l'entropia
	if nargout > 1
		H = -sum(p .* log2(p));
	end
