How can i reorder NxM matrix into a 1D array
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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];
Réponse acceptée
Star Strider
le 12 Juin 2018
b = reshape(a([3 2 1],:)', 1, [])
b =
7 8 9 4 5 6 1 2 3
1 commentaire
Stephen23
le 12 Juin 2018
Or generalized for any number of rows:
reshape(a(end:-1:1,:).', 1, [])
Plus de réponses (1)
Alfonso
le 12 Juin 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 commentaires
Voir également
Catégories
En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!