# Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English verison of the page.

# 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```

collapse all

### Tips

This is a recursive function.