- SymPy 教程
- SymPy - 主页
- SymPy - 简介
- SymPy - 安装
- SymPy - 符号计算
- SymPy - 数字
- SymPy - 符号
- SymPy - 替换
- SymPy - sympify() 函数
- SymPy - evalf() 函数
- SymPy - Lambdify() 函数
- SymPy - 逻辑表达式
- SymPy - 查询
- SymPy - 简化
- SymPy - 导数
- SymPy - 集成
- SymPy - 矩阵
- SymPy - 函数类
- SymPy - 四元数
- SymPy - 求解器
- SymPy - 绘图
- SymPy - 实体
- SymPy - 套装
- SymPy - 打印
- SymPy 有用资源
- SymPy - 快速指南
- SymPy - 有用的资源
- SymPy - 讨论
SymPy - Lambdify() 函数
lambdify 函数将 SymPy 表达式转换为 Python 函数。如果要在大范围的值上计算表达式,则 evalf() 函数效率不高。lambdify 的作用类似于 lambda 函数,不同之处在于它将 SymPy 名称转换为给定数值库(通常是 NumPy)的名称。默认情况下,对数学标准库中的实现进行lambdaify。
>>> expr=1/sin(x) >>> f=lambdify(x, expr) >>> f(3.14)
上面的代码片段给出了以下输出 -
627.8831939138764
该表达式可能有多个变量。在这种情况下,lambdaify() 函数的第一个参数是变量列表,后跟要计算的表达式。
>>> expr=a**2+b**2 >>> f=lambdify([a,b],expr) >>> f(2,3)
上面的代码片段给出了以下输出 -
13
然而,为了利用 numpy 库作为数字后端,我们必须将其定义为lambdaify()函数的参数。
>>> f=lambdify([a,b],expr, "numpy")
我们在上面的函数中使用两个 numpy 数组作为两个参数 a 和 b。对于 numpy 数组,执行时间相当快。
>>> import numpy >>> l1=numpy.arange(1,6) >>> l2=numpy.arange(6,11) >>> f(l1,l2)
上面的代码片段给出了以下输出 -
数组([ 37, 53, 73, 97, 125], dtype=int32)