How do I change these daily time series data to monthly?
조회 수: 6 (최근 30일)
이전 댓글 표시
Abubakar Sani-Mohammed
2019년 1월 22일
댓글: Abubakar Sani-Mohammed
2019년 1월 28일
Hello, I have a daily time series data in an array of 81(rows) by 4748 (columns), the 81 rows represents the points at which the data (in their respective corresponding column) was measured (daily). Then I have another arrey of the Time, which is 4748 by 1 (a column matrix) consisting the dates, from January 1, 2005. I need guidance on how to turn these daily time series into monthly. Thank you.
댓글 수: 0
채택된 답변
Walter Roberson
2019년 1월 22일
Convert to timetable() objects and use retime()
댓글 수: 11
Walter Roberson
2019년 1월 27일
dv = datevec(datenum('2005/01/01 12:00'):datenum('2017/12/31 12:00'));
monthnum = dv(:,1)*12 + dv(:,2);
relmonth = monthnum - monthnum(1) + 1;
nummonth = relmonth(end);
numpoints = size(duVq_hydl,1);
summarized = zeros(numpoints, nummonth);
for pointnum = 1 : numpoints
summarized(pointnum, :) = accumarray( relmonth, duVq_hydl(pointnum, :).', [], @mean );
end
summary_dates = datenum(2005, 1:nummonth, 1);
This is 156 months, not 157 months.
You were not clear as to what date format you wanted the summary dates to be, so I used serial date numbers.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Calendar에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!