我一直在尝试找到一种方法来解决另一个已知的功能变量。例如。
def f(x,y):
return x+y
sol=scipy.optimize.fsolve(f(x,1),0)
这显然是错误的,但是您明白了。返回x = -1。
这很简单,但尚未在Google或文档中找到
答案 0 :(得分:2)
我认为您可以看看sympy。
from sympy.solvers import solve
from sympy import Symbol
x = Symbol('x')
y = Symbol('y')
solve(x+y, x, y)
# [(−y,y)]
solve(x+y, x, 1)
# [(−y,1)]
它不会以您期望的确切方式返回答案,但是我认为您可以解释它以产生所需的结果。
答案 1 :(得分:0)
如何在另一个函数中定义该函数并将其传递给fsolve,就像这样:
from scipy import optimize
def createFunc(y):
def optimisedFunc(x):
return x+y
return optimisedFunc
sol=scipy.optimize.fsolve(createFunc(1),0)
print(sol)
>>> array([-1.])
让我知道是否有任何不清楚的地方,我可以澄清一下,在函数中定义函数是一件很奇怪的事情。