# array to cell array

5 views (last 30 days)
Mingde on 18 Jul 2022
Commented: Image Analyst on 19 Jul 2022
Hello
I have many of array.
do you have any function for instead this CY.
CY = [cy(:,:,1) cy(:,:,2) cy(:,:,3) cy(:,:,4) cy(:,:,5) cy(:,:,6) cy(:,:,7) cy(:,:,8) cy(:,:,9) cy(:,:,10) cy(:,:,11) cy(:,:,12) cy(:,:,13) cy(:,:,14) cy(:,:,15) cy(:,:,16) cy(:,:,17) cy(:,:,18) cy(:,:,19) cy(:,:,20) cy(:,:,21) cy(:,:,22) cy(:,:,23) cy(:,:,24) cy(:,:,25) cy(:,:,26) cy(:,:,27) ... cy(:,:,3000];

Hayden Raabe-Garmon on 18 Jul 2022
Edited: Hayden Raabe-Garmon on 18 Jul 2022
cy(:,:,1)=1
cy(:,:,2)=2
cy(:,:,3)=3
CY=squeeze(cy)'
CY =
1 2 3
Mingde on 18 Jul 2022
Thank you. it is working.

Image Analyst on 18 Jul 2022
Trust me, you don't want a cell array. I highly doubt it. It uses way more memory and is inefficient. You want code like @Hayden Raabe-Garmon gave you
CY=squeeze(cy)'
If you think you want a cell array, give justification (so I can talk you out of it).
Image Analyst on 19 Jul 2022
Again, we're not using cell arrays. And I don't know what range A, B, etc. cover. Do you just want the average of every group of 3 planes/slices? Like
A = cy(:, :, 1:3);
theMean = mean(A, 'all');