0% found this document useful (0 votes)
737 views5 pages

Repeat Copies of Array - MATLAB Repmat

The repmat function repeats copies of an array. It returns an array containing copies of the input array arranged in the specified number of rows and columns or block format. Repmat can repeat copies of matrices, vectors, multidimensional arrays, scalars, tables and other data types. It is useful for constructing tile or block arrays from a single array.

Uploaded by

Miljan Kovacevic
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
737 views5 pages

Repeat Copies of Array - MATLAB Repmat

The repmat function repeats copies of an array. It returns an array containing copies of the input array arranged in the specified number of rows and columns or block format. Repmat can repeat copies of matrices, vectors, multidimensional arrays, scalars, tables and other data types. It is useful for constructing tile or block arrays from a single array.

Uploaded by

Miljan Kovacevic
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

repmat

Repeat copies of array

Syntax

B = repmat(A,n)

example

B = repmat(A,r)

example

B = repmat(A,r1,...,rN)

example

Description

B = repmat(A,n) returns an array containing n copies of A in the row and column dimensions.
The size of B is size(A)*n when A is a matrix.

example

B = repmat(A,r) specifies the repetition scheme with row vector r. For example, repmat(A,[2
3]) returns the same result as repmat(A,2,3).

example

B = repmat(A,r1,...,rN) specifies a list of scalars, r1,..,rN, that describes how copies of A


are arranged in each dimension. When A has N dimensions, the size of B is size(A).*
[r1...rN]. For example, repmat([1 2; 3 4],2,3) returns a 4-by-6 matrix.

Examples

collapse all

Square Block Format


Repeat copies of a matrix into a 2-by-2 block arrangement.
A = diag([100 200 300])

A =

100
0
0

0
200
0

0
0
300

B = repmat(A,2)

B =

100
0
0
100
0
0

example

0
200
0
0
200
0

0
0
300
0
0
300

100
0
0
100
0
0

0
200
0
0
200
0

0
0
300
0
0
300

Rectangular Block Format


Repeat copies of a matrix into a 2-by-3 block arrangement.
A = diag([100 200 300])

A =

100
0
0

0
200
0

0
0
300

B = repmat(A,2,3)

B =

100
0
0
100
0
0

0
200
0
0
200
0

0
0
300
0
0
300

100
0
0
100
0
0

0
200
0
0
200
0

0
0
300
0
0
300

100
0
0
100
0
0

0
200
0
0
200
0

3-D Block Array


Repeat copies of a matrix into a 2-by-3-by-2 block arrangement.
A = [1 2; 3 4]

A =

1
3

2
4

B = repmat(A,[2 3 2])

0
0
300
0
0
300

B(:,:,1) =
1
3
1
3

2
4
2
4

1
3
1
3

2
4
2
4

1
3
1
3

2
4
2
4

2
4
2
4

1
3
1
3

2
4
2
4

1
3
1
3

2
4
2
4

B(:,:,2) =
1
3
1
3

Vertical Stack of Row Vectors


Vertically stack a row vector four times.
A = 1:4;
B = repmat(A,4,1)

B =

1
1
1
1

2
2
2
2

3
3
3
3

4
4
4
4

Horizontal Stack of Column Vectors


Horizontally stack a column vector four times.
A = (1:3)';
B = repmat(A,1,4)

B =

1
2
3

1
2
3

1
2
3

1
2
3

Tabular Block Format


Create a table with variables Age and Height.

A = table([39; 26],[70; 63],'VariableNames',{'Age' 'Height'})

A =

Age
___

Height
______

39
26

70
63

Repeat copies of the table into a 2-by-3 block format.


B = repmat(A,2,3)

B =

Age
___

Height
______

Age_1
_____

Height_1
________

Age_2
_____

Height_2
________

39
26
39
26

70
63
70
63

39
26
39
26

70
63
70
63

39
26
39
26

70
63
70
63

repmat repeats the entries of the table and appends a number to the new variable names.

Input Arguments

collapse all

A Input array

scalar | vector | matrix | multidimensional array


Input array, specified as a scalar, vector, matrix, or multidimensional array.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
| char | struct | table | cell
Complex Number Support: Yes
n Number of times to repeat input array in row and column dimensions
integer value

Number of times to repeat the input array in the row and column dimensions, specified as an integer value.
If n is 0 or negative, the result is an empty array.
Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
r1,...,rN Repetition factors for each dimension (as separate arguments)
integer values

Repetition factors for each dimension, specified as separate arguments of integer values. If any repetition

factor is 0 or negative, the result is an empty array.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
r Vector of repetition factors for each dimension (as a row vector)
integer values

Vector of repetition factors for each dimension, specified as a row vector of integer values. If any value in r
is 0 or negative, the result is an empty array.
Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

More About

expand all

Tips

To build block arrays by forming the tensor product of the input with an array of ones, use kron. For
example, to stack the row vector A = 1:3 four times vertically, you can use B = kron(A,ones(4,1)).

To create block arrays and perform a binary operation in a single pass, use bsxfun. In some cases,
bsxfun provides a simpler and more memory efficient solution. For example, to add the vectors A = 1:5
and B = (1:10)' to produce a 10-by-5 array, use bsxfun(@plus,A,B) instead of repmat(A,10,1) +
repmat(B,1,5).
When A is a scalar of a certain type, you can use other functions to get the same result as repmat.
repmat Syntax

Equivalent Alternative

repmat(single(inf),m,n)

inf(m,n,'single')

repmat(NaN,m,n)

repmat(int8(0),m,n)

repmat(uint32(1),m,n)
repmat(eps,m,n)

See Also

bsxfun | kron | meshgrid | ndgrid | repelem | reshape


Introduced before R2006a

NaN(m,n)

zeros(m,n,'int8')

ones(m,n,'uint32')
eps(ones(m,n))

You might also like