【发布时间】:2018-10-30 09:53:19
【问题描述】:
我试图解方程
1600 = 0.41 + 6.31*d**-1.54 + 2.42*d**-3
Mathematica 可以在不到 1 秒的时间内给我d=6.4673。但我无法通过 python 符号计算得到答案。
使用 sympy 的“解决”需要永远。有没有办法通过使用 python 符号计算来解决这个方程?似乎问题主要来自非整数负幂。
【问题讨论】:
-
也许如果您包含您的 Python 代码,有人将能够提出改进建议。
-
你真的需要用符号计算来解决它吗?如果你只想要四位数的精度 numpy 可以用来数值求解。
-
Python符号计算是什么意思?您可以使用 scipy.optimize.fsolve 来查找根...
-
我认为 Mathematica 默默地失败了:这就是 python 所说的 >>> d = 6.4673 >>> 0.41 + 6.31*d**-1.54 + 2.42*d**-3 0.7750004079825832 >>> d = 0.1191 >>> 0.41 + 6.31*d**-1.54 + 2.42*d**-3 1600.0192723624311