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

2 ビュー (過去 30 日間)
David
David 2014 年 4 月 18 日
コメント済み: David 2014 年 4 月 30 日
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?

採用された回答

Sean de Wolski
Sean de Wolski 2014 年 4 月 18 日
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.

その他の回答 (1 件)

Azzi Abdelmalek
Azzi Abdelmalek 2014 年 4 月 18 日
your_range=[1:5 7:9]
[~,ii]=sort(rand(1,numel(your_range)))
out=your_range(ii)
  1 件のコメント
David
David 2014 年 4 月 30 日
The sort(x) function became very important later. Thank you for pointing it out!

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by