MATLAB: Plot extreme values on a time series

maximumsplotsubplot

Hi, I have the attached plots. I would like to mark the maximum and minimum value with a marker and show the values on a legend.
Thanks

Best Answer

Use the max and min functions with two outputs to get the first instance of the maximum and minimum. Then use the second (index) output to find the value of time where it occurred:
[ymax,maxidx] = max(y);
[ymin,minidx] = min(y);
figure(1)
plot(time, y)
hold on
plot(time(maxidx), ymax, '^r')
plot(time(minidx), ymin, 'vr')
hold off
grid
If you have more than one values for the maximum or minimum, use the find function:
maxidx = find(y == max(y));
and the plot calls then change to:
plot(time(maxidx), y(maxidx), '^r')
and the same for the minima.
NOTE This is UNTESTED CODE but should work.