如何在Python中找到两个隐式函数的根,而不必对方程组使用fsolve
我处理的是一组非线性方程,我可以通过分析将其简化为一组两变量的隐式方程。现在我想用布伦特的方法找到这些方程的根。我想将一个函数作为参数传递给另一个函数,并根据每个变量1求解变量2的方程 用数学术语,我想用这种方法解:f(x,y)和g(x,y) 这里可以给出我希望做的简单示例 而不是:如何在Python中找到两个隐式函数的根,而不必对方程组使用fsolve,python,root,Python,Root,我处理的是一组非线性方程,我可以通过分析将其简化为一组两变量的隐式方程。现在我想用布伦特的方法找到这些方程的根。我想将一个函数作为参数传递给另一个函数,并根据每个变量1求解变量2的方程 用数学术语,我想用这种方法解:f(x,y)和g(x,y) 这里可以给出我希望做的简单示例 而不是: import scipy.optimize from scipy.optimize import fsolve def equations(p): y,z = p f1 = -10*z
import scipy.optimize
from scipy.optimize import fsolve
def equations(p):
y,z = p
f1 = -10*z + 4*y*z - 5*y + 4*z**2 - 7
f2 = 2*y*z + 5*y - 3
return (f1,f2)
并通过以下方式解决:
y、 z=F解(方程[0,19])
我想这样写:
def func2(x, y):
f2= 2*y*x + 5*y - 3
return brentq(f2, -5, 5)
def func(x,y):
y = func2(x,y)
return -10*x + 4*x*y - 5*y + 4*x**2 - 7
sol, = brentq(lambda x: func(x, func2), -5, 5)
我想寻求帮助,了解如何将函数作为参数传递给此特定目的,并解释我做错了什么。我是Python新手,也许有更好的方法来确保问题的精确解决