我有来自传感器的数据,数据记录了五天不停。如何选择与特定时间相关的特定行,例如11-09-2013 11:20:00 - 11:21:49 PM?那么,如何将获得的数据分成2.56秒的相等段?
我的数据如下:
0.135478690266609
0.0537606552243232
-0.0262537784874439
0.157014295458793
0.149360358715057
0.104898564517498
0.0393946692347526
...
我可以使用datestr(data(1), 'dd-mm-yyyy HH:MM:SS AM')
答案 0 :(得分:0)
如果我理解正确,data
是以天为单位的时间戳矢量。
要查找11-09-2013 11:20:00 PM
之后的第一行,您可以执行以下操作:
target = datenum('11-09-2013 11:20:00 PM', 'dd-mm-yyyy HH:MM:SS AM') / 86400;
row = find(data >= target, 1, 'first');
查找11-09-2013 11:20:00 PM
和11-09-2013 11:21:49 PM
之间的所有行:
start = datenum('11-09-2013 11:20:00 PM', 'dd-mm-yyyy HH:MM:SS AM') / 86400;
stop = datenum('11-09-2013 11:21:49 PM', 'dd-mm-yyyy HH:MM:SS AM') / 86400;
rows = find(data >= start & data <= stop);
要在日期start
之后获得2.56秒的片段,请将stop
设置为start + 2.56 / 86400
并使用与上述相同的技巧。