将小时数据转换为许多不同excel文件的日常数据

我是MATLAB新手,对于为我的研究做些什么,真的很失落。 我一直在下载并组织每小时的水质数据,为许多不同国家的Excel,并组织他们一年。 我已经为他们做了数据准备,以确保没有零/一年中的每一天(DOY)有24个值,但时间序列图太吵了,所以我的顾问希望我得到每日平均值。 所有网站的年度数据在可用天数方面都有所不同,有时由于没有录音而丢失整个月份。 所以我的问题是,我怎样才能开发一个代码给我每天的平均价值链接到一个特定的DOY,我可以适用于许多不同的Excel表。 数据如下所示:

Excel文件,DOY =年份的日期,DO_fill =我的数据值

和文件保存像CA1_2012(加利福尼亚州从2012年1小时的数据)

我知道有很多关于这个话题,但我一直在尝试一切,我不能得到一个有效的代码! 谢谢!

你可以根据matlab中第一列中使用accumarray值的值得到第二列的总和;

 [m,~,n] = unique(data(:,1)); sumdata = [m, accumarray(n,data(:,2))]; 

意思是我会build议grpstats

 avgdata = grpstats(data, DOY, {'mean'}); 

或者像@gnovicebuild议的那样:

 avgdata = accumarray(DOY, data, [], @mean); 

你也可以通过使用Excel中的Pivot TableDOY组数据来得到你想要的结果,并在中得到它们的平均值。 (不需要编码)。