python - 将函数从 sympy 转换为 numpy(属性错误)

标签 python sympy

import numpy as np
import sympy as sym
from numpy import sin
from sympy import symbols, diff

func = lambda x: sin(x)
x    = symbols('x')
print diff(func(x),x)

如果我用多项式替换我的函数,或者如果我将三角函数直接放入 diff 运算符,这将起作用。但是在这种格式下,我得到了 AttributeError: sin。

基本上,我认为 python 无法将 func 识别为它知道如何进行符号积分的三角函数。我可以让 sympy import sin 然后一切正常,但后来我在 sympy 命名空间中使用 func 引用 sin 并且我想用 func 做的 future 事情需要在 numpy 命名空间中使用 sin 定义它.

最佳答案

您应该使用 SymPy 函数以符号方式构建您的表达式,然后使用 lambdify 将它们转换为可以使用 NumPy 计算的内容。

关于python - 将函数从 sympy 转换为 numpy(属性错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21817900/

相关文章:

python - 将变量传递给 pandas 中的 apply()

python - Django ImageField 默认值

python-3.x - 无法使用 sympy - python 获取简化坐标

python - Sympy:求解具有初始条件误差的微分方程

python - 将 sympy 结果作为三角函数而不是复杂的日志

python - 将 sympy 与 pypy 一起使用时没有加速

python - Django il8n - 在 Windows 上翻译外部应用程序

python - 与 astype(int) 相比,numpy around/rint 慢

python - 是否可以将 C 二进制保存的数组加载到 Python 数组中?

python - 获取 Sympy 将分数展开为多项式方程