How to make a 2d structure from 3d structure??
Afficher commentaires plus anciens
I have a structure(Say A) of size 20 × 18 × 4.
I want to convert it to(Say B) of size 80 × 18
I tried with
B = reshape(A,80,18)
Is this correct?? Please suggest
2 commentaires
Mehmed Saad
le 16 Avr 2020
Modifié(e) : Mehmed Saad
le 16 Avr 2020
Yup it is correct for arrays and cells
Example
x = rand(20,18,4);
y = reshape(x,80,18);
Ashish Mishra
le 16 Avr 2020
Modifié(e) : Ashish Mishra
le 16 Avr 2020
Réponses (1)
Mehmed Saad
le 16 Avr 2020
x(1,1,1) = 1;
x(1,1,2) = 2;
x(1,2,1) = 3;
x(1,2,2) = 4;
x(2,1,1) = 5;
x(2,1,2) = 6;
x(2,2,1) = 7;
x(2,2,2) = 8;
Now type
x(:)
Output will be
ans =
1
5
3
7
2
6
4
8
When you feed data to reshape it converts into this and then reshape to your given dimensions forexample
reshape(x,2,4)
ans =
1 3 2 4
5 7 6 8
Inorder to change which data to pick you have to premute the dimensions for example
x = permute(x,[3 2 1]);
x(:)
ans =
1
2
3
4
5
6
7
8
Hope this helps
1 commentaire
Tommy
le 17 Avr 2020
Ashish,
For your example, I believe this would be
B = reshape(permute(A,[1 3 2]),80,18);
Catégories
En savoir plus sur Data Type Conversion dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!