Managing large files - irregular data points
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
the cyclist
2013-7-30
编辑:the cyclist
2013-7-30
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
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Dates and Time 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!