【发布时间】:2019-09-06 04:11:35
【问题描述】:
这是我上一个问题的后续:Finding Local Extema in Scipy's Gaussian KDE
我一直试图弄清楚如何使用 scipy.optimize.minimize_scalar,因为它专门用于一个变量的函数,并为我提供了一种控制感兴趣区间的方法。但是当我尝试使用它时,我只有一个极值,而对于我的实际应用,我需要多个。
这是一个简单的例子
from scipy.optimize import minimize_scalar
def f(x):
return x*(x-1)*(x-2)*(x-3)
minimum=minimize_scalar(f,bounds=(-1,4),method='bounded')
有两个局部最小值:一个靠近 x=0.382,另一个靠近 x=2.618;但只报告了其中的第一个。
有没有办法让它同时报告两者(除了手动更改边界以一次只捕获最小值,如果我还不知道最小值在哪里,我就不会拥有这种奢侈)?还是可以做到这一点的不同功能?在我的实际应用中,我希望它报告 3 个最高的局部最大值。
谢谢
【问题讨论】:
标签: optimization scipy