我一直在努力获取方程式的文本输入并将其计算为定积分。我需要一个可调用函数传递给 scipy.integrate
。
eq = "x**2"
func = lambda x: eq
func(2)
# outputs:
# x**2
# but if I:
func = lambda x: x**2
func(2)
# outputs:
# 4
最佳答案
不确定,但也许你正在寻找
eq = "x**2"
func = eval("lambda x: " + eq)
请注意,如果 eq
来自不受信任的来源(例如用户输入),则使用 eval()
是危险的。
关于Python(SymPy、SciPy),从字符串创建符号 lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5872117/