[SciPy-user] help on numerical modelisation of near-sinusoidal function using SciPy for pendulum analysis
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