[SciPy-user] help on numerical modelisation of near-sinusoidal function using SciPy for pendulum analysis

Travis Oliphant oliphant at ee.byu.edu
Thu Dec 7 16:40:44 CST 2006

palazzol at comcast.net wrote:

>I think optimize.minpack.leastsq() could be made to work, but it would be best if you could make good initial guesses for a,b,co, and phi.   You could use some ad-hoc methods to come up with guesses for these initial conditions, based on looking at a bit of the waveform, and then use leastsq() to calculate the best values and residual error norm.  For example, a is the average over time, b is the half the amplitude between peaks, co based on Theta(t) crossing a, etc.

optimize.leastsq  (don't use the minpack itermediary because that could 
change)   is the function you want for general curve-fitting.  You can 
also use another optimization function with a slightly different function.

This is also similar to the frequency estimation problem so the fft is a 
good fit to get starting estimates as Frank suggests.   A simple 
algorithm could be constructed in a few lines using the fft and 


More information about the SciPy-user mailing list