How can i reorder NxM matrix into a 1D array
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Matthew
am 12 Jun. 2018
Kommentiert: Stephen23
am 12 Jun. 2018
I am looking to take a sample matrix below. The matrix will be large and looking for fast and non looping solution. Thank you.
a=[1 2 3;4 5 6;7 8 9];
reshape it into:
b=[7 8 9 4 5 6 1 2 3];
Akzeptierte Antwort
Star Strider
am 12 Jun. 2018
b = reshape(a([3 2 1],:)', 1, [])
b =
7 8 9 4 5 6 1 2 3
1 Kommentar
Stephen23
am 12 Jun. 2018
Or generalized for any number of rows:
reshape(a(end:-1:1,:).', 1, [])
Weitere Antworten (1)
Alfonso
am 12 Jun. 2018
Without looping you can do:
b = [a(end,:), a(end-1,:), a(end-2,:)]; % 1D array
b =
7 8 9 4 5 6 1 2 3
You can repeat the iterations as many rows you have: [a(end-1,:), ... ,a(end-50,:)]
0 Kommentare
Siehe auch
Kategorien
Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!