3D hypercube to 2D array

Hi,
I have a 3D hypercube of dimensions 250x250x150 and I am looking to make it 2D, expanding left to right along the 250x250 array to create a new array that is 62500x150. Would reshape(A,62500,150) work? I would essentially like my z-coordinate to become my y, and the x and y to become x.
Thanks in advance.

 Accepted Answer

Ameer Hamza
Ameer Hamza on 9 Dec 2020
Edited: Ameer Hamza on 9 Dec 2020
No, If you want to read the elements left to right then first you need to permute the 1st and 2nd dimensions
A; % 250x250x150
B = reshape(permute(A,[2 1 3]), [], 150);

4 Comments

Thanks!!
And what's the best way to convert back?
Does
C = permute(reshape(B,250,250,150),[2 1 3])
work?
Yes, thats correct.

Sign in to comment.

More Answers (0)

Asked:

KF
on 9 Dec 2020

Commented:

on 9 Dec 2020

Community Treasure Hunt

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

Start Hunting!