python - 在保持某些变量不变的情况下最小化函数

标签 python minimize

我有一个如下形式的函数

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/

相关文章:

python - 如何使用 scipy.optimize.minimize 修复推导条件的拟合

python - XPATH 选择器无法选择 html 代码块

python - 将两个 numpy 数组合并到一个元组列表列表中

javascript - 如何将跟踪元数据从 python gRPC 服务发送到 grpc-web 客户端?

wpf - 如何最小化/最大化功能区

python - 如何使用 Gekko 优化电动汽车充电成本?

c# - 如何禁用C#中的最小化按钮?

python - "scipy.optimize.minimize"如何强制系数不为零

python - windows xp导入pywinauto报错

python - 在 Keras 模型中保存元数据/信息