How to take an average every four columns?

4 ビュー (過去 30 日間)
Chameleon17
Chameleon17 2018 年 2 月 13 日
コメント済み: Chameleon17 2018 年 2 月 15 日
Hi, I have seen similar questions but I am getting stuck altering the code for what I want. I have a matrix of (64 x 18144), each row is a met station and each column is a 15 minute data measurement - I want to convert this to hourly data for each station - so I want to have an output matrix of (64 x 4536). I have seen some solutions but I don't have the 'tools' they require. Any help/ideas would be very much appreciated! :)
  1 件のコメント
Chameleon17
Chameleon17 2018 年 2 月 15 日
Thank you for both your answers! they worked! :)

サインインしてコメントする。

採用された回答

James Tursa
James Tursa 2018 年 2 月 13 日
x = your 64x1844 matrix
result = reshape(mean(reshape(x.',4,[])),size(x,2)/4,[]).';

その他の回答 (1 件)

Andrei Bobrov
Andrei Bobrov 2018 年 2 月 13 日
編集済み: Andrei Bobrov 2018 年 2 月 13 日
A - your matrix (64 x 18144)
B = A.';
[m,n] = size(B);
t = minutes((0:m)'*15);
Tb = array2timetable(B,'RowTimes',t);
Tout = retime(Tb,'hourly','mean');
out = Tout{:,:}';

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by