Matlab:如何绘制所选时间范围的数据?

时间:2017-05-06 23:03:48

标签: matlab indexing time

我有一些数据矩阵,第一列是日期,第二列是时间。 我把它改成了一张桌子:

H1 = readtable(filename, 'ReadVariableNames', 0);
H1.Properties.VariableNames =...
    {'Date', 'Time', 'Value'};
t = datetime(H1.Date, 'InputFormat', 'yyyy.MM.dd');
H1.Date = t;
clear t

现在,我想制作一个子表。在此表中,数据的日期并不重要,但数据的时间必须在第二天的18:00到11:00之间。 我的时间格式是hh:mm(24小时)。 我怎么能这样做? 我想我可以再写一篇专栏文章了。对于每个时间字符串,我只使用前2个字符并将其转换为数字(例如'05:00'将更改为'05'然后更改为5)。之后,我可以索引我创建的新列。 不过,我认为必须有一些其他更简单的方法来做到这一点。 怎么样?

另外,如果这样可行,我想基于此编写一个函数。 我想给出一定的日期和时间,并在这一天和时间周围绘制所有数据+ -48小时(或-24小时和+72小时)。 例如,如果我提供'2016-06-22', '05:00',那么我想绘制从'2016-06-20', '05:00''2016-06-24', '05:00'的所有数据。任何策略建议?

鉴于我的数据量非常大,速度是我们需要考虑的因素。 谢谢!

0 个答案:

没有答案