Average of specific columns from cells in cell array
Ältere Kommentare anzeigen
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!
Antworten (2)
James Tursa
am 5 Okt. 2017
Bearbeitet: James Tursa
am 5 Okt. 2017
result = cellfun(@(x)mean(x(:,1)),alldata(4:84));
9 Kommentare
AIDA AMROUSSIA
am 5 Okt. 2017
AIDA AMROUSSIA
am 5 Okt. 2017
James Tursa
am 5 Okt. 2017
Bearbeitet: James Tursa
am 5 Okt. 2017
You said (I think) that alldata had at least 84 elements. What does this show:
size(alldata)
AIDA AMROUSSIA
am 6 Okt. 2017
AIDA AMROUSSIA
am 6 Okt. 2017
Andrei Bobrov
am 6 Okt. 2017
Please attach here your alldata.
James Tursa
am 6 Okt. 2017
Are some of the cell elements empty?
AIDA AMROUSSIA
am 7 Okt. 2017
James Tursa
am 7 Okt. 2017
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));
AIDA AMROUSSIA
am 7 Okt. 2017
0 Stimmen
Kategorien
Mehr zu Data Type Conversion finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!