Generate Only a Specific Number of Combinations
10 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I would like to loop through the combinations of 30 take 20 with no repetition and order does not matter. I would only like to compute the first 100 or so combinations as there are over 30,000,000 total combinations. Is there a MatLab function that will allow me to do this? Functions like nchoosek will generate all possible combinations and take a very long time.
2 comentarios
Respuesta aceptada
Matt Fig
el 26 de Nov. de 2012
Editada: Matt Fig
el 26 de Nov. de 2012
There are several functions on the FEX that do something like this. For instance:
One could also make an index into the set by something like this:
A = [88 44 55 66 33 22 11 99 77 66];
idx = randperm(10,4);
A(idx) % A random sampling of 4 elements of A
So you do this in a loop as many times as needed, storing all the idx values and checking for uniqueness, then after the loop you have the needed random samplings.
0 comentarios
Más respuestas (1)
Matt J
el 27 de Nov. de 2012
This will generate 120 combinations
A=nchoosek(10,1:3);
N=size(A,1);
Result=[A,repmat(11:27,N,1)];
0 comentarios
Ver también
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!