Generating all ordered samples with replacement
5 views (last 30 days)
Show older comments
Hello everybody,
is there a function in Matlab which generates an array containing all ordered samples of length k taken from a set of n elements
, that is all the k-tuples
where each
can be any of the
, and whose total number is
?
, that is all the k-tuples
where each
can be any of the
, and whose total number is Or can anybody suggest a simple code to generate all of them? I am guessing it involves the iterative use of datasample function checking that every new generated sample is different from the previous ones, but I couldn't find so far a satisfactory way to write it
0 Comments
Accepted Answer
More Answers (2)
Guillaume
on 7 May 2019
Edited: Guillaume
on 7 May 2019
For
and
,
n = 20;
k = 5;
result = dec2base(0:n^k-1, n); %generate all n^k samples with replacement, as char vector 0-9 + A-Z
result = result - '0' + 1; %convert character to numbers 1-10, A-Z get converted to 18+
result(result>17) = result(result>17) - 7 %convert 18+ to 11+
For greater n you'll have to use Jan's answer.
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!