Python中的方程求解器

3 投票
1 回答
625 浏览
提问于 2025-04-16 13:27

给定一个简单的方程,比如:

x = y + z

如果你固定了其他两个变量,就可以得到第三个变量(也就是说:y = x - zz = x - y)。用代码来实现这个过程的方法很简单:

def solve(args):
    if 'x' not in args:
        return args['y'] + args['z']
    elif 'z' not in args:
        return args['x'] - args['y']
    elif 'y' not in args:
        return args['x'] - args['z']
    else:
        raise SomeError  

我当然可以拿一个方程,解析它并简化,从而达到同样的效果。 但我觉得这样做就像是在重新发明轮子。那么,现成的轮子在哪里呢?

1 个回答

9

可以考虑使用 Sympy。它包含了许多工具,可以用来解方程,还有很多其他功能。

以下是来自 文档 的一段摘录:

>>> from sympy import I, solve
>>> from sympy.abc import x, y

>>> solve(x**4-1, x)
[1, -1, -I, I]

撰写回答