Average of specific columns from cells in cell array
이전 댓글 표시
Hi,
I am new to cell array function so excuse me if the answer is obvious.I have a cell array data 1x84 each and each cell is has five columns by variable rows number. I am trying to average the first column of cells 4 to 84. how do I do that? I wasn't successful using
A=cellfun(@mean,alldata{1,5:84}(:,1))
Thank you!
답변 (2개)
James Tursa
2017년 10월 5일
편집: James Tursa
2017년 10월 5일
result = cellfun(@(x)mean(x(:,1)),alldata(4:84));
댓글 수: 9
AIDA AMROUSSIA
2017년 10월 5일
AIDA AMROUSSIA
2017년 10월 5일
James Tursa
2017년 10월 5일
편집: James Tursa
2017년 10월 5일
You said (I think) that alldata had at least 84 elements. What does this show:
size(alldata)
AIDA AMROUSSIA
2017년 10월 6일
AIDA AMROUSSIA
2017년 10월 6일
Andrei Bobrov
2017년 10월 6일
Please attach here your alldata.
James Tursa
2017년 10월 6일
Are some of the cell elements empty?
AIDA AMROUSSIA
2017년 10월 7일
James Tursa
2017년 10월 7일
Assuming that a 0 result for those empty cells is OK, then try this:
alldata484 = alldata(4:84);
e = ~cellfun(@isempty,alldata484);
result = zeros(size(alldata484));
result(e) = cellfun(@(x)mean(x(:,1)),alldata484(e));
카테고리
도움말 센터 및 File Exchange에서 Data Type Conversion에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!