【MATLAB】数据处理方法汇总

[复制链接]
(1)采样间隔为1h,求天平均的时间序列
$ `. s0 ~, z$ U0 }: Z  time_vec=datevec(time);" B+ r, J7 e  \# n/ R0 d
  [s,ii,jj]=unique(time_vec(:,1:3),'rows');
/ X6 h1 f5 ?, F2 V# s  T( t" l' d% Q5 h4 O' ~% w
  data_daily=accumarray(jj,(1:numel(jj))',[],@(x)nanmean(data_hourly(x,,1));+ `* a. s1 b" |8 l( F4 c& R
(2)采样间隔为3min,求天平均的时间序列
7 w& U7 R9 F' I. n   %先求小时平均$ c) }# Y, V+ B. U7 @
  time_vec=datevec(time);/ T3 o$ g" e3 f
  [s,ii,jj]=unique(time_vec(:,1:4),'rows');
. K9 o/ R# h6 D, ~# a  u2 }1 G  D+ O5 J! Z
  data_hourly=accumarray(jj,(1:numel(jj))',[],@(x)nanmean(data_Min(x,,1));* |- B; g! y' k, o6 {' V% k
  再用上述方法求天平均。
% A3 b1 k; m0 r3 R  S(3)采样间隔为1h,求2h平均的时间序列
6 i! i$ O3 b3 k- |% M  flag=0;
) w8 A9 u2 m  Q! a* a  B, |) R# v  for i = 1:2:length(time_hourly), V! X( j6 s9 Z$ _1 [
    flag = flag + 1;/ R8 k% b  I9 ^" A
    time_2hourly=time_hourly(i,1);
4 o+ v( |& M" A6 z6 i2 Y1 d    data_2hourly(flag,1)=nanmean(data_hourly(i:i+1,1),1);
- }1 t, a! u; C/ P  end1 Z" d( R8 c* y* v

4 s* Y+ w5 W* h; B( c
: |5 e( I; J& Z  u( y                    
, H; V; p2 m: j8 _8 f. c7 u, W) t( U  M( {: x1 j3 Z
                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

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