3

次のような単純な方程式が与えられます。

x = y + z

y = x - z他の 2 つ (つまり:と)をバインドすると、3 番目の変数を取得できますz = 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  

明らかに、方程式を取得して解析し、単純化して同じ効果を得ることができます。しかし、そうすることが車輪の再発明になると信じています。それで、私の既製のホイールはどこですか?

4

1 に答える 1

9

Sympyの使用を検討してください。方程式などを解くためのさまざまなツールが含まれています。

以下は、ドキュメントからの抜粋です。

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

>>> solve(x**4-1, x)
[1, -1, -I, I]
于 2011-03-10T19:36:52.647 に答える