How to detect start points and end points of plateaus in graph plotted from a data set?
38 次查看(过去 30 天)
显示 更早的评论
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.
3 个评论
Adam
2019-12-3
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.
采纳的回答
Constantino Carlos Reyes-Aldasoro
2019-12-3
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.
更多回答(1 个)
Sean de Wolski
2019-12-3
编辑:Sean de Wolski
2019-12-3
Maybe look at ischange or the change point detection live task in 19b?
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Interpolation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!