python - 如何用 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)
解决方案
这是一个超越方程。它可能有一个关于 Lambert W 函数的解析解,但我不确定。我假设您只想要一个可以使用的数值解决方案nsolve
:
In [42]: nsolve(a - b, t, 1)
Out[42]: 1857.54700584719
推荐阅读
- oracle - PLSQL 性能问题多模式过程
- c# - 按另一个列表中的元素过滤列表。错误:无法创建类型为“xyz”的常量值
- django - 从 aws-s3 存储桶加载时,django 静态文件显示错误
- typescript - 如何修复此“gyp ERR!堆栈错误:EACCES:权限被拒绝,mkdir '/home/hash/WebstormProjects/CaseStudyFrontEnd/node_modules/node-sass/build'”?
- c++ - 如何围绕其中一个顶点旋转一条线
- angular - Angular5 使用 HttpCIientModule 和接口
- sql-server - 如何将旧的 Asp.Net Identity 数据库升级到当前数据库?
- r - 如何将斜体和纯文本放在 xlab 和 ylab 的 bquote 中?
- php - 如何从 1 个上游 php-fpm 移动到具有不同 URL 路由的多个?
- vue.js - Vue.js“在'@/components/Filelist'中找不到导出'Filelist'