0
我正在使用python的sympy模块。我做的是这样的:从sympy评估积分作为lambda函数
x= Symbol('x')
integrate(x**2+2,x)
答案是:
x**3/3 + 2*x
现在的问题是:有没有办法让这个回答x的lambda函数?
我正在使用python的sympy模块。我做的是这样的:从sympy评估积分作为lambda函数
x= Symbol('x')
integrate(x**2+2,x)
答案是:
x**3/3 + 2*x
现在的问题是:有没有办法让这个回答x的lambda函数?
是,使用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
如果你这样做,不要直接输入名字,因为两者的功能不会混合)