Putting 1 around the matrix

2 views (last 30 days)
Hi I have a 3X3 matrix and want to put 1 around the matrix as it will become 4X4 matrix.....
Offroad Jeep
Offroad Jeep on 23 Sep 2016
yes I need 3X3 matrix Converted to 5X5 by putting 1 all around

Sign in to comment.

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 23 Sep 2016
Let A - your matrix [3 x 3]:
A = magic(3);
out = ones(2 + size(A));
out(2:end-1,2:end-1) = A;
  1 Comment
Offroad Jeep
Offroad Jeep on 23 Sep 2016
Thanks ..... worked

Sign in to comment.

More Answers (1)

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

Community Treasure Hunt

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

Start Hunting!