【问题标题】:sympy lambdify add two functionssympy lambdify 添加两个函数
【发布时间】:2017-10-19 04:07:53
【问题描述】:

我有两个用 sympy 的 lamdify 创建的函数

a = sympy.lambdify((x, y), K / (2 * math.pi) * sympy.cos(theta) / r)
b = sympy.lambdify((x, y), -G / (2 * math.pi) * theta)

如何创建一个将这两个函数相加的新函数?

我试过c = a + b,但我成功了

TypeError: unsupported operand type(s) for +: 'function' and 'function'

【问题讨论】:

    标签: python sympy python-3.6 lambdify


    【解决方案1】:
    c = lambda x, y: a(x, y) + b(x,y)
    

    会起作用的。这不是 SymPy 特有的;只是将两个 Python 函数组合成第三个。

    但在转换为 lambda 之前添加表达式更合乎逻辑。例如:

    var('x y')
    expr1 = x + y
    a = lambdify((x, y), expr1)
    expr2 = x/y
    b = lambdify((x, y), expr2)
    c = lambdify((x, y), expr1 + expr2)
    

    旁注:我会将您函数中的math.pi 替换为sympy.pi,因为math.pi 只是一个浮点数,而sympy.pi 是一个被识别为数学常数pi 的SymPy 对象。

    【讨论】:

      猜你喜欢
      • 2022-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多