2016-07-09 12 views
0

1から100までの整数のセットをランダムに生成したいと思います。 Matlabで最小間隔のランダムな整数を生成する

2,4,5,7 

次のセットが4間の間隔ためないながら整数をソートした後、それぞれの整数の間の最小間隔は2未満、例えば

2,4,8,10 

満たす必要であってはなりません5が2未満です。 これを達成する方法はありますか?ありがとう!

+1

何を試しましたか?どのくらいの大きさがあなたのそれぞれのセットを必要としますか? –

答えて

3
N = 10; % number of integers required 
delta = 2; % minimum difference required 

a = randperm(100); 
idx = 1; 
b = a(idx); 

while(length(b) < N && idx < length(a)) 
    idx = idx+1; 
    c = abs(b - a(idx)); 
    if any(c < delta) 
     continue; 
    end 
    b = [b; a(idx)]; 
end 

b 
関連する問題