I have a data structure which is 4 dimensional having dimensions of (9,1000,40,6). I have converted it to the following picture
Each of this 6 cells now has 1x40 data which looks as follows,
It goes from 1 to 40 each having 9X1000 size array. How can I convert this data to 40x9x1000?

 Accepted Answer

Why not just convert it to the correct shape in the first place?:
A = your 9x1000x40x6 array
C = squeeze(num2cell(permute(A,[3,1,2,4]),1:3))

3 Comments

Thank you. I got what I wanted
Alex
Alex on 25 Apr 2019
Hey I have a similar issue. I have a 4-D double (a 188x194x1x182 matirx, which is x,y,depth,time) the depth is 0 for all of them and I need to convert it to a 188x194x182 matrix. How can I do this in a similar way?
@Alex: where A is your array:
A = permute(A,[1,2,4,3])

Sign in to comment.

More Answers (2)

maria tamoor
maria tamoor on 2 Nov 2018

0 votes

I have mri data in x,y,slice,frame how can i convert it into 3 d and just get x,y,slice
Abir Troudi
Abir Troudi on 2 Oct 2019

0 votes

hey, i need to convert 4-D volume MRI to 3-D volume, any help please?

Categories

Asked:

on 23 Apr 2018

Commented:

on 14 Nov 2021

Community Treasure Hunt

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

Start Hunting!