How to detect start points and end points of plateaus in graph plotted from a data set?
38 views (last 30 days)
Show older comments
Atul Anand
on 3 Dec 2019
Edited: Sean de Wolski
on 3 Dec 2019
I have large set of data for x and y axis. I have plotted the graphs on matlab and I want to detect the begining and ending of the plateaus in the graph where the slope is decreasing significantly for a period of time. The problem is the graph is very uneven throughout and if I apply a threshold for slopes, the uneven points also get detected. Is there a way by which i can detect a regions with very less variation of data in comparison to the whole graph. If you give a solution in details,I will be very grateful.
![nanoindent graph.JPG](https://www.mathworks.com/matlabcentral/answers/uploaded_files/252380/nanoindent%20graph.jpeg)
3 Comments
Adam
on 3 Dec 2019
That's why I said you'd have to play around with the type of smoothing. Some smoothing would just put a clean curve round that data shown, completely smoothing over the plateau, other smoothing would try to follow the plateau if it is too local. Smoothing is never an exact science, it's almost always trial and error.
Accepted Answer
Constantino Carlos Reyes-Aldasoro
on 3 Dec 2019
There are some uncertainties in your problem:
- How noisy is the data? Is there variation of intensity within the plateau?
- Do you know the expected length of the plateau?
For 1 you could remove the noise by applying a filter, a small low pass filter would remove noise, but at the same time could modify the edges of the plateau. Thus a median filter could provide you with better results.
For 2, if you do know the length, you could use a moving filter checking for the variation within a range of values, if the standard deviation of, say 10,20,30 elements is below a certain value, then you know that you are in the plateau.
More Answers (1)
Sean de Wolski
on 3 Dec 2019
Edited: Sean de Wolski
on 3 Dec 2019
Maybe look at ischange or the change point detection live task in 19b?
0 Comments
See Also
Categories
Find more on Interpolation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!