Calculating mean of different ranges in a Table

18 views (last 30 days)
Let's say I have a table with n rows and z columns. Columns represent different variables and rows each time point. Now I would like to calculate a mean for each variable over specific ranges of n (e.g. continuously for rows 1:300:end). Could you please help? I am kind of lost...

Accepted Answer

Ameer Hamza
Ameer Hamza on 26 Dec 2020
Edited: Ameer Hamza on 26 Dec 2020
There are several ways to do this in MATLAB. Following shows one option
M = rand(900, 10);
C = mat2cell(M, 300*ones(size(M,1)/300,1), size(M,2));
M_mean = cell2mat(cellfun(@mean, C, 'uni', 0));
or this
M_mean = squeeze(mean(reshape(M, 300, size(M,1)/300, [])))

More Answers (0)


Find more on Creating and Concatenating Matrices 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!