MATLAB Answers

0

Adding a frame of zeros to a matrix

Asked by Rashid Hussein on 4 Apr 2019
Latest activity Commented on by Guillaume
on 4 Apr 2019
I have a matrix 19x9 I want to add a frame of zeros so I will be 20x10 ?????

  0 Comments

Sign in to comment.

1 Answer

Answer by Guillaume
on 4 Apr 2019
 Accepted Answer

Not sure which corner you want to pad with zeros. I'm assuming bottom right:
newmatrix = [yourmatrix, zeros(size(yourmatrix, 1), 1); zeros(1, size(yourmatrix, 2) + 1)];
If you have the image processing toolbox:
newmatrix = padarray(yourmatrix, [1 1], 'direction', 'post');

  2 Comments

Actually I want to add the zeros as frame for all corners So the original matrix would be surrendered by zeros like square
Guillaume
on 4 Apr 2019
newmatrix = [zeros(1, size(yourmatrix, 2) + 2); zeros(size(yourmatrix, 1), 1), yourmatrix, zeros(size(yourmatrix, 1), 1); zeros(1, size(yourmatrix, 2) + 2)];
Using padarray:
newmatrix = padarray(yourmatrix, [1 1]);

Sign in to comment.