Suppose I get interpolating function in the solution of the complicated differential system. I plot a solution for various input values that control the outcome of the solution. Some give exponential results and some give sinusoidal results with constant amplitude (periodic) and sinusoidal with increasing amplitude. I am trying to find the solution with constant periodic amplitude. I do that with spectrogram. How do I detect that in spectrogram? In the code, you can see that spectrogram shows constant peaks. I used peak detect for solution of the ode, extrapolated a linear function and calculated the slope of those peaks. But that is time consuming and not a very thorough method. I am looking for another method using spectrogram or other. t1 and t3 shows true and t2 shows false for amplitude detection.

`ClearAll; xrange=40; ode={y''[x]+a*y'[x]+b*y[x]==0,y'[0]==1,y[0]==0}; solution1=NDSolve[ode/.{a->0.0,b->2},y[x],{x,0,xrange}] Plot[Evaluate[y[x]/.solution1],{x,0,xrange},PlotRange->All] solution2=NDSolve[ode/.{a->0.2,b->2},y[x],{x,0,xrange}] Plot[Evaluate[y[x]/.solution2],{x,0,xrange},PlotRange->All] Plot[Evaluate[Sin[0.5*x]*Cos[6*x]],{x,0,xrange},PlotRange->All] t1=Table[Evaluate[y[x]/.solution1][[1]],{x,0,xrange,1/20}]; Spectrogram[t1] t2=Table[Evaluate[y[x]/.solution2][[1]],{x,0,xrange,1/20}]; Spectrogram[t2] t3=Table[Evaluate[Sin[0.5*x]*Cos[6*x]],{x,0,xrange,1/20}]; Spectrogram[t3] `