Calculating mean of different ranges in a Table

2 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)

Tags

Community Treasure Hunt

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

Start Hunting!