# Extracting and plotting max/min values from timeseries

11 Ansichten (letzte 30 Tage)
Lindazeta am 12 Mai 2020
Kommentiert: Lindazeta am 13 Mai 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 Kommentare-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Akzeptierte Antwort

Peng Li am 12 Mai 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 Kommentare2 ältere Kommentare anzeigen2 ältere Kommentare ausblenden
Lindazeta am 13 Mai 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 am 13 Mai 2020
Oh never mind, I made it work! Thank you so much for your help!

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Time Series finden Sie in Help Center und File Exchange

R2019b

### Community Treasure Hunt

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

Start Hunting!

Translated by