Discussion:
[Numpy-discussion] scipy curve_fit variable list of optimisation parameters
Siegfried Gonzi
2016-08-03 12:53:09 UTC
Permalink
Message: 3
Date: Tue, 2 Aug 2016 22:50:42 +0100
Subject: Re: [Numpy-discussion] scipy curve_fit variable list of
optimisation parameters
Content-Type: text/plain; charset=UTF-8
You can use `leastsq` or `least_squares` directly: they both accept an
array of parameters.
BTW, since all of these functions are actually in scipy, you might
want to redirect this discussion to the scipy-user mailing list.
Hi all

I found the solution in the following thread:

http://stackoverflow.com/questions/28969611/multiple-arguments-in-python

One has to call curve_fit with 'p0' (giving curve_fit a clue about the unknown number of variables)

I changed func2 to (note the *):

def func2( x, *a ):

# Bessel function
tmp = scipy.special.j0( x[:,:] )

return np.dot( tmp[:,:] , a[:] )


and call it:

N = number of optimisation parameters

popt = scipy.optimize.curve_fit( func2, x, yi , p0=[1.0]*N)



Regards,
Siegfried Gonzi
Met Office, Exeter, UK
--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.
Loading...