如何从python中得到非线性复杂方程的封闭形式?

如何从python中得到非线性复杂方程的封闭形式?,python,sympy,symbolic-math,Python,Sympy,Symbolic Math,我从以下非线性方程中寻找x的闭合形式: 1/{e^[a*(d-x)]+1}+ln(1/x-1)*b=c python是用代数而不是数值数据来解非线性方程的吗?或者有什么有用且有效的工具来解决这个问题吗?你知道方程代数解的Sympy模块吗?不幸的是,我不确定它是否能解决您自己的方程,但万一它以后能帮助您: In [1]: from sympy import exp, log, solve In [2]: from sympy.abc import a,b,c,d,x In [3]: solve(

我从以下非线性方程中寻找x的闭合形式:

1/{e^[a*(d-x)]+1}+ln(1/x-1)*b=c

python是用代数而不是数值数据来解非线性方程的吗?或者有什么有用且有效的工具来解决这个问题吗?

你知道方程代数解的
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回溯(最近的调用 最后)在() ---->1解算(1/(exp(a*(d-x))+1)+对数(1/x-1)*b-c,x)

/solve中的usr/lib/python3/dist包/sympy/solvers/solvers.py(f, *3月3日,各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各本35现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场#1064如果没有: ->1065解决方案=_solve(f[0],*符号,**标志)1066其他:1067解决方案=_solve_系统(f,符号,**标志)

/usr/lib/python3/dist packages/sympy/solvers/solvers.py in_solve(f, *符号,**标志)1632 1633如果结果为假: ->1634 raise NOTEImplementedError('\n'.join([msg,not\u impl\u msg%f])1635 1636如果标志。get('simplify',True):

未实现错误:多个生成器[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

嗨,欢迎来到stackoverflow。如果能看到您在python代码中尝试了什么,以及使用了哪些包,那将是非常棒的。让人们帮助你的最好方法是提供一个最低限度的工作示例,我不希望这是一个封闭形式的解决方案。有没有理由认为会有一个呢?事实上,我不确定。但是x的封闭形式是我后续研究的一个关键点,我想得到这个。我认为它存在的原因是每个数值设置都有一个唯一的x。