Finding daily min and max values for time series data
19 views (last 30 days)
I have a time series of data at 15 minute time intervals across a 400 day period. I am trying to extract the maximum and minimum from one column of data for each day, and then calculating the difference. I can get the maximum or minumum for each day but am unsure of how to get all of the maximim and minimum values for the entire dataset.
Cris LaPierre on 6 Sep 2022
Edited: Cris LaPierre on 6 Sep 2022
Use groupsummary and group the data by 'day' and the method set to max and min.
See this answer: https://www.mathworks.com/matlabcentral/answers/1792775-how-can-i-create-a-loop-to-generate-daily-averages-from-a-csv-file-for-over-four-years-and-whose-d?s_tid=srchtitle
Date = datetime(2016,6,4)+minutes(0:15:3000)';
X = rand(size(Date));
Y = rand(size(Date));
Z = rand(size(Date));
tbl = table(Date,X,Y,Z)
out = groupsummary(tbl,"Date","day",["max","min"],"Z")
out.Diff = out.max_Z-out.min_Z