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

2 vues (au cours des 30 derniers jours)
David
David le 18 Avr 2014
Commenté : David le 30 Avr 2014
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?

Réponse acceptée

Sean de Wolski
Sean de Wolski le 18 Avr 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.

Plus de réponses (1)

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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by