【MATLAB】数据处理方法汇总

[复制链接]
(1)采样间隔为1h,求天平均的时间序列. O" i, e# k6 s7 E4 P
  time_vec=datevec(time);
6 C' `) l# p3 D$ E) O  [s,ii,jj]=unique(time_vec(:,1:3),'rows');
. l/ d4 l& S: N' T9 d7 C1 }! c) l; Q: a5 A6 i
  data_daily=accumarray(jj,(1:numel(jj))',[],@(x)nanmean(data_hourly(x,,1));& |, I8 v" I7 O5 J1 k; ]. f: i
(2)采样间隔为3min,求天平均的时间序列9 y( o5 D+ L3 J
   %先求小时平均
3 u  w6 u5 f$ t' o  time_vec=datevec(time);
( _$ B6 L3 e7 U  [s,ii,jj]=unique(time_vec(:,1:4),'rows');
6 x" v# r' r0 z# V, h
' M4 ?& \5 F6 \2 s' n! X; g  data_hourly=accumarray(jj,(1:numel(jj))',[],@(x)nanmean(data_Min(x,,1));
# ~' e! [2 Y: {/ }2 V  W6 V  再用上述方法求天平均。
: H9 k) d! {, l6 a" e7 m1 z(3)采样间隔为1h,求2h平均的时间序列6 K+ {. F/ E6 p. v
  flag=0;: r) P- ?6 z/ u6 }/ [9 W
  for i = 1:2:length(time_hourly)
) r. b1 d! z- O# }    flag = flag + 1;9 c( I* g3 h$ K# A2 @. o- J5 T
    time_2hourly=time_hourly(i,1);
+ Y/ o; @/ _7 l  Y* V4 f    data_2hourly(flag,1)=nanmean(data_hourly(i:i+1,1),1);5 j7 K# K& q+ t0 t1 c
  end
. u2 C8 w4 P, l. K) I2 u( _0 O8 g9 Y0 {& K& [

7 W! G$ W3 a, \3 h* T( e+ Q                    
. \2 x/ l7 g4 _* d+ {
! \0 P+ g3 R9 C1 b& _. D4 v                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。

相关帖子

全部回帖
暂无回帖,快来参与回复吧
懒得打字?点击右侧快捷回复 【吾爱海洋论坛发文有奖】
您需要登录后才可以回帖 登录 | 立即注册
黄金品质
活跃在2021-12-8
快速回复 返回顶部 返回列表