【MATLAB】数据处理方法汇总

[复制链接]
(1)采样间隔为1h,求天平均的时间序列2 i8 c) E  k% a) u% I
  time_vec=datevec(time);
6 J! \- ~0 s0 }( {  [s,ii,jj]=unique(time_vec(:,1:3),'rows');
5 B9 R+ T$ Q; E; i$ E. M: V% r4 @
  data_daily=accumarray(jj,(1:numel(jj))',[],@(x)nanmean(data_hourly(x,,1));
7 o( _/ |* B2 L* e- F2 K5 c7 E(2)采样间隔为3min,求天平均的时间序列0 O9 x: G) V9 i% `$ C: ^
   %先求小时平均
& z* y/ j( w* n  p2 @9 `  time_vec=datevec(time);! q! a! n, O  Z9 p: K# S
  [s,ii,jj]=unique(time_vec(:,1:4),'rows');9 G- ^6 a. b8 Y) g, \8 W! D

  g7 O7 u# \% S  data_hourly=accumarray(jj,(1:numel(jj))',[],@(x)nanmean(data_Min(x,,1));8 k) H8 {: A$ m! M6 Q
  再用上述方法求天平均。( E- _# X' }! {  y# R$ d, ~$ m) Y
(3)采样间隔为1h,求2h平均的时间序列* J3 O& o- O5 H, G
  flag=0;
9 w) [; Q- @* j  for i = 1:2:length(time_hourly)
) [  B1 s" B7 Y  u0 p: q* {  f8 a    flag = flag + 1;
$ s# Q! }1 D) t- n; [9 z    time_2hourly=time_hourly(i,1);% U4 I$ x) t: T0 `% M, _, I, N
    data_2hourly(flag,1)=nanmean(data_hourly(i:i+1,1),1);8 c+ S  o% L2 L& J
  end
& ~0 ^4 x  p# B6 e
( [# A/ L* u/ X) W% y- f2 z( h
& o/ q; t7 K/ X' p, L                    8 G# Q' C+ A/ J6 n- k+ w

) a5 |" T3 S0 E- B2 @# `                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

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