matlab查询以查看应用程序的使用方式

时间:2012-04-30 13:15:07

标签: matlab

我有一个超过600万条记录的MySQL表,每条记录都有一个纪元时间戳。我需要在一天中的时间内绘制所有时间戳。换句话说,我需要看看在早上7点到早上8点,早上8点到早上9点之间有多少时间戳,等等 - 对于白天的所有24小时块。我不需要它们按星期或月份绘制,只需要一天中的时间。每个时间戳都是UTC。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

您可以使用MySQL的FROM_UNIXTIME函数从数据库中获取日期字符串,并将结果转储到一个文件中,然后您可以将其读入MATLAB。接下来,提取每条记录的时间的一种方法是使用MATLAB的datevec函数,分别得到日期字符串的每个组成部分:

datevec('2007-11-30 10:30:19')

ans =

    2007          11          30          10          30          19

例如,如果您将数据作为一个带有日期字符串的长向量读入,则可以将datevec应用于此向量,然后获取结果矩阵的“小时列”。然后,您可以使用histhistc函数制作计数的直方图,具体取决于您是要指定bin中心还是bin边缘。如果您有一个小时列H,则hist(H, 0:23)之类的内容应该有效。对于数据的性质,histc函数可能更自然,但稍微涉及一些;查看文档。