您知道用于方程代数解的Sympy 模块吗?不幸的是,我不确定它是否可以解决您自己的方程式,但如果以后可以帮助您:
In [1]: from sympy import exp, log, solve
In [2]: from sympy.abc import a,b,c,d,x
In [3]: solve( 1/(exp(a*(d-x))+1) + log(1/x-1)*b - c, x)
这里没有找到任何解决方案(看下面的最后一行):
----------------------------------- ---------------------------- NotImplementedError Traceback(最近调用
最后)在()
----> 1 次求解(1/(exp(a*(d-x))+1) + log(1/x-1)*b-c, x)
/usr/lib/python3/dist-packages/sympy/solvers/solvers.py 在solve(f,
*符号,**标志)1063 ######################################### ################################ 1064 if bare_f:
-> 1065 解决方案 = _solve(f[0], *symbols, **flags) 1066 else: 1067 解决方案 = _solve_system(f, symbols, **flags)
/usr/lib/python3/dist-packages/sympy/solvers/solvers.py in _solve(f,
*symbols, **flags) 1632 1633 如果结果为 False:
-> 1634 raise NotImplementedError('\n'.join([msg, not_impl_msg % f])) 1635 1636 if flags.get('simplify', True):
NotImplementedError: 多个生成器 [exp(-ax), log(-1 + 1/x)] 否
算法被实现来解决方程 blog(-1 + 1/x) - c +
1/(exp(a*(d - x)) + 1)
当然,您可以期望像 Mathematica 这样的东西比 Sympy 更强大,但实际上:
Wolfram Language 12.0.0 Engine for Linux x86 (64-bit)
Copyright 1988-2019 Wolfram Research, Inc.
In[1]:= Solve[ 1/(Exp[a*(d-x)]+1) + Log[1/x - 1]*b == c, x]
Solve::nsmet: This system cannot be solved with the methods available to Solve.
1 1
Out[1]= Solve[-------------- + b Log[-1 + -] == c, x]
a (d - x) x
1 + E