如何在matlab fints时间序列对象中随时间平均?

时间:2016-07-21 17:03:39

标签: matlab

数据

财务时间序列对象(FINTS),包含以下列:

日期时间编号

我每天每小时都有2年的数据。

问题

我希望获得过去一年每小时的平均值。换句话说,我希望每天24小时都有时间栏,相应的数字应该是同一时间所有过去几天的平均值。

我尝试了什么

我已经尝试过查看perav,tsmovavg函数和accumarray函数。还有其他想法吗?我是Matlab的新手,所以我甚至不知道如何循环这个时间序列数据。虽然考虑到它是使用时间序列特定函数的时间序列对象,但必须有某种方法来做到这一点。

编辑:我希望将其保留在理想的时间序列中。

1 个答案:

答案 0 :(得分:1)

假设您的数据已存储在矩阵F中,“日期”为年份而“时间”为小时,您可以使用此for循环打印不同日期内同一时间的平均值特定年份y

for t=unique(F(:,2))
   mean(F(F(:,2)==t & F(:,1)==y) ,3)
end

说明: 通过使用unique,您可以检索“时间”的不同值。 mean内的两个条件确保特定年份的“时间”相同。