Python使用SciPy求解函数极小值
本文介绍如何利用Python的SciPy库求解函数极小值。通过scipy.optimize模块中的fmin和fminbound函数,分别演示了寻找局部极小值和全局指定区间内最小值的方法,并附带完整的代码实现与输出结果分析。
Python使用SciPy求解函数极小值
在Python中求解函数极小值,通常可以使用scipy.optimize模块提供的fmin和fminbound函数。
import numpy as np
from matplotlib import pyplot as plt
from scipy.optimize import fmin,fminbound
def f(x):
return x**2+10*np.sin(x)+1
x=np.linspace(-10,10,num=500)
min1=fmin(f,3)#求3附近的极小值
min2=fmin(f,0)#求0附近的极小值
min_global=fminbound(f,-10,10)#这个区域的最小值
print(min1)
print(min2)
print(min_global)
plt.plot(x,f(x))
plt.show()
以下是具体的运行输出结果:
Optimization terminated successfully.
Current function value: 9.315586
Iterations: 15
Function evaluations: 30
Optimization terminated successfully.
Current function value: -6.945823
Iterations: 26
Function evaluations: 52
[3.83745117]
[-1.3064375]
-1.306440096615395

以上就是利用Python实现函数极小值的全部内容,希望能为读者提供参考与帮助。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









