使用sympy数值化求解一个方程

4
我希望询问一些关于使用sympy在python中以符号方式定义函数,进行导数运算并最终以数值方式使用表达式的问题。以下是一个示例:
import numpy as np
from sympy import *

z = Symbol('z')
function = z*exp(z**2)
deriv = diff(function, z)
x = np.arange(1, 3, 0.1) #interval of points
#How can I evaluate numerically this array "x" with the function deriv???

你知道怎么做吗?谢谢!
1个回答

3
您可以使用numpy后端和lambdify来进行操作:
import numpy as np
from sympy import *

z = Symbol('z')
function = z*exp(z**2)
deriv = diff(function, z)
x = np.arange(1, 3, 0.1) #interval of points
d = lambdify(z, deriv, "numpy")
d(x)
# array([  8.15484549e+00,   1.14689175e+01,   1.63762998e+01,
#          2.37373255e+01,   3.49286892e+01,   5.21825471e+01,
#          7.91672020e+01,   1.21994639e+02,   1.90992239e+02,
#          3.03860954e+02,   4.91383350e+02,   8.07886132e+02,
#          1.35069268e+03,   2.29681687e+03,   3.97320108e+03,
#          6.99317313e+03,   1.25255647e+04,   2.28335915e+04,
#          4.23706166e+04,   8.00431723e+04])

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接