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

 Accepted Answer

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

2 Comments

You are quite welcome, but please Accept-click the answer if we've reached a solution for you.

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Asked:

on 18 Feb 2020

Commented:

on 18 Feb 2020

Community Treasure Hunt

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

Start Hunting!