我有一个简单的函数,我想计算最小值 value
from scipy import optimize
def f(x):
return x**2
optimize.fminbound(f, -1, 2)
这工作正常。现在我修改上面的函数,它现在返回一个 dictionary
def f1(x):
y = x ** 2
return_list = {}
return_list['x'] = x
return_list['y'] = y
return return_list
当它返回多个对象 x and y
时,我想仅在 y
上应用 fminbound
,另一个对象 x
仅用于提供此功能的其他用途的信息。
我如何使用 fminbound
进行此设置?
回答1
您需要一个提取 y
的简单包装函数:
def f1(x):
y = x ** 2
return_list = {}
return_list['x'] = x
return_list['y'] = y
return return_list
optimize.fminbound(lambda x: f1(x)['y'], -1, 2)