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

5 次查看(过去 30 天)
Hello everyone,
How can I obtain the outermost elements of a 2D matrix ?
(For example, the elements that are highlighted in the following picture)

采纳的回答

Akira Agata
Akira Agata 2022-10-12
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 个评论
Mehmet
Mehmet 2022-10-12
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 2022-10-12
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

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by