我正在使用python的sympy模块。我这样做:
x= Symbol('x')
integrate(x**2+2,x)
答案是:
x**3/3 + 2*x
现在,问题是:有没有办法让这个答案成为x的lambda函数?
答案 0 :(得分:1)
是的,请使用lambdify
:
>>> f = lambdify(x, integrate(x**2+2,x))
>>> f(2)
6.666666666666666
如果您想将此与numpy一起使用,请将"numpy"
设置为lambdify的第二个参数
>>> import numpy as np
>>> f = lambdify(x, integrate(x**2+2,x), "numpy")
>>> f(np.arange(10))
array([ 0. , 2.33333333, 6.66666667, 15. ,
29.33333333, 51.66666667, 84. , 128.33333333,
186.66666667, 261. ])
(你可能想要import numpy as np
和import sympy as sp
而不是直接导入名字,如果你这样做,因为两者的功能不混合)