Решатель уравнений в Python
Дано простое уравнение, такое как:
x = y + z
Вы можете получить третью переменную, если связываете две другие (то есть: y = x - z
а также 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
Я, очевидно, могу взять уравнение, разобрать его и упростить для достижения того же эффекта. Но я верю в это, я бы заново изобрел колесо. Так где же мой готовый руль?
1 ответ
Решение
Подумайте об использовании Sympy. Он включает в себя различные инструменты для решения уравнений и многое другое.
Ниже приводится выдержка из документов:
>>> from sympy import I, solve
>>> from sympy.abc import x, y
>>> solve(x**4-1, x)
[1, -1, -I, I]