function outcome = multiresult(N,p); % This function takes as arguments % N, the number of individuals in a class, % and p, a vector of the probabilities of % different fates, including death % It returns a vector of the number of individuals % with each of the possible fates. ind = ones(1,N); pp = cumsum(p/sum(p)); % find cumulative probabilities rnd = rand(1,N); % make a uniform random for each individual for ii = 1:length(p); % find each individual's random fate ind = ind + (rnd > pp(ii)); end; for ii = 1:length(p); % add up the individuals in each fate outcome(ii) = sum(ind==ii); end;