How To Generate Non Repeating floating Random Numbers from 1 to 10

1 visualización (últimos 30 días)
Hi,
Does anybody know how to generate a series of 100 non-repeating random floating numbers between 1 and 10?
Thanks

Respuesta aceptada

Star Strider
Star Strider el 26 de Nov. de 2019
One option:
v = rand(1, 100)*9+1;
[L, H] = bounds(v) % Check
producing (in this run):
L =
1.0846
H =
9.9740
  6 comentarios
Walter Roberson
Walter Roberson el 26 de Nov. de 2019
With 2^53 possible rand() outputs, an estimation using The Birthday Paradox logic suggests that the probability of a duplicate rises to 1/2 at about 10^8
Star Strider
Star Strider el 26 de Nov. de 2019
Noted.
I’d not thought to test this with the ‘Birthday Party’ problem.

Iniciar sesión para comentar.

Más respuestas (1)

Andrei Bobrov
Andrei Bobrov el 26 de Nov. de 2019
z = cumsum(rand(100,1));
mn = min(z);
Z = 9/(max(z) - mn)*(z - mn) + 1;
out = Z(randperm(100));

Categorías

Más información sobre Birthdays en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by