Generating all ordered samples with replacement
    5 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
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
, that is all the k-tuples  where each
 where each  can be any of the
 can be any of the  , and whose total number is
, and whose total number is  ?
?
 , that is all the k-tuples
, that is all the k-tuples  where each
 where each  can be any of the
 can be any of the  , and whose total number is
, 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 commentaires
Réponse acceptée
Plus de réponses (2)
  Guillaume
      
      
 le 7 Mai 2019
        
      Modifié(e) : Guillaume
      
      
 le 7 Mai 2019
  
      For  and
 and  ,
, 
 and
 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.
Voir également
Catégories
				En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




