Rearrange a given array

16 views (last 30 days)
Anthony Chu
Anthony Chu on 21 Mar 2022
Commented: Voss on 1 Nov 2022
I have a 1×16 array as follow :
A = 1×16
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
And I want to rearrange it like :
A' = 4×4
16 12 8 4
15 11 7 3
14 10 6 2
13 9 5 1
Could some tell me how to do it by any method? thanks alot !!!

Accepted Answer

Voss
Voss on 21 Mar 2022
Edited: Voss on 21 Mar 2022
% A = [1 2 3 4
% 5 6 7 8
% 9 10 11 12]
% A = A.';
% A = reshape(A(end:-1:1),3,[])
A = [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16]
A = 1×16
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
A = reshape(A(end:-1:1),4,[])
A = 4×4
16 12 8 4 15 11 7 3 14 10 6 2 13 9 5 1
  2 Comments
Voss
Voss on 1 Nov 2022
You're welcome!

Sign in to comment.

More Answers (2)

Arif Hoq
Arif Hoq on 21 Mar 2022
Edited: Arif Hoq on 21 Mar 2022
A=[1 2 3 4 5 6 7 8 9 10 11 12];
B=flip(A) % flip
B = 1×12
12 11 10 9 8 7 6 5 4 3 2 1
out=reshape(B,3,4) % row number=3 and column number=4
out = 3×4
12 9 6 3 11 8 5 2 10 7 4 1

Sulaymon Eshkabilov
Sulaymon Eshkabilov on 21 Mar 2022
A = [1 2 3 4
5 6 7 8
9 10 11 12];
B = sort(A(:), 'descend');
C= reshape(B, 3,4)
C = 3×4
12 9 6 3 11 8 5 2 10 7 4 1

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!