【MATLAB】数据处理方法汇总

[复制链接]
(1)采样间隔为1h,求天平均的时间序列
. X% E3 X. A) C) l( w, k  time_vec=datevec(time);
! d+ v& i  A$ ?2 g  [s,ii,jj]=unique(time_vec(:,1:3),'rows');
( E# G& C3 W4 H; y5 B
2 M- i0 B0 f6 z/ q  K  data_daily=accumarray(jj,(1:numel(jj))',[],@(x)nanmean(data_hourly(x,,1));. U: u( ]$ R8 [. x3 c# d$ V' y( v7 a
(2)采样间隔为3min,求天平均的时间序列
( q6 D) X# z3 Y   %先求小时平均
" D. L: c$ u1 N. Q  A, I  time_vec=datevec(time);- l! h4 N/ g0 ^6 O7 E) |
  [s,ii,jj]=unique(time_vec(:,1:4),'rows');+ c0 X) S2 o7 z  j) \" E" k

* ^2 E/ t3 Z. g  q8 i0 e  data_hourly=accumarray(jj,(1:numel(jj))',[],@(x)nanmean(data_Min(x,,1));3 Q! W) A3 x5 g" y
  再用上述方法求天平均。: W. T- W- J* }' a0 T8 t
(3)采样间隔为1h,求2h平均的时间序列5 a4 i/ c' w6 j9 f) w
  flag=0;9 W( @9 m& p  T
  for i = 1:2:length(time_hourly)
: S+ u8 y/ ^3 Q8 o7 f" p6 u; i    flag = flag + 1;
* l, B1 ?9 i7 q, C" H    time_2hourly=time_hourly(i,1);
8 x& w, {0 m: z    data_2hourly(flag,1)=nanmean(data_hourly(i:i+1,1),1);) C( R9 |- j8 S1 k: k: Q
  end' V- [4 k; B, Q0 O, L; t7 K- x# P

$ o" O! x: ^! q& U6 z' D
8 J: S8 q9 u0 d3 ^$ e. {                    ' V0 |2 z+ X  a& Z3 `+ f
* O- L/ K! K0 ?2 D% q2 t
                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。

相关帖子

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