【MATLAB】数据处理方法汇总

[复制链接]
(1)采样间隔为1h,求天平均的时间序列
; [5 D6 `3 _) d3 l, e4 |# F  time_vec=datevec(time);
4 X4 w: \+ S& u3 u- y& ~4 j# K  [s,ii,jj]=unique(time_vec(:,1:3),'rows');1 I+ H: s, P2 A/ Z- E1 O

" V" u4 N/ x* `5 e3 Q6 y& T+ J  data_daily=accumarray(jj,(1:numel(jj))',[],@(x)nanmean(data_hourly(x,,1));0 ?% e$ E- z5 m5 M: N
(2)采样间隔为3min,求天平均的时间序列+ k4 X- a- x9 |
   %先求小时平均" M  U) Y. ]9 Z1 w
  time_vec=datevec(time);8 S; |: @: t/ G8 `
  [s,ii,jj]=unique(time_vec(:,1:4),'rows');- a" ^6 H5 Y1 B6 D; N
- R+ i0 l! [# L+ b
  data_hourly=accumarray(jj,(1:numel(jj))',[],@(x)nanmean(data_Min(x,,1));
) v2 j8 N6 l) E* D. c5 B! ~# l" ^  再用上述方法求天平均。
3 Y+ R4 @/ F$ ^" J8 S8 ]7 r4 F9 c(3)采样间隔为1h,求2h平均的时间序列$ l/ j* h) U. }/ U) l
  flag=0;
( F1 \; L- L$ }" h9 g  for i = 1:2:length(time_hourly)5 z0 h3 A' G! f+ [
    flag = flag + 1;
2 t1 H& Y3 g' ~% }7 i    time_2hourly=time_hourly(i,1);
2 c% ]+ c- {7 }3 d    data_2hourly(flag,1)=nanmean(data_hourly(i:i+1,1),1);5 u" c9 u& o9 K; h) U9 o' i# N2 F
  end
( R  Y9 g* R4 U0 K3 b$ d. B0 r8 ^7 _7 B- w0 q+ |; [
0 h# o9 |' F6 u8 V3 W# X- w
                    
' o/ t' c5 v- f# o( F
4 L" _8 r- I- H8 G4 x, H                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

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