Extracting and plotting max/min values from timeseries

3 visualizaciones (últimos 30 días)
Lindazeta el 12 de Mayo de 2020
Comentada: Lindazeta el 13 de Mayo de 2020
I have a time series with continuous measurements of pH. The measurements are every 5 minutes, and the timeseries is a total of 13 days.
I want to find and plot the max and min value for each day, where the max and min values are based on 24 observations of a mean pH/hour.
So far I've been able to get the mean pH per hour, but I don't know how to find the max/min values from these and then plot as a continuous time series.
This is what I've done so far to find the mean pH for every hour:
dnv = [time];
dv6 = datevec(dnv); % Date vector matrix, 6 columns
dn4 = datenum([dv6(:,1:4) repmat([0 0],size(dv6,1),1)]);
[Du,~,di] = unique(dn4, 'stable');
Means = accumarray(di, pH, [], @mean); % Creating means for every hour
Out = [datevec(Du) Means]; % Output separated columns, date time mean
de = datetime(Out(:,1:6)); % Merged date and time back into 1 column
So, how do I find the max and min values with the associated date and time for plotting?
0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

Peng Li el 12 de Mayo de 2020
Better take advantage of table format and splitapply function.
tbl.day = day(tbl.Date);
tbl.hour = hour(tbl.Date);
[Group, hourTbl] = findgroups(tbl(:, {'day', 'hour'}));
hourTbl.mean = splitapply(@nanmean, tbl.pH, Group);
[Group, dayTbl] = findgroups(hourTbl(:, 'day'));
dayTbl.max = splitapply(@max, hourTbl.mean, Group);
dayTbl.min = splitapply(@min, hourTbl.mean, Group);
4 comentariosMostrar 2 comentarios más antiguosOcultar 2 comentarios más antiguos
Lindazeta el 13 de Mayo de 2020
Awesome! Thanks! One last question though... How do I add the min values? I tried re-writing it but my matlab skills are not great...
Lindazeta el 13 de Mayo de 2020
Oh never mind, I made it work! Thank you so much for your help!

Iniciar sesión para comentar.

Categorías

Más información sobre Time Series Events en Help Center y File Exchange.

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by