selecting the random element by having distance to others

1 visualizzazione (ultimi 30 giorni)
This code generates random number
index = randperm(length(1:200),5);
I want to control this generator. Each number have a distance to each others
for example
index=[117 121 15 14 187]
117 and 121 is near to each other also 14 amd 15. This example is not acceptable.
200 divided by 5 equals 40.
First element should be between 1 to 40
Second elemnet should be between 41 to 80
Third elemnet should be between 81 to 120
4th ---> 121 to 160
5th ---> 161 to 200
If the fist element is 39 the second one should not be 42. 39 and 42 is close to each other.
something like this result
index=[2 53 90 140 199]
  1 Commento
David Hill
David Hill il 28 Apr 2020
I have no idea what you are talking about by reading your example. Please explain further.

Accedi per commentare.

Risposta accettata

Ameer Hamza
Ameer Hamza il 29 Apr 2020
If you want your random numbers to be distributed like this, the randperm is not the correct function. You can use randi() and shift them to your required range.
x = randi([1 40], 1, 5) + (0:40:160);
Result
>> x
x =
27 42 114 158 188

Più risposte (0)

Categorie

Scopri di più su Random Number Generation in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by