How calculate daily, monthly, seasonally mean average and std?
8 次查看(过去 30 天)
显示 更早的评论
Hi everyone,
I'm a new beginner in matlab.
I want to calculate daily, monthly, and seasonally average for time series data.
The first column is date, second column is month, 3rd column is year, 4th column is hour, 5th column is minutes, 6th column is second, and 7th until the end of column is my data.
Could anyone help me how to calculate in daily, monthly, and seasonally average?
Thank you for your help.
0 个评论
采纳的回答
Akira Agata
2020-5-7
I would recommend storing the data as timetable variable, and applying retime function.
The following is an example:
% Load data file
load('Date1Time1Data1.mat');
% Create datetime array
Time = datetime(...
Date1Time1Data1(:,3),Date1Time1Data1(:,2),Date1Time1Data1(:,1),...
Date1Time1Data1(:,4),Date1Time1Data1(:,5),Date1Time1Data1(:,6));
% Arrange data array to timetable variable
TT = array2timetable(Date1Time1Data1(:,7:end),'RowTimes',Time);
% Example1: daily average
TT_da = retime(TT,'daily','mean');
% Example2: montly std
TT_ms = retime(TT,'monthly',@std);
更多回答(1 个)
KALYAN ACHARJYA
2020-5-2
编辑:KALYAN ACHARJYA
2020-5-2
%Load the mat file
%Monthly
len_month=length(unique(data(:,2))); or %use size(data(:,2),1)
monthly_data=sum(data(:,end))/len_month;
Just do the unique on the respective columns and devide by sum(data(:,end)) by the respective length
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Timetables 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!