Python使用SciPy求解函数极小值

Jasper
Jasper
发布时间:2026-10-13 | 3人浏览过
原创

本文介绍如何利用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实现函数极小值的全部内容,希望能为读者提供参考与帮助。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表