How to reshape a matrix?

1 vue (au cours des 30 derniers jours)
Priyabrata Das
Priyabrata Das le 2 Oct 2020
Commenté : Ameer Hamza le 3 Oct 2020
Suppose I have a 2D matrix (6,3) as follows
A
1 2 3
4 5 6
7 8 9
10 11 12
13 14 15
16 17 18
Now I want to reshape into one 3D matrix (3,3,2) like as follows:
A_3D(:, :, 1)
1 2 3
4 5 6
7 8 9
A_3D(:, :, 2)
10 11 12
13 14 15
16 17 18
How I can achieve that with an efficient way?
Thank you
  1 commentaire
VBBV
VBBV le 2 Oct 2020
% if true
% code
% end
A_3D = reshape(A,3,3,[])

Connectez-vous pour commenter.

Réponse acceptée

Ameer Hamza
Ameer Hamza le 2 Oct 2020
Modifié(e) : Ameer Hamza le 2 Oct 2020
Combination of reshape and permute
permute(reshape(A, 3, size(A,1)/3, []), [1 3 2])
  4 commentaires
Priyabrata Das
Priyabrata Das le 3 Oct 2020
It is working fine. Now I have to understand the logic behind this line of code. Thank you very much.
Ameer Hamza
Ameer Hamza le 3 Oct 2020
I am glad to be of help. You can run each part one by one and see the output. That will help in understanding.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Resizing and Reshaping Matrices 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