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

3 Kommentare

Adam
Adam am 23 Sep. 2016
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?
Offroad Jeep
Offroad Jeep am 23 Sep. 2016
ya sorry its 5X5
Offroad Jeep
Offroad Jeep am 23 Sep. 2016
yes I need 3X3 matrix Converted to 5X5 by putting 1 all around

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 23 Sep. 2016

1 Stimme

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

Weitere Antworten (1)

Adam
Adam am 23 Sep. 2016
Bearbeitet: Adam am 23 Sep. 2016

0 Stimmen

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

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by