如何在Python中求两个隐式函数的根,而不需要对方程组使用fsolve

2024-04-27 11:04:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我处理的是一组非线性方程组,我可以通过分析将其简化为两个含两个变量的隐式方程组。现在我想用布伦特方法求这些方程的根。我想把一个函数作为参数传递给另一个函数,然后根据每个变量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 + 4*y*z - 5*y + 4*z**2 - 7 
     f2 = 2*y*z + 5*y - 3 
     return (f1,f2)

并通过以下方法解决:

y, z = fsolve(equations,[0,19])

我想写这样的东西:

^{pr2}$

我想请求帮助,如何传递一个函数作为这个特殊目的的参数,并解释我做错了什么。我是Python新手,也许有更好的方法来确保我的问题得到精确的解决。在


Tags: 方法函数import数学scipy方程组事情f2