首页 > 解决方案 > SymPy:如何创建符号 lambda 函数?

问题描述

例如我有这个表达式:

x = Symbol('x')
f = sin(x) * x

我希望以下代码工作:

>>> a = Symbol('a')
>>> f(a)
TypeError: 'Mul' object is not callable

我可以把这个表达式变成一个可以处理数字的 lambda 函数:

>>> f = lambdify(x, f)
>>> f(10)
-5.440211108893697

但它不适用于符号:

>>> f = lambdify(x, f)
>>> f(a)
TypeError: loop of ufunc does not support argument 0 of type Symbol which has no callable sin method

我知道 *.subs 方法,但我对此表示法感兴趣:

>>> a = Symbol('a')
>>> f(a)

怎么做?

标签: pythonsympy

解决方案


推荐阅读