How to convert 3 hourly data into a 6 hourly data?
3 ビュー (過去 30 日間)
古いコメントを表示
I have a 3D variable (time,latitude,longitude) every 3hourly (regular). I need to change this variable into 6 hourly by averaging (eg, 0hr and 3hr of old variable averaged, and stored as first time step in the new variable). In total my old variable has 56 time steps. How should I go about?
0 件のコメント
採用された回答
Andrei Bobrov
2019 年 5 月 17 日
編集済み: Andrei Bobrov
2019 年 5 月 18 日
In R2016b
[m,n,k] = size(A);
t = hours(0:3:(k-1)*3);
Ar = reshape(A,m,[]);
TT = table2timetable(array2table(Ar),'RowTime',t(:));
T1 = retime(TT,TT.Time(1:2:end),'mean');
out = reshape(T1{:,:},[],n,k);
add:
[m,n,k] = size(A);
t = hours((0:m-1)*3)';
o1 = varfun(@mean,array2table([floor(t / hours(6)) + 1,reshape(A,m,[])]),...
'GroupingVariables','Var1');
out = reshape(o1{:,3:end},[],n,k);
3 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Power and Energy Systems についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!