首页 > 解决方案 > 如何用 sympy 解这个方程?

问题描述

最近我得到了一个长方程来解决,看起来像这样

我尝试使用 来解决这个问题sympy.solveset(),但它返回了 ConditionSet,这意味着它无法处理这个等式。我如何使用 simpy 库解决这个方程,如果不是至少在 python 中?我使用的代码:

import sympy as sp

t = sp.symbols('t')
a = 1.46
b = 1.2042 * 10**-4 * ((1.2275 * 10**-5 + t) * sp.ln(1.2275 * 10**-5 + t) - t)

result = sp.solveset(sp.Eq(a, b), t)
print(result)

标签: pythonsympyequation

解决方案


这是一个超越方程。它可能有一个关于 Lambert W 函数的解析解,但我不确定。我假设您只想要一个可以使用的数值解决方案nsolve

In [42]: nsolve(a - b, t, 1)                                                                                                                   
Out[42]: 1857.54700584719

推荐阅读