How to get the mean of a cell array of matrices

3 views (last 30 days)
Hallo,
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
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]);
Checking:
>> 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)

Categories

Find more on Cell Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!