daily max -min , sum, average of hourly data sets.?

2 ビュー (過去 30 日間)
pruth
pruth 2016 年 10 月 19 日
編集済み: pruth 2016 年 10 月 28 日
hi,
I have created one mat file (attached). the first column is dates the second column is temperature- here I want to find daily max and min the third column is rainfall- here daily sum I don't need 4th and 5th column but for this time make an average.
in the date column, time is not given but it is an hourly data.(same date 24 times.)
i hope you understand

採用された回答

Andrei Bobrov
Andrei Bobrov 2016 年 10 月 20 日
[y,m,d] = datevec(tempdata(:,1));
[a,~,c] = unique([y,m,d],'rows');
out = [a, zeros(size(a,1),7)];
out(:,4) = accumarray(c,tempdata(:,2),[],@nanmin);
out(:,5) = accumarray(c,tempdata(:,2),[],@nanmax);
out(:,6) = accumarray(c,tempdata(:,3),[],@nansum);
[ii,jj] = ndgrid(c,1:4);
out(:,7:10) = accumarray([ii(:),jj(:)],reshape(tempdata(:,4:7),[],1),[],@nanmean);
  2 件のコメント
pruth
pruth 2016 年 10 月 24 日
thank you sir.
pruth
pruth 2016 年 10 月 28 日
編集済み: pruth 2016 年 10 月 28 日
sir, what shall I do if want repeats this process after every 3 column?
min max for the first column, the sum of the second column, mean for the third column,
and again action repeats . min max for the fourth column and so on...

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

その他の回答 (1 件)

Steven Lord
Steven Lord 2016 年 10 月 19 日
If you're using release R2016b or later, I recommend storing your data in a timetable and using the retime function to aggregate data over daily time bins as shown in the second example, "Aggregate Timetable Data and Calculate Mean Values", on that documentation page.
  1 件のコメント
pruth
pruth 2016 年 10 月 20 日
編集済み: pruth 2016 年 10 月 20 日
hello steven , thanks for the reply,
I use R2013a.

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

カテゴリ

Help Center および File ExchangeDates and Time についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by