二次方程组python

时间:2017-05-23 21:35:37

标签: python

我有一个二次方程组:

(6.3205-x)**2+(-0.0347-y)**2-(1.4869)**2 = 0
(8.3769-x)**2+(-0.6242-y)**2-(0.8459)**2 = 0

我正在寻找一种使用Python解决它的聪明方法。有什么建议我应该去哪个图书馆?

1 个答案:

答案 0 :(得分:0)

我建议SymPy(一个象征性的数学库)。它功能强大,但要弄清楚如何使其发挥作用可能需要花费很多精力。

import sympy

x, y = sympy.symbols("x y", real=True)

eq1 = sympy.Eq((6.3205 - x)**2 + (-0.0347 - y)**2, 1.4869**2)
eq2 = sympy.Eq((8.3769 - x)**2 + (-0.6242 - y)**2, 0.8459**2)

sympy.solve([eq1, eq2])

给出了

[
    {y: -0.852406950510941, x: 7.56236430542394},
    {y: 0.000885037011691020, x: 7.80697412192102}
]