How to obtain the outermost elements of a 2D matrix ?

Hello everyone,
How can I obtain the outermost elements of a 2D matrix ?
(For example, the elements that are highlighted in the following picture)

 Accepted Answer

How about the following?
% Sample matrix
M = magic(5);
% Replace non-outermost element as NaN
M(2:end-1, 2:end-1) = nan;
% Extract the outermost elements
idx = isnan(M);
OuterElements = M(~idx)
OuterElements = 16×1
17 23 4 10 11 24 18 1 25 8

2 Comments

Thank you Akira,
I actually wanted know how to obtain the outermost elements in a given 2D matrix in clockwise manner or anti-clockwise manner?
OK, then how about the follwing solution?
% Sample matrix
M = magic(5)
M = 5×5
17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
% Extract the outermost elements in anti-clockwise manner
OuterElements = M(1:end-1, 1);
for kk = 1:3
M = rot90(M, -1);
OuterElements = [OuterElements; M(1:end-1, 1)];
end
% Show the result
OuterElements
OuterElements = 16×1
17 23 4 10 11 18 25 2 9 3

Sign in to comment.

More Answers (0)

Categories

Asked:

on 12 Oct 2022

Commented:

on 12 Oct 2022

Community Treasure Hunt

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

Start Hunting!