random integer between 0 and 15 with equal probability

Hi,
I am trying to generate a random integer between 0 and 15.
I have written the following code:
b=0;
B=15;
B = b + (B-b) * rand
Is it right?
Also, will the random integer generated from the above code have equal probability? Is not, how should the code be modified?

 Réponse acceptée

Matt J
Matt J le 15 Juil 2013
Modifié(e) : Matt J le 15 Juil 2013
B=randi([0,15])

7 commentaires

Syed
Syed le 15 Juil 2013
thanks Matt J
Syed
Syed le 15 Juil 2013
one more thing: what if i want to avoid 0 being generated as an integer because i am getting infinity if there is a division process afterwards in my code?
what about equal probability?
When you read the randi documentation, its description states on the very first line "Uniformly distributed pseudorandom integers". This means the integers have equal probability. It also means that you should learn to read the documentation, because it tells you how MATLAB works.
lmao its ok to ask questions

Connectez-vous pour commenter.

Plus de réponses (2)

Jan
Jan le 15 Juil 2013
This is not a hard proof, but a strong hint already:
b = 0;
B = 15;
R = b + (B-b) * rand(1, 1e6);
histc(R, unique(R))

Catégories

Produits

Question posée :

le 15 Juil 2013

Commenté :

le 24 Mai 2022

Community Treasure Hunt

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

Start Hunting!

Translated by