FreeMat: REPMAT Array Replication Function

FreeMat

- Main Page
- Related Pages

REPMAT Array Replication Function

Section: Array Generation and Manipulations

# Usage

The `repmat` function replicates an array the specified number of times. The source and destination arrays may be multidimensional. There are three distinct syntaxes for the `repmap` function. The first form:

      y = repmat(x,n)

replicates the array `x` on an `n-times-n` tiling, to create a matrix `y` that has `n` times as many rows and columns as `x`. The output `y` will match `x` in all remaining dimensions. The second form is

      y = repmat(x,m,n)

And creates a tiling of `x` with `m` copies of `x` in the row direction, and `n` copies of `x` in the column direction. The final form is the most general

      y = repmat(x,[m n p...])

where the supplied vector indicates the replication factor in each dimension.

# Example

Here is an example of using the `repmat` function to replicate a row 5 times. Note that the same effect can be accomplished (although somewhat less efficiently) by a multiplication.

    --> x = [1 2 3 4]

    x =
     1 2 3 4

    --> y = repmat(x,[5,1])

    y =
     1 2 3 4
     1 2 3 4
     1 2 3 4
     1 2 3 4
     1 2 3 4

The `repmat` function can also be used to create a matrix of scalars or to provide replication in arbitrary dimensions. Here we use it to replicate a 2D matrix into a 3D volume.

    --> x = [1 2;3 4]

    x =
     1 2
     3 4

    --> y = repmat(x,[1,1,3])

    y =

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

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

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