我正在尝试将unix时间戳矩阵修改为几天的分组。
如果我有这样的矩阵。
matrix = [1392937181, 1392938000, 1392960000, 1392965000, 1342940000, 1342945000, 1342948000]
我想将其转换为。
dayMatrix = [1, 1, 2, 2, 3, 3, 3]
由于(1392937181,1399238000)都在第一天,(1392960000,1399265000)在第二天发生,(1342940000,1342945000,1349248000)在第3天发生。重要的是保持元素的数量矩阵相同,以便我可以将其与其他数据进行对比。
我知道这听起来很不寻常,但教授要求我写一篇论文,但我无法弄明白。
感谢任何帮助!
干杯
答案 0 :(得分:2)
您可以将unix时间转换为Matlab日期向量a:
matrix = [1392937181, 1392938000, 1392939000, 1392940000, 1342940000, 1342945000, 1342948000]
vec = datevec(matrix/86400 + datenum(1970,1,1));
然后以您的格式获取日期只需减去最小日期并添加1:
dayMatrix = vec(:,3) - min(vec(:,3)) + 1
这将输出
dayMatrix = [1 1 1 1 3 3 3]