version (1.88 KB) by Matt Fig
Replicate and tile each element of an array.


Updated 24 Jun 2009

View License

Editor's Note: This file was selected as MATLAB Central Pick of the Week

EXPAND(A,SZ), for array A and vector SZ replicates each element of A by SZ. The results are tiled into an array in the same order as the elements of A, so that the result is size: size(A).*SZ.

Therefore the number of elements of SZ must equal the number of dimensions of A, or in MATLAB syntax:


must be true.
The result will have the same number of dimensions as does A.
There is no restriction on the number of dimensions for input A.


>> A = [1 2;3 4]
A =
1 2
3 4
>> expand(A,[2 1])
ans =
1 2
1 2
3 4
3 4
>> expand(A,[2 2])
ans =
1 1 2 2
1 1 2 2
3 3 4 4
3 3 4 4

Please email me if bugs are found in the code. Thanks.

Cite As

Matt Fig (2022). EXPAND (https://www.mathworks.com/matlabcentral/fileexchange/24536-expand), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2007a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired by: REPLICATE

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!