Использование scipy для минимизации функции, которая также принимает не вариационные параметры
Я хочу использовать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
принимает два аргумента иfmin
проходит только один (на самом деле, я даже не определилa
еще). Если я сделаю:
from scipy.optimize import fmin
x0 = [1]
a = 1
xopt = fmin(f(x,a), x0, xtol=1e-8)
расчет также не удастся, потому что «х не определен». Однако, если я определюx
тогда нет вариационного параметра для оптимизации.
Как мне разрешить использование невариационных параметров в качестве аргументов функции здесь?