gpt4 book ai didi

python - Scipy fmin 参数传递

转载 作者:行者123 更新时间:2023-12-01 04:53:59 25 4
gpt4 key购买 nike

所以我对 scipy.optimize.fmin 如何接受参数有点困惑

假设我有两个功能:

def func_1(x, y):
return (x*x) + (y*y)

def func_2(x, y, a):
return ((x-a)*(x-a)) + ((y-a) *(y-a))

在 func_1 中,我只想要 x 和 y 的最小值,而在 func_2 中,我理想情况下希望传递 a 的值,然后找到 x 和 y 的最小值。我已经阅读了一些与此相关的其他问题,但仍然有点困惑。

尝试调用:fmin(fund_1, [1,1]) 结果:fmin() 至少需要 2 个参数(给定 1 个)

非常感谢!

最佳答案

首先,将 func_1func_2 的签名更改为:

def func_1(t):
x,y=t
return (x*x) + (y*y)

def func_2(t, a):
x,y=t
return ((x-a)*(x-a)) + ((y-a) *(y-a))

在第一种情况下,使用

from scipy.optimize import fmin
from numpy import array
fmin(func_1,array([1,1]))

在第二种情况下,您必须向 fmin 传递参数 args=(a,)。它将完全按照您的描述进行操作,

fmin(func_2,array([1,1]),args=(3,))

关于python - Scipy fmin 参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27857828/

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