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

2 views (last 30 days)
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

Akira Agata
Akira Agata on 12 Oct 2022
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
Mehmet
Mehmet on 12 Oct 2022
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?
Akira Agata
Akira Agata on 12 Oct 2022
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

Find more on MATLAB in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!