Si cela ne vous dérange pas d'utiliser un paquet supplémentaire, scipy.optimize a un certain nombre de méthodes qui seraient parfaites. Sinon, vous pouvez implement your own zero finding function.
Si vous voulez aller la route scipy:
1) Définissez votre problème en fonction qui prend votre paramètre inconnu (P) comme premier argument, et retourne la valeur que vous voulez minimiser:
def zerofn(P, x, y):
return np.linalg.det(x - y(P))
2) Optimisez cette fonction en utilisant scipy. L'exemple utilise ici un simple finder de Newton-Raphson, mais il y a many other options que vous pourriez utiliser pour spécifier des limites de paramètres (par exemple P> 0).
import scipy.optimize as opt
opt.newton(zerofn, x0=1, args=(x, y))
>> 160.25865914054651
Le résultat de ce chercheur zéro est votre valeur optimisée de P.
Merci beaucoup Oscar! –
Pas de soucis - heureux d'aider! – oscarbranson