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

1 次查看(过去 30 天)
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?

采纳的回答

David Sanchez
David Sanchez 2014-5-29
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

更多回答(2 个)

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

Jos (10584)
Jos (10584) 2014-5-29
% 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))))

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by