convert a 2D matrix into 3D matrix

5 vues (au cours des 30 derniers jours)
Dwight
Dwight le 4 Jan 2012
Can anyone help me with making a 2D matrix into a 3D matrix?
I have a (105504 x 3) 2d matrix and I need to make a 3D matrix of dimensions (6 x 3 x 17584) I need to take (6 x 3) consecutive matrices by row for 17584 layers.
Can anyone help me with this? I really appreciate any help
  1 commentaire
Dwight
Dwight le 5 Jan 2012
Thank you @andrei and @Walter!!! Walter, your code gave me a 3D matrix (17584x6x3). Andrei, your code worked perfectly (3D matrix (6x3x17584), Thank you for the help guys, you are awesome!!!
keep it up!!!

Connectez-vous pour commenter.

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 4 Jan 2012
a - your array (105504 x 3)
out = permute(reshape(a.', 3,6,[]),[2 1 3]);
  1 commentaire
Dwight
Dwight le 5 Jan 2012
Andrei, your code worked perfectly (3D matrix (6x3x17584)). Thank you very much.

Connectez-vous pour commenter.

Plus de réponses (1)

Walter Roberson
Walter Roberson le 4 Jan 2012
Please try
B = permute(reshape(A, 6, [], 3),[2 1 3]);
  1 commentaire
Dwight
Dwight le 5 Jan 2012
Walter, your code gave me a 3D matrix (17584x6x3).
Andrei's code gave me the correct dimensions I needed, but I appreciate your quick and expert response.
Thank you much

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by