Let me add that after applying any program finding just peaks probably some elimination procedure would be desired. Indeed, the example in the red box supplied by Hadjer shows that any automatic program returning all local maxima and minima will display too many points - in the same manner those which significant as the non-significant. Of course, the expected correct answer should eliminate some of them. This depends on the assumed DEFINITION of a significant point of changes. Perhaps it would be enough to implement in the code a suitable criterion like the following:
For a given fixed half-width t>0 do the following:
Dear Hadjer, I use Mathematica where the built-in internal function FindPeaks can give the positions x and the values v of peaks in a data sequence (xn, vn) as your. See link for explanation and examples of applications. Gianluca
Let me add that after applying any program finding just peaks probably some elimination procedure would be desired. Indeed, the example in the red box supplied by Hadjer shows that any automatic program returning all local maxima and minima will display too many points - in the same manner those which significant as the non-significant. Of course, the expected correct answer should eliminate some of them. This depends on the assumed DEFINITION of a significant point of changes. Perhaps it would be enough to implement in the code a suitable criterion like the following:
For a given fixed half-width t>0 do the following:
In fact, I was working hard this last 2 days to detect peaks and analyze the changement in the red rectangles. But, this method did not give me the correct changement parts in the signal.
Is there any other algorithm or function to detect this part in my signal graphs
notice that this changment part can be one as it can be more.
OK, your question is more complicated due to lack of a definition of the type of changes to be detected. Thus I am suggesting to try a formulation of such a definition. Let me present two examples of types, in order to make clear what I imagine to be a definition:
1. We say that the function f(x), x \in [a,b], possesses a substantial change in the subinterval [c,d] \subset [a,b] if and only if
max{f(x): x \in [c,d]} - min {f(x): x \in [c,d]} >
5 [ max{f(x): x \in[a,b] \setminus [c,d]} - min {f(x): x \in[a,b] \setminus [c,d]}
2. We say . . . ., if and only if There is at least one point x0 \in [c,d] that the derivative f' satisfies the following:
|f'(x0) | > 15 max{|f'(x)| : x \in [a,b]\setminus [c,d]
(obviously the factors 5 or 15, the length of the subinterval etc. etc. are all up to the user) Every algorithm/software able to find the changes has to be endowed with a strictly defined the notion of the changes. I wouldn't try to apply such a software, if it existed, without detailed examination of its description. Even almost well looking programs could be returning results which far away form the expectations.