How do I measure mean of every 10 data of a vector size 1x1500?

1 view (last 30 days)
I have a vector of size 1x1500, whose every 10 values, are of one person (i.e, there are 150 persons).
I should estimate the mean of those 10 values for each person. my script is not working well, any idea?

Accepted Answer

David Sanchez
David Sanchez on 29 May 2014
A = rand(1,1500); % your data
M = zeros(1,150); % MEAN MATRIX
for k=1:150
M(k) = mean(A(((k-1)*10+k):10*k));
end

More Answers (2)

Jan de Wilde
Jan de Wilde on 29 May 2014
Avoiding loops , try:
A = rand(1,1500); % your data
M = mean( reshape( A, 10, 150 ) );

Jos (10584)
Jos (10584) on 29 May 2014
% DATA
A = rand(1,1500) ;
N = 10 ;
% ENGINE
M = accumarray((floor((0:numel(A)-1)/N)+1).',A(:),[],@mean) ;
% CHECK
k = 17 ;
isequal(M(k),mean(A(((k-1)*N)+(1:10))))

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!