Random selection of n values from a vector - which function should I use?

18 ビュー (過去 30 日間)
Karolina
Karolina 2016 年 1 月 29 日
回答済み: Walter Roberson 2016 年 1 月 29 日
I have a vector with twenty unique values from 1 to 20. I would like to select randomly two values from my vector. Which option should I use? Is there some difference between the functions attached below?
randperm
A = [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20];
y = A(randperm(20,2));
randsample
y = randsample(20,2);
datasample
y = datasample(A,2);

採用された回答

Walter Roberson
Walter Roberson 2016 年 1 月 29 日
randsample() requires the Stats toolbox, and has more options such as selection with replacement.
Since your source is [1:20], you can simplify your randperm version to just
y = randperm(20,2);
but if it did not happen to be consecutive integers you could use the form you did,
A = 1:20;
y = A(randperm(numel(A),2));

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeResampling Techniques についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by