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

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?

 Risposta accettata

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.

Più risposte (1)

your_range=[1:5 7:9]
[~,ii]=sort(rand(1,numel(your_range)))
out=your_range(ii)

1 Commento

The sort(x) function became very important later. Thank you for pointing it out!

Accedi per commentare.

Categorie

Scopri di più su Random Number Generation in Centro assistenza e File Exchange

Richiesto:

il 18 Apr 2014

Commentato:

il 30 Apr 2014

Community Treasure Hunt

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

Start Hunting!

Translated by