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
如果你這樣做,不要直接輸入名字,因爲兩者的功能不會混合)