我有一个如下形式的函数
def tmp(x,n):
R, s, a, T = x[0], x[1], x[2], x[3]
经过一长段计算后返回一个 float 。
我需要最小化这个函数,为此我使用了 scipy.optimize.minimize():
minimize(tmp,[0,0,3,60000], args=(n,),tol =1e-15)
上面的代码使用如图所示的起始值查找函数 tmp() 的最小值。
现在我需要最小化相同的函数 tmp,但将变量 R,T 作为参数保留在最小化之外。换句话说,我希望函数写成这样:
def tmp(x,n,R,T):
s, a = x[0], x[1]
如何在不编辑第一个函数的情况下创建类似上述的函数?
最佳答案
默认情况下这是不可能的。您需要为 tmp(x,n,R,T)
指定一个不同的名称。
不过,使用 multimethod library 是可能的
关于python - 在保持某些变量不变的情况下最小化函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24185589/