function [ r ] = aleatorio_especial( probabilidades, N )
% [ R ] = aleatorio_especial( PROB, N );
% 
%   Para gerar um vetor R de N numeros aleatorios inteiros com
%     probabilidades PROB
%
%  Exemplo, para gerar 10 numeros aletorios entre 1 e 3 cada um deles
%   com probabilidades de 50% de ser 1, 30% de ser 2 e 20% de ser 3:
%   [ R ] = aleatorio_especial( [.5 .3 .2], 10 );

if nargin<2
    N = 1;
end
r = zeros( N, 1 );
prob_acumulada = cumsum( probabilidades );
for n=1:N
    aleat = rand(1);
    for qR = 1 : length( prob_acumulada )
        if aleat<= prob_acumulada(qR)
            r(n) = qR;
            break
        end
    end
end