je face à un problème dans la routine d'optimisation scipy « leastsq », si j'exécute le programme suivant, il ditscipy « Réduire au minimum la somme des carrés d'un ensemble d'équations »
raise errors[info][1], errors[info][0]
TypeError: Improper input parameters.
et parfois index out of range for an array
...
from scipy import *
import numpy
from scipy import optimize
from numpy import asarray
from math import *
def func(apar):
apar = numpy.asarray(apar)
x = apar[0]
y = apar[1]
eqn = abs(x-y)
return eqn
Init = numpy.asarray([20.0, 10.0])
x = optimize.leastsq(func, Init, full_output=0, col_deriv=0, factor=100, diag=None, warning=True)
print 'optimized parameters: ',x
print '******* The End ******'
Je ne sais pas quel est le problème avec mon appel func optimize.leastsq(), s'il vous plaît aidez-moi
Pouvez-vous formater votre code s'il vous plaît? Cela permettra aux gens de vous aider plus facilement :). – notJim
Votre 'func()' pourrait simplement être écrit comme 'def func (apar): return abs (apar [0] -apar [1])'. Il n'y a pas besoin de coercition, car 'leastsq' passe les tableaux de Numpy à la fonction minimisée. – EOL