# repelem

Repeat copies of array elements

## Syntax

``u = repelem(v,n)``
``B = repelem(A,r1,...,rN)``

## Description

example

````u = repelem(v,n)`, where `v` is a scalar or vector, returns a vector of repeated elements of `v`. If `n` is a scalar, then each element of `v` is repeated `n` times. The length of `u` is `length(v)*n`.If `n` is a vector, then it must be the same length as `v`. Each element of `n` specifies the number of times to repeat the corresponding element of `v`. This syntax is not supported for `table` input.```

example

````B = repelem(A,r1,...,rN)` returns an array with each element of `A` repeated according to `r1,...,rN`. Each `r1,...,rN` must either be a scalar or a vector with the same length as `A` in the corresponding dimension. For example, if `A` is a matrix, `repelem(A,2,3)` returns a matrix containing a `2`-by-`3` block of each element of `A`.```

## Examples

collapse all

Create a vector and repeat each of its elements three times into a new vector.

```v = [1 2 3 4]; u = repelem(v,3)```
```u = 1×12 1 1 1 2 2 2 3 3 3 4 4 4 ```

Repeat the first two elements of `v` twice and the last two elements three times.

`u = repelem(v,[2 2 3 3])`
```u = 1×10 1 1 2 2 3 3 3 4 4 4 ```

Create a matrix and repeat each element into a 3-by-2 block of a new matrix.

`A = [1 2; 3 4]`
```A = 2×2 1 2 3 4 ```
`B = repelem(A,3,2)`
```B = 6×4 1 1 2 2 1 1 2 2 1 1 2 2 3 3 4 4 3 3 4 4 3 3 4 4 ```

Create a matrix and copy its columns into a new array, repeating the first column twice and second column three times.

`A = [1 2; 3 4]`
```A = 2×2 1 2 3 4 ```
`B = repelem(A,1,[2 3])`
```B = 2×5 1 1 2 2 2 3 3 4 4 4 ```

Create two column vectors.

```A = [1; 3; 5]; B = [2; 4];```

Generate all element combinations of the two vectors by using `repelem` and `repmat`. Each row of the output `T` is a combination with the first element coming from the first vector and the second element coming from the second vector. This command is equivalent to finding the Cartesian product of two vectors.

`T = [repelem(A,numel(B)) repmat(B,numel(A),1)]`
```T = 6×2 1 2 1 4 3 2 3 4 5 2 5 4 ```

Starting in R2023a, you can also use the `combinations` function to generate all element combinations of two vectors.

`T = combinations(A,B)`
```T=6×2 table A B _ _ 1 2 1 4 3 2 3 4 5 2 5 4 ```

## Input Arguments

collapse all

Input element, specified as a scalar or a vector.

Data Types: `single` | `double` | `int8` | `int16` | `int32` | `int64` | `uint8` | `uint16` | `uint32` | `uint64` | `logical` | `char` | `string` | `struct` | `table` | `cell` | `datetime` | `duration`
Complex Number Support: Yes

Number of times to repeat each element, specified as a scalar or a vector. If `n` is a scalar, then all elements of `v` are repeated `n` times. If `n` is a vector, then each element of `n` specifies the number of times to repeat the corresponding element of `v`. In either case, `n` must be integer-valued.

Data Types: `single` | `double` | `int8` | `int16` | `int32` | `int64` | `uint8` | `uint16` | `uint32` | `uint64`

Input array, specified as a matrix or multidimensional array.

Data Types: `single` | `double` | `int8` | `int16` | `int32` | `int64` | `uint8` | `uint16` | `uint32` | `uint64` | `logical` | `char` | `struct` | `table` | `cell` | `datetime` | `duration`
Complex Number Support: Yes

Repetition factors for each dimension, specified as separate arguments of integer-valued scalars or vectors. If `A` is a table, each repetition factor must be a scalar.

Data Types: `single` | `double` | `int8` | `int16` | `int32` | `int64` | `uint8` | `uint16` | `uint32` | `uint64`

## Output Arguments

collapse all

Output vector. If `v` is a row vector or scalar, `u` is a row vector. If `v` is a column vector, `u` is also a column vector.

Data Types: `single` | `double` | `int8` | `int16` | `int32` | `int64` | `uint8` | `uint16` | `uint32` | `uint64` | `logical` | `char` | `string` | `struct` | `table` | `cell` | `datetime` | `duration`

Output array, returned as a matrix or multidimensional array.

Data Types: `single` | `double` | `int8` | `int16` | `int32` | `int64` | `uint8` | `uint16` | `uint32` | `uint64` | `logical` | `char` | `string` | `struct` | `table` | `cell` | `datetime` | `duration`

## Version History

Introduced in R2015a