Python 如何提高指数方程的并行求解速度?

Python 如何提高指数方程的并行求解速度?,python,sympy,Python,Sympy,我使用sympy作为一个图形绘制程序的一部分,它对我抛出的任何东西都非常完美,但有一个特殊的等式似乎导致它挣扎。其他指数方程工作得很好,但这个特殊的方程似乎让我的代码无限期地加载 我的代码如下: import math,sympy x=sympy.Symbol("x") print (sympy.solvers.solve(19.9*sympy.exp(-1.257*x)-275.0),x) 谢谢你的帮助 您能否更具体地说明性能问题?你做过基准测试或评测吗?我很快就得到了答案:sympy.so

我使用sympy作为一个图形绘制程序的一部分,它对我抛出的任何东西都非常完美,但有一个特殊的等式似乎导致它挣扎。其他指数方程工作得很好,但这个特殊的方程似乎让我的代码无限期地加载

我的代码如下:

import math,sympy
x=sympy.Symbol("x")
print (sympy.solvers.solve(19.9*sympy.exp(-1.257*x)-275.0),x)

谢谢你的帮助

您能否更具体地说明性能问题?你做过基准测试或评测吗?我很快就得到了答案:
sympy.solve(sympy.sympify('19.9')*sympy.exp(-sympy.sympify('1.257')*x)-275,x)
。但它实际上给了我一个充满虚数的解决方案列表,看起来绝对疯狂……你是在寻找真正的解决方案还是想象的解决方案?如果你只想要真正的解决方案,请声明
x
为真实:
sympy.Symbol(“x”,real=True)
。但这似乎并没有提高速度。您可以使用
nsolve
数值求解它。例如,这几乎立即返回一个答案(如果您仅为reals求解):
sympy.nsolve(sympy.sympify('19.9')*sympy.exp(-sympy.sympify('1.257')*x)-275、(-180180)、solver='bisect')
,但您必须选择边界
(-180180)
如果你猜错了,它就会失败。你能更具体地说明性能问题吗?你做过基准测试或评测吗?我很快就得到了答案:
sympy.solve(sympy.sympify('19.9')*sympy.exp(-sympy.sympify('1.257')*x)-275,x)
。但它实际上给了我一个充满虚数的解决方案列表,看起来绝对疯狂……你是在寻找真正的解决方案还是想象的解决方案?如果你只想要真正的解决方案,请声明
x
为真实:
sympy.Symbol(“x”,real=True)
。但这似乎并没有提高速度。您可以使用
nsolve
数值求解它。例如,这几乎立即返回一个答案(如果您仅为reals求解):
sympy.nsolve(sympy.sympify('19.9')*sympy.exp(-sympy.sympify('1.257')*x)-275、(-180180)、solver='bisect')
,但您必须自己选择边界
(-180180)
,如果您猜错了,它将失败。