Hello,
I have a multidimensional array size = 220 x 46 x 10 x 4 x2 . I would like to combine all of the data in the third dimension so that way I end up with a 4-dimesional array. Any help is greatly appreciated.
Take care and stay well!

 Accepted Answer

One way using summing:
result = squeeze(sum(your_array,3));

7 Comments

Hi! Thanks so much for your speedy help. I did this and now the size of my array is: 220 46 2 4. However, I want all of the raw data from the 3rd dimension. So wouldn't one of my dimesions then have to be expanded by an order of 10 (e.g., 2200 46 2 4). Please let me know if I'm misunderstanding what is happening.
So how do you want the data combined? Another method that retains the raw data would be:
result = reshape(your_array,220,46,10*4,2)
which combines the 3rd and 4th dimensions into one dimension. But it isn't clear how you want the array reduced from 5 dimensions to 4.
Hi James, Thank you for the follow-up. I would like to take all ten trials in the third dimension and combine them so they are vertically stacked in the first dimension (220*10), giving me a 2200 x 46 x 4 x 2 matrix. I will be doing this for a series of data with varying trial numbers so if you could help me to adapt the code for the varying lengths of dimension 3 that would also be greatly appreciated.
Hi James - I think I figured it out. I created vectors that will update the sizes based on the participant (e.g., x = reshape(trialTimecourses, maxTL*maxTrials, data.nChans, nHb, data.nConds). Thank you so much for your help!
Maybe this does what you want?
result = reshape(permute(your_array,[1 3 2 4 5]),2200,46,4,2)
Yes! Thank you! I did not realize the arrays had to be next to eachother before applying the reshape function!
Yes. Reshape does not change the order of the data in memory. You will often need to use another function first such as permute or transpose etc. to rearrange the data in memory before applying the reshape.

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!