Aggregate data every 10 seconds
    5 次查看(过去 30 天)
  
       显示 更早的评论
    
hello everyone, I have a table file "TICKTYPE" with a data column "TICKTYPE.mean" class double and a column "TICKTYPE.x_TIME_" class duration in the format HH:mm:ss.SSS. 
I would like to aggregate the data of TICKTYPE.mean every 10 seconds. thank you who will help me.
this is the first row for example:
{'2023.06.29'}    08:55:10.753    15145 
采纳的回答
  Matt J
      
      
 2023-6-29
        This syntax of retime looks like the applicable one,
9 个评论
  Mathieu NOE
      
 2023-6-30
				well , I don't want to say something stupid here ,especially as I don't think I am expert with timetable and retime , but my attempt to compare retime results with my own code (certainly not the best) gives some minor deltas . Not sure why .
only thing I noticed is that the original time data has not constant spacing but I suppose that's something retime does handle (to be confirmed?) 
so here is it , whatever it proves or not and sorry if I just brought more confusion !
does retime fill missing bins with interpolated data ? 
the x axis on the plots are simply the samples count after 10 s averaging


load('TICKTYPE2.mat')
xBID = TICKTYPE.x_BID_;
xASK = TICKTYPE.x_ASK_;
% 10 seconds average results with retime
T=table2timetable(TICKTYPE);
T(:,1)=[];
tt= retime(T,'regular','mean','TimeStep',seconds(10));
% my own 10 s average computation
tx = (TICKTYPE.x_TIME_);
s = seconds(tx);
% NB that s spacing is not constant 
dt = 10; % seconds
start = floor(s(1)); 
stop = dt*ceil(s(end)/dt);
n = (stop-start)/dt;
for ck = 1:n
    ind1 = start + (ck-1)*dt;
    ind2 = ind1 + dt -1;
    id = (s>= ind1 & s<= ind2); % NB that s spacing is not constant
    xBID_10s_mean(ck,1) =  mean(xBID(id));
    xASK_10s_mean(ck,1) =  mean(xASK(id));
end
% plot the results 
figure(1)
plot(tt.x_BID_);
hold on
plot(xBID_10s_mean);
title('x BID');
legend('retime','own code');
figure(2)
plot(tt.x_ASK_);
hold on
plot(xASK_10s_mean);
title('x ASK');
legend('retime','own code');
更多回答(0 个)
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


