# Generate N observations from a uniform distribution on [0,1] and compare it to a threshold

1 view (last 30 days)
Ayman Alotaibi on 10 Mar 2018
Commented: Ayman Alotaibi on 10 Mar 2018
We simulate this experiment by generating a logical array of
length N, with 1 (true) for "heads" and 0 (false) for "tails".
The problem is to generate the right number of 1s and 0s, so that
the percentage of 1s is p (60%). We shall do so in two ways.
N=1000; // number of coin tosses
p=0.6; // bias: percentage of 1s in the array
Method 1
Generate N observations from a uniform distribution on [0,1].
Threshold these observations at p. The resulting logical array
will have
1 if an observation was < p,
0 otherwise.
Ayman Alotaibi on 10 Mar 2018
but this only gives u sum of ones, how can I have two signal with sum all ones, and sum all zeros

Roger Stafford on 10 Mar 2018
Here's another way. Let there be N1 trues and N0 falses.
x = [repmat(true,1,N1),repmat(false,1,N0)];
x = x(randperm(N1+N0));
Ayman Alotaibi on 10 Mar 2018
I did this code at the bottom of code, and it worked
numZeros = length(zeros(1, N - numberOfOnes)) ;