FreeMat
|
Section: Array Generation and Manipulations
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.
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