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

12 Ansichten (letzte 30 Tage)
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

Akzeptierte Antwort

Matt J
Matt J am 18 Feb. 2020
Bearbeitet: Matt J am 18 Feb. 2020
No loops required,
N=10; b=3; M=5; %example data
list=setdiff(1:N,b);
selection=list(randperm(N-1,M)) %result
  2 Kommentare
Matt J
Matt J am 18 Feb. 2020
You are quite welcome, but please Accept-click the answer if we've reached a solution for you.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by