我需要你帮我编程。这是我的方程组:
f_1(x1, x2) = 89.3885624 + 169.6377442*x1 + 169.439564*x2
+ 65.07923*((3*x1*(-a1-sqrt(a1^2 - 4*a0*a2)/(2*a2) +0.55071844)/3*x2)
+ 162.698313*((-a1-sqrt(a1^2 - 4*a0*a2))/2*a2)
+ 174.39264*x1*((3*x1*(-a1-sqrt(a1^2 - 4*a0*a2))/(2*a2) +0.55071844)/3*x2)
+ 174.39264*x2*((-a1-sqrt(a1^2 - 4*a0*a2))/2*a2)
+ 72.077218*x1*((-a1-sqrt(a1^2 - 4*a0*a2))/2*a2)
+ 189.511738*x2*((3*x1*(-a1-sqrt(a1^2 - 4*a0*a2)/(2*a2) +0.55071844)/3*x2)
及
f_2(x1,x2) = 78.183644 + 26.71298*x1 + 66.782413*x2
- 169.637744*((3*x1*(-a1-sqrt(a1^2 - 4*a0*a2)/(2*a2) +0.55071844)/3*x2)
- 169.439564*((-a1-sqrt(a1^2 - 4*a0*a2))/2*a2)
- 174.39264*((3*x1*(-a1-sqrt(a1^2 - 4*a0*a2)/(2*a2) +0.55071844)/3*x2)^2
- 261.5889567*((3*x1*(-a1-sqrt(a1^2 - 4*a0*a2)/(2*a2) +0.55071844)/3*x2)
*((-a1-sqrt(a1^2 - 4*a0*a2))/2*a2)
- 174.39264*((-a1-sqrt(a1^2 - 4*a0*a2))/2*a2)^2
- 54.306279*x1*((-a1-sqrt(a1^2 - 4*a0*a2))/2*a2)
+ 54.306279*x2*((3*x1*(-a1-sqrt(a1^2 - 4*a0*a2)/(2*a2) +0.55071844)/3*x2)
a0
、a1
和a2
是带有变量x1
和x2
的方程
这两个方程需要等于0或非常接近0
。我想用牛顿-拉斐逊法,但我不知道怎么用。在互联网上我找到了很多例子,但它们使用的是和我一样简单的方程组
对不起,我的英语不好,谢谢你的帮助
您可以使用
scipy
或mpmath
,检查这个答案Find roots of a system of equations to an arbitrary decimal precision如果你想自己解决这个问题,请查看以下链接:http://fourier.eng.hmc.edu/e176/lectures/NM/node21.html
你需要计算函数的偏导数才能计算雅可比矩阵,然后需要求逆。您的函数非常粗糙,因此您可以考虑使用{a3},它是Mathematica的命令行版本。这样计算导数就容易多了
例如,使用wolframscript(稍作修改,如sqrt()->;sqrt[],并在行的末尾使用+来执行多行函数),您可以轻松获得所需的偏导数
相关问题 更多 >
编程相关推荐