Average of every nth value in a vector
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I'm working on a project that will be measuring heart rate over long periods of time (8+ hours), and the data will be sampled every 0.1s. This will give me far more data than I would like/need! I'm looking to average the data to give me HR every 1 minute. The example data set that I'm working with at the moment is a vector of 137255x1 and I want to be able to average every 600 values. Is it possible to do this?
Thank you in advance!
0 commentaires
Réponses (2)
Matt J
le 4 Déc 2019
tmp=conv(yourvector, ones(600,1)/600,'valid');
result=tmp(1:600:end)
0 commentaires
Andrei Bobrov
le 4 Déc 2019
Modifié(e) : Andrei Bobrov
le 4 Déc 2019
Let A - your array 137255 x 1
n = numel(A);
TT = timetable(A,'RowTimes',(0:n-1)'*saconds(.1));
out = retime(TT,'minutely','mean');
or
i = ceil((1:numel(A))'/600);
out = accumarray(i,A,[],@mean);
2 commentaires
Voir également
Catégories
En savoir plus sur Data Import and Analysis dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!