combntns
All possible combinations of set of values
combntns will be removed in a future release. Use nchoosek instead.
Syntax
combos = combntns(set,subset)
Description
combos = combntns(set,subset) returns a matrix
whose rows are the various combinations that can be taken of the elements of the vector
set of length subset. Many combinatorial
applications can make use of a vector 1:n for the input set to return
generalized, indexed combination subsets.
The combntns function provides the combinatorial subsets of a set
of numbers. It is similar to the mathematical expression a choose
b, except that instead of the number of such combinations, the actual
combinations are returned. In combinatorial counting, the ordering of the values is not
significant.
The numerical value of the mathematical statement a choose b is
size(combos,1).
Examples
How can the numbers 1 to 5 be taken in sets of three (that is, what is 5
choose 3)?
combos = combntns(1:5,3)
combos =
1 2 3
1 2 4
1 2 5
1 3 4
1 3 5
1 4 5
2 3 4
2 3 5
2 4 5
3 4 5
size(combos,1) % "5 choose 3"
ans =
10
Note that if a value is repeated in the input vector, each occurrence is treated as
independent:
combos = combntns([2 2 5],2)
combos =
2 2
2 5
2 5
Tips
This is a recursive function.
Introduced before R2006a