Putting 1 around the matrix

Hi I have a 3X3 matrix and want to put 1 around the matrix as it will become 4X4 matrix.....

3 Comments

What do you mean by 'around the matrix'? Wouldn't it become 5x5 in that case or do you mean around just one horizontal and one vertical side? If so which sides?
ya sorry its 5X5
yes I need 3X3 matrix Converted to 5X5 by putting 1 all around

Sign in to comment.

 Accepted Answer

Let A - your matrix [3 x 3]:
A = magic(3);
out = ones(2 + size(A));
out(2:end-1,2:end-1) = A;

More Answers (1)

Adam
Adam on 23 Sep 2016
Edited: Adam on 23 Sep 2016
a = zeros(3);
b = padarray( a, [1 1], 1 );
would put 1s all the way round, but this produces a 5x5 matrix. A 4x4 matrix result is ambiguous without being more clearly defined.
Note: This requires the Image Processing Toolbox though

Categories

Community Treasure Hunt

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

Start Hunting!