如何在Matlab中使用特定方法对每月数据进行平均

  • 本文关键字:数据 方法 Matlab matlab
  • 更新时间 :
  • 英文 :


我有下面的月值向量(vectorA(。我把日期相关的信息放在它旁边,以帮助说明任务,但我只使用向量本身

dates         month_in_q   vectorA          
31/01/2020       1           10          
29/02/2020       2           15            
31/03/2020       3           6 
30/04/2020       1           8
31/05/2020       2           4
30/06/2020       3           3

我如何根据这个算法创建一个新的矢量new

  • 在每个季度中,第一个月是最初的第一个月
  • 每个季度的第二个月是第一个月和第二个月中的平均值
  • 每个季度的第三个月是所有三个月的平均值

因此,我通过在一个循环中操纵原始向量a获得以下向量NEW,给定以上的重复出现模式

dates         month_in_q   vectorA   vectorNEW       
31/01/2020       1           10          10
29/02/2020       2           15          AVG(10+15)  
31/03/2020       3           6           AVG(10+15+6)
30/04/2020       1           8           8
31/05/2020       2           4           AVG(8+4)
30/06/2020       3           3           AVG(8+4+3)
...              ...        ...          ...   

用户dpb在mathworks网站上提供了一个优雅的解决方案。

vectorNEW=reshape(cumsum(reshape(vectorA,3,[]))./[1:3].',[],1);

下方的更多信息

https://uk.mathworks.com/matlabcentral/answers/823055-how-to-average-monthly-data-using-a-specific-method-in-matlab

相关内容

  • 没有找到相关文章

最新更新