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

12 visualizaciones (últimos 30 días)
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

Respuesta aceptada

Matt J
Matt J el 18 de Feb. de 2020
Editada: Matt J el 18 de Feb. de 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 comentarios
Matt J
Matt J el 18 de Feb. de 2020
You are quite welcome, but please Accept-click the answer if we've reached a solution for you.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by