[讨论] 依时间抓资料进行平均

楼主: peterwu76 (金冈)   2016-03-21 00:21:29
各位前辈好,
小弟这边有些困惑想请教各位前辈是否有更快或更聪明的作法?
想将逐时资料依照每小时进行平均,
但是资料在时间上不会是连续的,可能每隔一段时间会有10至30分钟的missing。
再来,因为资料的时间在input以后变成字串,所以事先都会用datevec进行转换
大概是下列的作法,
% 把在变成字串的时间并起来,并且利用datevec进行转换
DateTimeString=[ndata1_raw(2:end,1);ndata2_raw(2:end,1);ndata3_raw(2:end,1)];
for i=1:length(DateTimeString)
DateTimeNumber(i,:)=datevec(DateTimeString{i,1},1);
i
end
% 所以时间像是2016/3/20 15:05:01最终会变成[2016 3 20 15 5 1]
作者: sunev (Veritas)   2016-03-21 11:43:00
把DateTimeNumber里的分与秒去掉,用unique的IC功能编上流水号,再用accumarray去做平均
楼主: peterwu76 (金冈)   2016-03-21 13:24:00
谢谢sunev大大!! 我来试试看!unique的IC功能我不太了解,accumarry的功能我还要再从Help上理解一下

Links booklink

Contact Us: admin [ a t ] ucptt.com