Python Scipy - 为两个不同的变量求解相同的标量方程

时间:2014-10-10 09:04:11

标签: python scipy

在我的算法中,我需要为两个不同的变量两次求解相同的等式。目前我正在使用scipy.fsolve,我已经为第一次和第二次迭代分别定义了两个不同的函数。

我第一次解决X并且传递了一定数量的参数,包括Y. 第二次我需要解决Y而X成为参数之一。当然,在第二次迭代中,还需要更改一些原始参数。

这是简化代码

def f1(X, *params1):
    (Y, a, b, c) = params1
    long procedure...
    return S
def f2(Y, *params2):
    (X, a, b, c) = params2
    same long procedure....
    return S
params1 = (Y, a1, b1, c1)
X = fsolve(f1, X0, args=params1)
params2 = (X, a1, b2, c2)
Y = fsolve(f2, Y0, args=params2)

有没有办法以更优雅的方式组织代码,重用相同的功能?

0 个答案:

没有答案