scipy.optimize
モジュールを使用して関数を最小化したい。私の機能はf(x,a)
次のとおりです。
def f(x,a):
return a*x**2
固定のに対して、 に関してa
最小化したい。f(x,a)
x
scipy
たとえば、fmin
関数をインポートし(古いscipy:v.0.9.0を持っています)、初期値を指定x0
してから最適化できます(ドキュメント):
from scipy.optimize import fmin
x0 = [1]
xopt = fmin(f, x0, xtol=1e-8)
f
これは、 2 つの引数を取りfmin
、1 つしか渡さないために失敗します(実際には、a
まだ定義していません)。私が行った場合:
from scipy.optimize import fmin
x0 = [1]
a = 1
xopt = fmin(f(x,a), x0, xtol=1e-8)
「xが定義されていない」ため、計算も失敗します。ただし、定義するx
と、最適化する変動パラメータはありません。
ここで非変分パラメータを関数の引数として使用できるようにするにはどうすればよいですか?