我可以像这样计算数据集的每日平均值:
Jday = datenum('2010-11-01 00:00','yyyy-mm-dd HH:MM'):60/(60*24):...
datenum('2011-02-31 23:00','yyyy-mm-dd HH:MM');
Dat = rand(length(Jday),1);
DateV = datevec(Jday);
[~,~,b] = unique(DateV(:,1:3),'rows');
AvDat = abs(accumarray(b,Dat,[],@nanmean));
AvJday = abs(accumarray(b,Jday,[],@nanmean));
但是,我想取一个给定输出分辨率数字的数据集的平均值。例如,如果我写
outRes = 86400; % in seconds
我想对这些值进行平均,以使输出分辨率等于 86400 秒,如果outRes
定义的分辨率比数据的分辨率短,则不会进行平均。
如何才能做到这一点?