Azzera filtri
Azzera filtri

random integer between 0 and 15 with equal probability

2 visualizzazioni (ultimi 30 giorni)
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?

Risposta accettata

Matt J
Matt J il 15 Lug 2013
Modificato: Matt J il 15 Lug 2013
B=randi([0,15])
  7 Commenti
Stephen23
Stephen23 il 31 Ago 2015
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.

Accedi per commentare.

Più risposte (2)

Azzi Abdelmalek
Azzi Abdelmalek il 15 Lug 2013
B1= ceil(b + (B+1-b) * rand)-1

Jan
Jan il 15 Lug 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))

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by