# Pad array to certain size

124 views (last 30 days)
raheem mian on 11 Feb 2020
Commented: TJ on 30 Oct 2020
I would like to pad my matrix x so that the resulting size of the matrix is 425x425.
How would I achieve this ?
x = randi(256,200,200);

James Tursa on 11 Feb 2020
raheem mian on 11 Feb 2020
X is a 200x200 matrix with random integer values up to 256.

SaiDileep Kola on 11 Feb 2020
Hi Raheem,
This is how you can realize your required outcome,
x=randi(256,200,200); % Initial Matrix
z=zeros(425,425); %New matrix
z(1:200,1:200) = x; % Superimpose x on to appropriate position on z

#### 1 Comment

TJ on 30 Oct 2020
I am looking for an answer to a similar problem,
I have a 22x1 cell array, where each cell is an n by n matrix (image) mostly around the size 20 x 20 (double values), all of the same image pixel size, 0.04 microns.
I would like to return a 22x1 cell array where each cell is an n by n matrix of equal size, using the solution above this is relatively simple. However, that would displace the real (scaled) location of each matrix. So I would like the all of the original matrices to be at the centre of the returned padded matrices.
Is there a simple solution to this?