MATLAB: Random integers in a customized ranges

random number generator

to find 100 random integers between 1 and 5000 we use: x = randi(5000,100,1); is there a way to find random integers between 1 and 5000 excluding the numbers between 2000 and 25000 and between 4000 and 4500 for example thank you

Best Answer

x = randi(5000,1000,1); % make more number of random integers
% remove the unwanted
x(x>=2000 & x<=2500) = [] ;
x(x>=4000 & x<=4500) = [] ;
% now pick 100 out of it
idx = randperm(length(x),100) ;
iwant = x(idx) ;