Calculate mean from a cell array.
조회 수: 19 (최근 30일)
이전 댓글 표시
I am trying to calculate the mean from 1x10 cell array where the array contains matrices of 138x1 dimensions. But the dimensions of all 10 arrays are not the same. So is it possible to calculate mean out of all together the cell arrays having different dimensions? Here I am attaching the file Sum_col.mat from which I want to calculate the mean.
Any help would be really appreciated. Thank you in advance.
댓글 수: 0
채택된 답변
Rik
2021년 7월 16일
Two options of what you could mean:
%load your data first
websave('data.mat','https://www.mathworks.com/matlabcentral/answers/uploaded_files/686468/Sum_col.mat');
Sum_col=load('data.mat');Sum_col=Sum_col.Sum_col
%mean of each cell (returning a 1x10 array)
cellfun(@mean,Sum_col)
%mean of every element (returning a 138x1 array)
tmp=Sum_col;max_sz=max(cellfun('prodofsize',tmp));
for n=find(cellfun('prodofsize',tmp)<max_sz)
tmp{n}((end+1):max_sz)=NaN; % fill extra entries with NaN
end
mean(cell2mat(tmp),2,'omitnan')
댓글 수: 2
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Structures에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!