Managing large files - irregular data points
1 view (last 30 days)
Show older comments
Hi Folks,
I have a data set where the data points are measured at irregular intervals, sometimes 10 measurements per minute, other times more/less. I want to average the values within each minute so I end up with one value per minute. Each data point has a datevec value, e.g. [ 2013 7 25 10 41] which corresponds to 10:41 am on the 25th July. How can I tell Matlab to average all the data points within each minute?
Thanks
3 Comments
Accepted Answer
the cyclist
on 30 Jul 2013
Edited: the cyclist
on 30 Jul 2013
Here is how you can do it, if your time data and your measurement data are in two separate arrays:
t = [ 2013 7 25 10 41;
2013 7 25 10 41;
2013 7 25 10 41;
2013 7 25 10 42;
2013 7 25 10 42;
2013 7 25 10 43]
m = [1;2;3;4;5;6];
[unique_t,i,j] = unique(t,'rows')
mean_m = accumarray(j,m,[],@mean)
It should be pretty easy for you to adapt this to your case, if that's not what you have
More Answers (0)
See Also
Categories
Find more on Dates and Time in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!