gpt4 book ai didi

python - 使用 scipy 最小化也采用非变分参数的函数

转载 作者:太空宇宙 更新时间:2023-11-03 12:39:36 26 4
gpt4 key购买 nike

我想使用 scipy.optimize 模块来最小化一个函数。假设我的函数是 f(x,a):

def f(x,a):
return a*x**2

对于固定的 a,我想最小化 f(x,a) 相对于 x

使用 scipy 我可以导入例如 fmin 函数(我有一个旧的 scipy:v.0.9.0),给一个初始值 x0 然后优化 ( documentation ):

from scipy.optimize import fmin
x0 = [1]
xopt = fmin(f, x0, xtol=1e-8)

失败是因为 f 有两个参数而 fmin 只传递一个参数(实际上,我什至还没有定义 a )。如果我这样做:

from scipy.optimize import fmin
x0 = [1]
a = 1
xopt = fmin(f(x,a), x0, xtol=1e-8)

计算也会失败,因为“x is not defined”。但是,如果我定义 x,则没有要优化的变分参数。

这里如何允许将非变分参数用作函数参数?

最佳答案

阅读 fminargs 参数在它的文档字符串中,并使用

a = 1
x0 = 1
xopt = fmin(f, x0, xtol=1e-8, args=(a,))

关于python - 使用 scipy 最小化也采用非变分参数的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25206482/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com