How to generate the random number with restrictions?

2 次查看(过去 30 天)
For [1 2 3 ........35], I want to generate random number but the restriction is i want random numbers from [1 2 3...28] as [1 5 9 13 17 21 25] and then after any random number from [29 30 ...35] as normal.

采纳的回答

Guillaume
Guillaume 2016-1-7
编辑:Guillaume 2016-1-7
Your question is not very clear, what is a random number "as normal"?
Anyway, to get random numbers from a specific pool of numbers, generate random indices that you use to pick numbers from the pool:
pool = 1:4:25; %pool of numbers pick
numbers = pool(randi(numel(pool), 1, 28)) %choose 28 values from the pool at random.

更多回答(1 个)

Andrei Bobrov
Andrei Bobrov 2016-1-7
a1 = 1:28
a2 = 29:35
out = [a1(randperm(numel(a1),7)),a2(randi(numel(a2)))]

类别

Help CenterFile Exchange 中查找有关 Random Number Generation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by