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 (2024). 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
Find more on Matrices and Arrays in Help Center and MATLAB Answers

Inspired by: REPLICATE

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes

Added kron to the see also list.