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) ;