我想用 Python 求解 3 个非线性联立方程。我是初学者,互联网上的研究帮助我了解应该做什么,但是我的脚本仍然无法正常工作,我认为这是由于与参数和输入相关的语法错误。
我的函数有 9 个参数(3 个变量和 6 个已知参数) 首先我发现我可以这样写问题:(函数 f 是示例,它们要复杂得多且大得多)
def equation(p,a,b,c,d,e,f,a1,b1,c1,d1,e1,f1,a2,b2,c2,d2,e2,f2):
x,y,z=p
s=a*x*y+b*z+c-d+e*f
s1=a1*x*y+b1*z+c1-d1+e1*f1
s2=a2*x*y+b2*z+c2-d2+e2*f2
return (s,s1,s2)
x,y,z=fsolve(equation, (100,100,100), args=(a,b,c,d,e,f,a1,b1,c1,d1,e1,f1,a2,b2,c2,d2,e2,f2), xtol=..)
你能给我一些帮助或解决方案的链接吗?
我认为在第二种情况下我想定义 x 但我不知道它应该是什么。我尝试了第二种语法,只有一个带有一个变量和相同参数的方程,它正在工作,所以我认为这是参数或变量写入的语法问题。
!!!!固定的!!!!!上面的代码形状现在正在解决我的具体问题,但我遇到了语法错误。感谢您的帮助和耐心!