How to take an average every four columns?

1 回表示 (過去 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 ExchangeCreating and Concatenating Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by