Accelerating the pace of engineering and science

# Documentation Center

• Trial Software

# perms

All possible permutations

## Description

example

P = perms(v) returns a matrix containing all permutations of the elements of vector v in reverse lexicographic order. Each row of P contains a different permutation of the n elements in v. Matrix P has the same data type as v, and it has n! rows and n columns.

## Examples

expand all

### All Permutations of Double Integers

```v = [2 4 6];
P = perms(v)```
```P =

6     4     2
6     2     4
4     6     2
4     2     6
2     4     6
2     6     4```

### All Permutations of Unsigned Integers

```v = uint16([1023 4095 65535]);
P = perms(v)```
```P =

65535   4095   1023
65535   1023   4095
4095  65535   1023
4095   1023  65535
1023   4095  65535
1023  65535   4095```

### All Permutations of Complex Numbers

```v = [1+1i 2+1i 3+1i];
P = perms(v)```
```P =

3.0000 + 1.0000i   2.0000 + 1.0000i   1.0000 + 1.0000i
3.0000 + 1.0000i   1.0000 + 1.0000i   2.0000 + 1.0000i
2.0000 + 1.0000i   3.0000 + 1.0000i   1.0000 + 1.0000i
2.0000 + 1.0000i   1.0000 + 1.0000i   3.0000 + 1.0000i
1.0000 + 1.0000i   2.0000 + 1.0000i   3.0000 + 1.0000i
1.0000 + 1.0000i   3.0000 + 1.0000i   2.0000 + 1.0000i```

## Input Arguments

expand all

### v — Set of itemsvector of numeric, logical, or char values

Set of items, specified as a vector of numeric, logical, or char values.

Example: [1 2 3 4]

Example: [1+1i 2+1i 3+1i 4+1i]

Example: int16([1 2 3 4])

Example: ['abcd']

Example: [true false true false]

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
Complex Number Support: Yes

## Limitations

perms(v) is practical when length(v) is less than about 10.