How to generate random integer from 1 to N except some integers in between?

Suppose I want to generate unrepeated M integers between 1 and N. but except an arbitrary integer b s.t 1<= b<=N
is there any one-line command or something or do I have to construct a loop?
Thanks

 Risposta accettata

No loops required,
N=10; b=3; M=5; %example data
list=setdiff(1:N,b);
selection=list(randperm(N-1,M)) %result

2 Commenti

Aha, thats smart :D
Thanks Matt
You are quite welcome, but please Accept-click the answer if we've reached a solution for you.

Accedi per commentare.

Più risposte (0)

Categorie

Richiesto:

il 18 Feb 2020

Commentato:

il 18 Feb 2020

Community Treasure Hunt

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

Start Hunting!

Translated by