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

50 vues (au cours des 30 derniers jours)
Md. Tariqul Amin
Md. Tariqul Amin le 27 Mai 2012
Commenté : Usman Ali le 17 Fév 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 commentaire
Md. Tariqul Amin
Md. Tariqul Amin le 27 Mai 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

Connectez-vous pour commenter.

Réponse acceptée

Geoff
Geoff le 27 Mai 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 commentaires
Md. Tariqul Amin
Md. Tariqul Amin le 28 Mai 2012
Thanks. I just did that backwards,it's working now
Usman  Ali
Usman Ali le 17 Fév 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

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by