Dividing cyclical data in array
5 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Marc Elmeua
il 27 Feb 2020
Commentato: Marc Elmeua
il 27 Feb 2020
Hello,
I have acceleration data of diferent segments of a moving horse. I would like to split it so that I have a different array for each of the strides of the horse, so that I can later time normalize each stride and average them to obtain one averaged stride. I can identify each stride by locating the peaks of acceleration of the horse's foot.
Is there an elegant way to split the array in such way?
Thank you so much.
0 Commenti
Risposta accettata
Mohammad Sami
il 27 Feb 2020
Assuming you can get the locations of the peak, you can create an id variable.
% acc = ... m x 1 array
%locationidxofpeak = somefuntion....
strideid = zeros(length(acc),1);
strideid(locationidxofpeak) = 1;
strideid = cumsum(strideid);
% now stride id would be like [0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 ....]
for i = min(strideid):max(strideid)
strideacc = acc(strideid == i);
% your code.
end
Più risposte (0)
Vedere anche
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!