如何选择每天的数据有15分钟分区?

7次(最后30天)
嗨!
我有天的数据时间表有15分钟的周期,我要选择不同的日子。在选择,我想了几天的时间,仅在00:00拿到当天的数据。我要你把那些选定日的所有数据。
提前致谢

1条评论

KSSV
KSSV 5 2020可
阅读 interp1 。生成您所需要的时间阵列和做inteprolation。

登录发表评论。

接受的答案

彼得·帕金斯
彼得·帕金斯 5 2020可
这两件事情
“只有在00:00得到一天的数据。我希望你采取一切从这些选定的日子中的数据”
似乎是矛盾的。
这听起来像你有一个时间表,针对多天,用15分钟的时间步骤。如果你想只选择其中的一些日子,他们是连续的,使用TIMERANGE作为史蒂夫建议。如果天不是连续的,使用ismember创建从时间表的排次的逻辑向量,然后使用作为行标选择感兴趣的日子。
如果你还只希望那些选定的日子的“午夜”行,时间表上的排次使用的TimeOfDay再创造下标逻辑载体。
如果,另一方面,你要以某种方式聚合来自每一天的所有数据到一行,其时间戳是在午夜,使用重新定时与聚集,如KSSV建议。
如果你gavce你想要什么,你有什么短的明显的例子,这将有助于。

3条评论

Enrique  Escrig
恩里克Escrig 5 2020可
很抱歉,如果我没有解释的最佳途径。
我有每15分钟(TT_all_data)测量一年数据的时间表。我想提取非连续10天从该输入。我有一个日期时间格式变量(days_select)这10天。
如果我制定了下面的脚本只需要那一天,也就是,在00:00的第一个值。不过,我想从那天起,所有的数据。
TT_days_select = TT_all_data(days_select,:)
彼得·帕金斯
彼得·帕金斯 5 2020可
对。你给的时间表日期时间下标,并选择具有精确匹配的行。您需要创建一个逻辑标。试试这个:
days_select_mask = ismember(dateshift(TT_all_data.Time,'开始''天'),days_select);
TT_days_select = TT_all_data(days_select,:)
Anotehr可能性是将所有的days_to_select中午,和使用withtol和12小时的公差。这是一种withtol的误用,虽然。

登录发表评论。

更多的答案(1)

史蒂芬主
史蒂芬主 5 2020可
指数到您的 时间表 时间范围
X = randn(100,1);
N =日期时间('现在');
T = N +分钟(60 * X);
TT =时间表(T,X);
R = TIMERANGE(N,N +分钟(15))
next15Minutes = TT(R,:)
要检查,计算x应该为next15Minutes的RowTimes什么。
X2 =分钟(next15Minutes.t - N)/ 60;%扭转了如何创建牛逼原本
next15Minutes.x-X2%应该是接近零向量

0评论

登录发表评论。

s manbetx 845