## COMBINATOR -combinations AND permutations

Version 1.3.0.0 (32.7 KB) by
Returns 1 of 4 different samplings on the set 1:N, taken K at a time.

Updated Thu, 09 Sep 2010 22:22:21 +0000

COMBINATOR will return one of 4 different samplings on the set 1:N, taken K at a time. These samplings are given as follows:

PERMUTATIONS WITH REPETITION/REPLACEMENT
COMBINATOR(N,K,'p','r') -- N >= 1, K >= 0

PERMUTATIONS WITHOUT REPETITION/REPLACEMENT
COMBINATOR(N,K,'p') -- N >= 1, N >= K >= 0

COMBINATIONS WITH REPETITION/REPLACEMENT
COMBINATOR(N,K,'c','r') -- N >= 1, K >= 0

COMBINATIONS WITHOUT REPETITION/REPLACEMENT
COMBINATOR(N,K,'c') -- N >= 1, N >= K >= 0

Example:

combinator(4,2,'p','r') % Permutations with repetition
combinator(4,2,'p') % Permutations without repetition
combinator(4,2,'c','r') % Combinations with repetition
combinator(4,2,'c') % Combinations without repetition
ans =
1 1
1 2
1 3
1 4
2 1
2 2
2 3
2 4
3 1
3 2
3 3
3 4
4 1
4 2
4 3
4 4
ans =
1 2
1 3
1 4
2 1
2 3
2 4
3 1
3 2
3 4
4 1
4 2
4 3
ans =
1 1
1 2
1 3
1 4
2 2
2 3
2 4
3 3
3 4
4 4
ans =
1 2
1 3
1 4
2 3
2 4
3 4

The accompanying c++ file can be MEXed to provide the ability to specify N as an int8, int16, or int32. This saves memory and is faster. I have provided a MEX file that was created on Win XP with 2006a that may work. If not, the file will need to be MEXed on your machine.
I would very much appreciate bug reports sent through email, as well as suggestions for improvement. Thanks.

### Cite As

Matt Fig (2023). COMBINATOR -combinations AND permutations (https://www.mathworks.com/matlabcentral/fileexchange/24325-combinator-combinations-and-permutations), MATLAB Central File Exchange. Retrieved .

##### MATLAB Release Compatibility
Created with R2007a
Compatible with any release
##### Platform Compatibility
Windows macOS Linux
##### Categories
Find more on Elementary Math in Help Center and MATLAB Answers

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

#### combinator/

Version Published Release Notes
1.3.0.0

Previous update had left out the C++ source code.

1.2.0.0

Implemented changes suggested by Jan Simon.

1.1.0.0

Added ability to specify integer class for N. MEX-File.

1.0.0.0