How do I take the average of every n values in a matrix?

1 回表示 (過去 30 日間)
roberto ivan perez luna
roberto ivan perez luna 2017 年 12 月 2 日
編集済み: Matt J 2017 年 12 月 2 日
hello again, i have one a2_dap_U 17567x71x42 double value matrix; 17567=values every 30 min, 71x42 grid.
so i tried this one for the 24 hour average (48 since its every 30 min):
a2_dap_U_24=arrayfun(@(i) nanmean(a2_dap_U(i:i+48-1)),1:48:length(a2_dap_U)-48+1)';
but it gave me 365 NaN values, and i dont know how to do it, since this command line help me with individual values that i extracted from two sites within the 71x42 matrix, but it doesnt help me for the whole 17567 values for the whole matrix.
any help please ;)

回答 (1 件)

Matt J
Matt J 2017 年 12 月 2 日
編集済み: Matt J 2017 年 12 月 2 日
a2_dap_U(17568,:,:)=nan; %pad to even multiple of 48
A=nanmean(reshape(a2_dap_U,48,[]));
B=reshape(A,[],71,42);

カテゴリ

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