Использование minimize
из scipy.optimize
:
from scipy.optimize import minimize
def fun(x):
return x**3 - 3*x**2 + 4
fit = minimize(fun, x0=10)
print(fit.x)
Вывод:
[2.00000006]
Если вы хотите установить конкретные границы, вам необходимо использоватьодин из methods
, который может его поддерживать (подробности см. methods
на связанной странице документа).
from scipy.optimize import minimize
def fun(x):
return x**3 - 3*x**2 + 4
fit = minimize(fun, x0=1, method='L-BFGS-B', bounds=((1,3),))
print(fit.x)
Вывод:
[1.99999989]