在Matlab中计算时间序列的单日平均值



我很难找到我的代码的起点,这需要我在一个时间序列中取一天的平均值。为了更清楚,我有一个数组,其中包括日期列和其他数据,格式如下:

08/10/1900  100 16 80 8
08/11/1900  158 19 37 1
08/12/1900  105 21 68 7
...
08/10/2013  100 15 75 14

并且我希望能够对列中08/10、08/11和一年中所有其他日期的值求平均值。因此,最后我将得到一个366x5(讨厌的闰年)数组,其中包含平均值。

我在搜索中没有找到一个函数或方法来轻松地在Matlab中做到这一点,所以这就是我在这里发布的原因。我在想,一定有比按日期拆分文件(它包含约42,000行)并创建365个数组更好的方法,然后将这些数组平均到一个新数组中。所以我或多或少是在寻求关于从哪里开始这个函数的建议。

你可能想看看

  • datevec将日期字符串转换为日期向量。从这些向量中,您可以指定每行的日期。
  • 然后可以使用
  • accumarray分别累积每天的值。考虑使用函数mean代替默认的sum作为accumarray应用的函数fun

最新更新