MATLAB: How to Generate random number that most of them ZEROs

randirandomrandom number generator

Hi,
I would like to generate a set of 50 numbers that are in the range of [0-2] and follow uniformly distributed; however, I want most of them to be 0( Zeros).
I tried the following code but it does not generate most of them zeros.
N=randi([0 2],1,50)
Thank you

Best Answer

x=zeros(1,50);
r=rand(1,50);
PrZero = .8; % Adjust as needed to achieve "most of them zeros"
x(r<(1-PrZero)/2) = 1;
x(r>1-(1-PrZero)/2) = 2;
histogram(x);