我有一个多项式(例如,x^3 - 3x^2 + 4),我想使用 Python 计算其在某个范围内(例如,[-1,1] 之间)的最小值。我认为使用 NumPy 和/或类似的库会很容易,但是,我无法使用 Google 找到解决方案。
我可以使用 Python 计算特定范围内多项式分数的最小值(例如 (x^2 -1)/(x+3))吗?
Use minimize https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html from 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)
Output:
[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)
Output:
[1.99999989]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)