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

3 ビュー (過去 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 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