Verwenden von scipy, um eine Funktion zu minimieren, die auch nicht variierende Parameter akzeptiert

Ich möchte das benutzenscipy.optimize Modul zur Minimierung einer Funktion. Angenommen, meine Funktion istf(x,a):

def f(x,a):
 return a*x**2

Für eine festeaIch möchte minimierenf(x,a) in Gedenken anx.

Mitscipy Ich kann zum Beispiel das importierenfmin funktion (ich habe ein altes scipy: v.0.9.0), gebe einen initialen wert anx0 und dann optimieren (Dokumentation):

from scipy.optimize import fmin
x0 = [1]
xopt = fmin(f, x0, xtol=1e-8)

das scheitert daranf nimmt zwei Argumente undfmin Übergibt nur eine (eigentlich habe ich nicht einmal definierta noch). Wenn ich mache:

from scipy.optimize import fmin
x0 = [1]
a = 1
xopt = fmin(f(x,a), x0, xtol=1e-8)

Die Berechnung schlägt auch fehl, weil "x nicht definiert ist". Allerdings wenn ich definierex dann gibt es keinen zu optimierenden Variationsparameter.

Wie kann ich zulassen, dass nicht variierende Parameter hier als Funktionsargumente verwendet werden?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage