| Products & Services | Solutions | Academia | Support | User Community | Company |
| Download Product Updates | | | Get Pricing | | | Trial Software |
| Documentation → Mapping Toolbox |
| Contents | Index |
| Learn more about Mapping Toolbox |
combos = combntns(set,subset)
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).
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 =
10Note 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 5This is a recursive function.
![]() | colorui | comet3m | ![]() |

Includes the most popular MATLAB recorded presentations with Q&A sessions led by MATLAB experts.
| © 1984-2009- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |