array to cell array

1 次查看(过去 30 天)
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
编辑:Hayden Raabe-Garmon 2022-7-18
cy(:,:,1)=1
cy(:,:,2)=2
cy(:,:,3)=3
CY=squeeze(cy)'
CY =
1 2 3
  3 个评论
Mingde
Mingde 2022-7-18
Thank you. it is working.

请先登录,再进行评论。

更多回答(1 个)

Image Analyst
Image Analyst 2022-7-18
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).
  3 个评论
Mingde
Mingde 2022-7-19
编辑:Mingde 2022-7-19
cy(:,:,1)=1
cy(:,:,2)=2
cy(:,:,3)=3
cy(:,:,4)=4
cy(:,:,5)=5
cy(:,:,6)=6
cy(:,:,7)=7
cy(:,:,8)=8
cy(:,:,9)=9
...
cy(:,:,100)=100
How Can I use loop for mean each 3 cell array?
For example
mean(A)
cy(:,:,1)=1
cy(:,:,2)=2
cy(:,:,3)=3
mean(B)
cy(:,:,4)=4
cy(:,:,5)=5
cy(:,:,6)=6
...
mean(Z)
cy(:,:,98)=98
cy(:,:,99)=99
cy(:,:,100)=100
Image Analyst
Image Analyst 2022-7-19
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');

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by