Advanced use of randi(x) and other random number generating functions

2 visualizaciones (últimos 30 días)
Is it possible to get the randi(x) function to work with a specifically chosen set of numbers, such as 1 through 9 except 6?
From what I can tell, the function description doesn't make it seem possible. Is there a creative way around this? What about using other random number generating functions?

Respuesta aceptada

Sean de Wolski
Sean de Wolski el 18 de Abr. de 2014
There's nothing builtin do exclude certain numbers. Of course this is accomplished with a little bit of manipulation:
x=randi(8,[5 5])
x(x>=6) = x(x>=6)+1
randperm might be your friend as well.

Más respuestas (1)

Azzi Abdelmalek
Azzi Abdelmalek el 18 de Abr. de 2014
your_range=[1:5 7:9]
[~,ii]=sort(rand(1,numel(your_range)))
out=your_range(ii)
  1 comentario
David
David el 30 de Abr. de 2014
The sort(x) function became very important later. Thank you for pointing it out!

Iniciar sesión para comentar.

Categorías

Más información sobre Creating and Concatenating Matrices 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