I need help finding the average across a 1x5 cell array

I have a 1x5 cell array, each with a 4x5 matrix. I need to average the data (in the first row, and all columns of each matrix) across all 5 cells. Any suggestions on how to approach this?

Answers (1)

Jan
Jan on 12 May 2018
Edited: Jan on 12 May 2018
% Create some test data:
C = cell(1, 5);
for k = 1:5
C{k} = rand(4, 5);
end
M = cat(3, C{:}); % convert cell to 3-dim numerical array
s = size(M);
Mavg1 = reshape(mean(M, 1), s(2:3))
Mavg2 = reshape(mean(M, 2), s([1, 3]))
For mathematical operations a multi-dimensional numerical array is useful, while a cell array is not.

Asked:

on 12 May 2018

Edited:

Jan
on 12 May 2018

Community Treasure Hunt

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

Start Hunting!