# repelem

Repeat copies of array elements

## Description

,
where `u`

= repelem(`v`

,`n`

)`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.

returns
an array with each element of `B`

= repelem(`A`

,`r1,...,rN`

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

### Repeat Vector Elements

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

### Repeat Matrix Elements

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

### Repeat Matrix Columns

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

## Input Arguments

`v`

— Input element

scalar | vector

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

`n`

— Number of times to repeat each element

scalar | vector

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`

`A`

— Input array

matrix | multidimensional array

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

`r1,...,rN`

— Repetition factors for each dimension (as separate arguments)

scalars | vectors

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

`u`

— Output vector

vector

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`

`B`

— Output array

matrix | multidimensional array

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`

## Extended Capabilities

### Tall Arrays

Calculate with arrays that have more rows than fit in memory.

This function supports tall arrays with the limitations:

The two-input syntax is not supported.

The replication factor in the first dimension must be 1. For example,

`repelem(TA,1,n,p,...)`

.

For more information, see Tall Arrays.

### C/C++ Code Generation

Generate C and C++ code using MATLAB® Coder™.

Usage notes and limitations:

The input must be a vector or matrix. The input cannot be a multidimensional array.

### GPU Code Generation

Generate CUDA® code for NVIDIA® GPUs using GPU Coder™.

Usage notes and limitations:

The input must be a vector or matrix. The input cannot be a multidimensional array.

### Thread-Based Environment

Run code in the background using MATLAB® `backgroundPool`

or accelerate code with Parallel Computing Toolbox™ `ThreadPool`

.

This function fully supports thread-based environments. For more information, see Run MATLAB Functions in Thread-Based Environment.

### GPU Arrays

Accelerate code by running on a graphics processing unit (GPU) using Parallel Computing Toolbox™.

This function fully supports GPU arrays. For more information, see Run MATLAB Functions on a GPU (Parallel Computing Toolbox).

### Distributed Arrays

Partition large arrays across the combined memory of your cluster using Parallel Computing Toolbox™.

This function fully supports distributed arrays. For more information, see Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).

## Version History

**Introduced in R2015a**

## Open Example

You have a modified version of this example. Do you want to open this example with your edits?

## MATLAB Command

You clicked a link that corresponds to this MATLAB command:

Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.

# Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

You can also select a web site from the following list:

## How to Get Best Site Performance

Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.

### Americas

- América Latina (Español)
- Canada (English)
- United States (English)

### Europe

- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)

- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)