Python sympy.lambdify()方法
在sympy.lambdify()方法的帮助下,我们可以将SymPy表达式转换为可以进行数值计算的表达式。lambdify的作用类似于lambda函数,只是它将SymPy的名字转换为给定的数值库的名字,通常是NumPy或math。
语法: lambdify(variable, expression, library)
参数:
variable – 它是数学表达式中的变量。
expression – 它是数学表达式,在给定的库中被转换为其各自的名称。
library – 它是Python库,expression将被转换为该库。
返回:返回一个可以评估数学表达式的lambda函数。
示例 #1:
在这个例子中我们可以看到,通过使用sympy.lambdify()方法,我们可以从一个数学表达式中得到一个lambda函数。
# import sympy
from sympy import *
x = symbols('x')
expr = sin(x)
# Use sympy.lambdify() method
f = lambdify(x, expr, "math")
print("Using lambda function in SymPy to evaluate sin(90) : {}".format(f(90)))
输出:
Using lambda function in SymPy to evaluate sin(90) : 0.893996663601
示例 #2:
我们可以传递一个sympy_name:numerical_function pair的字典来使用lambdify不知道的数字库。
# import sympy
from sympy import *
def squared(n) :
return n**2
x = symbols('x')
expr = x**2
# Use sympy.lambdify() method
f = lambdify(x, expr, {"**" : squared})
print("Using lambda function in SymPy to evaluate squared function : {}".format(f(10)))
输出:
Using lambda function in SymPy to evaluate squared function : 100