How to get the mean of a cell array of matrices

1 view (last 30 days)
YH on 10 Dec 2019
Commented: YH on 10 Dec 2019
I have a cell array (99*1000)
each cell for example test {1,1 } looks like this 1*4 double : [-1.7, 0.8,0.276, -0.2]
I want the mean of each column and for the entir cell array so that at the end will have a cell array (1*1000) with each cell: [mean of the first column, mean of the second column, mean of the third column, mean of the fourth column]
I hope some one could help, I know it a little bit complicated to explain exactly what I want to I attached the cell array as mat file.
I tried many things with cellfun and arrayfun but it seems that I am missing something because I couldn't reach the form that i really want.
Any tipps would be really helpful!
thanks in advanced!

Accepted Answer

Stephen23 on 10 Dec 2019
Edited: Stephen23 on 10 Dec 2019
>> out = permute(num2cell(mean(cell2mat(permute(test,[1,3,2])),1),2),[1,3,2]);
>> size(out)
ans =
1 1000
>> out{1}
ans =
-1.346736 0.326463 0.236545 -0.045276
>> mean(vertcat(test{:,1}),1)
ans =
-1.346736 0.326463 0.236545 -0.045276

More Answers (0)

Community Treasure Hunt

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

Start Hunting!