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

14 ビュー (過去 30 日間)
Cantor Set
Cantor Set 2020 年 2 月 18 日
コメント済み: Matt J 2020 年 2 月 18 日
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

採用された回答

Matt J
Matt J 2020 年 2 月 18 日
編集済み: Matt J 2020 年 2 月 18 日
No loops required,
N=10; b=3; M=5; %example data
list=setdiff(1:N,b);
selection=list(randperm(N-1,M)) %result
  2 件のコメント
Cantor Set
Cantor Set 2020 年 2 月 18 日
Aha, thats smart :D
Thanks Matt
Matt J
Matt J 2020 年 2 月 18 日
You are quite welcome, but please Accept-click the answer if we've reached a solution for you.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by