如何使用给定的变量和方程找到未知变量



我有一个方程a-bcd/e = 0,其中缺少任何一个变量,而给出了所有其他变量。我目前的方法是使用sympy和很多if条件。

a,b,c,d,e = [sympy.Dummy()]*5
equation = a-b*c*d/e
if a is None:
a = sympy.solve(equation.subs([(b,12),(c,10),(d,5),(e,4)]),a)
elif b is None:
.....
elif e is None:
e = sympy.solve(equation.subs([(b,12),(c,10),(d,5),(a,3)]),e)

当需要实现多个方程时,这是非常麻烦的,并且绝对不可扩展。有更好的方法吗?

使用循环迭代所有变量,当您点击None时,求解它。

伪代码

For variable in ListOfVariables
if variable is None: 
knowns = # Make a list of tuples of everything except this variable
answer = solve(knowns, solve)
break

最新更新