Mean of nested cell arrays
조회 수: 3 (최근 30일)
이전 댓글 표시
I have attached the 2 arrays which I am trying to calculate the mean, independently.
mycell.mat is a {10x1}{3x1}{7x1} cell. I need to calculate the mean of the 10 values within the nested cells.
So I need the: mean of mycell{1:10,1}{1,1}(1,1)
mean of mycell{1:10,1}{1,1}(2,1)
mean of mycell{1:10,1}{1,1}(3,1) and so on
mean of mycell{1:10,1}{2,1}(1,1)
mean of mycell{1:10,1}{2,1}(2,1)
mean of mycell{1:10,1}{2,1}(3,1) and so on
mean of mycell{1:10,1}{3,1}(1,1)
mean of mycell{1:10,1}{3,1}(2,1)
mean of mycell{1:10,1}{3,1}(3,1) and so on
Thank you
댓글 수: 0
채택된 답변
Stephen23
2018년 7월 6일
>> M = cell2mat(permute(cat(3,cv_perf{:}),[2,1,3]));
>> Z = mean(M,3)
Z =
0.058748 0.078402 0.095877
0.094780 0.133897 0.116949
0.144421 0.190915 0.140248
0.133917 0.158366 0.152102
0.143377 0.130409 0.130549
0.183644 0.180682 0.164413
0.084289 0.158605 0.090256
댓글 수: 0
추가 답변 (1개)
Akira Agata
2018년 7월 6일
How about the following? The result out is 10-by-1 array.
- out(1) is mean of cv_perf{1}{1}(1) ~ cv_perf{10}{1}(1)
- out(2) is mean of cv_perf{1}{1}(2) ~ cv_perf{10}{1}(2)
...
- out(10) is mean of cv_perf{1}{1}(10) ~ cv_perf{10}{1}(10)
load('mycell.mat')
c = [cv_perf{1:10}];
d = cell2mat(c(1,:));
out = mean(d,2);
참고 항목
카테고리
Help Center 및 File Exchange에서 Tables에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!