【发布时间】:2018-02-21 10:28:11
【问题描述】:
我正在用 sympy.solvers.solveset 中的 invert_real 反转一个函数,因为由于某种原因,solve 和 solveset 都不能做到这一点。结果是Intersection,似乎是正确的。
我现在想用它来进行数值计算。当我尝试使用.subs 时,它工作正常,但是当我尝试使用lambdify 时,我得到了
NameError: 名称“交叉点”未定义
我已经发现我需要在lambdify 的modules= 中传递Intersection 的来源。但我找不到有效的来源。
这是一个代码示例:
from sympy import *
from sympy.solvers.solveset import invert_real
x, y = symbols('x,y')
expr = 1 - exp(-18000000*x)
res_alg = invert_real(expr, y, x)[1]
print("res_alg: ", res_alg)
res_1 = res_alg.subs(y, 0.5)
print("res_1: ", res_1)
res = lambdify(y, res_alg, "numpy")
print(res, res(0.5))
【问题讨论】:
-
我发布了一个issue,关于这个方程的求解和求解集的性能。
-
@FTP 该线程有一些有趣的信息。谢谢。
标签: python sympy set-intersection lambdify