在 sympy 中,我编写了一个这样的函数:
from sympy import *
x, y = symbols('x y')
def Func(x,y):
return sin(x) + cos(y)
一切正常,但我找不到任何方法来说明这一点,例如
Func_lam = lambdify(x, y, Func)
z = Func_lam(1,2)
给出一个错误,它说这已被弃用。非常感谢您的帮助!
lambda 化的第一个 arg 应该是一个可迭代的,第二个是一个表达式。您传递了 3 个参数,而您的第三个参数不是表达式,它是一个函数,当您告诉它 args 是什么时,它会返回一个表达式。将您所拥有的与此进行比较:
>>> from sympy import *
>>> def Func(x,y): return sin(x) + cos(y)
>>> x, y = symbols('x y')
>>> f = lambdify((x,y), Func(x,y))
>>> f(1,2)
0.4253241482607541