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

2 Ansichten (letzte 30 Tage)
Mehmet
Mehmet am 12 Okt. 2022
Kommentiert: Akira Agata am 12 Okt. 2022
Hello everyone,
How can I obtain the outermost elements of a 2D matrix ?
(For example, the elements that are highlighted in the following picture)

Akzeptierte Antwort

Akira Agata
Akira Agata am 12 Okt. 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 Kommentare
Mehmet
Mehmet am 12 Okt. 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 am 12 Okt. 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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by