How to detect start points and end points of plateaus in graph plotted from a data set?
조회 수: 36 (최근 30일)
이전 댓글 표시
Atul Anand
2019년 12월 3일
편집: Sean de Wolski
2019년 12월 3일
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에서 Line Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!