# How to generate 0 and 1 with equal probability using 'randi' function?

69 visualizzazioni (ultimi 30 giorni)
Md. Tariqul Amin il 27 Mag 2012
Commentato: Usman Ali il 17 Feb 2014
Binary random number generator, generating 0 and 1 with equal probability (using 'randi' function). i tried with randi (M, N, [0 1]) to generate random numbers of matrix size MxN in the range 0 and 1 with equal probability.
##### 1 CommentoMostra NessunoNascondi Nessuno
Md. Tariqul Amin il 27 Mag 2012
i tried with *randi (M, N, [0 1])* to generate random numbers of matrix size MxN in the range 0 and 1 with equal probability. But,it's not working

Accedi per commentare.

### Risposta accettata

Geoff il 27 Mag 2012
You did it backwards. Do this:
nums = randi([0 1], M, N)
Please note that while there is equal probability of randomly generating a zero or a one, that does NOT mean that your matrix will have the same number of zeros and ones.
If you require exactly 50% 0/1, then you need to do this:
nums = mod( reshape(randperm(M*N), M, N), 2 );
Bearing in mind that M*N must be an even number.
##### 2 CommentiMostra 1 commento meno recenteNascondi 1 commento meno recente
Usman Ali il 17 Feb 2014
Hi dear, I have the same question with different parameters. I have 4 different discrete signals. each with 1000 samples per second. I want to generate the sum of all these 4 signals with equal probab such that at the end I get 100 signals (this contains 25% of each signal, 25 copies of same signal at different places). Hope that you get my point. I can apply switch and case for the for signals, only I need to generate number between 1 and 4 with equal probability of occurance

Accedi per commentare.

### Categorie

Scopri di più su Random Number Generation in Help Center e File Exchange

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!