Lambdify 返回类型错误:_lambdifygenerated() 缺少 1 个必需的位置参数:'k'

Qua*_*sar 5 python typeerror

我需要用数值解一个方程(解必须取决于 k??0,1))。每次我使用返回表达式的函数或使用 lambda 定义函数时,它都会返回类似的错误。现在我尝试使用 lamdify 将 SymPy 表达式转换为等效的数字函数,但返回相同的错误。

from scipy import *
import sympy as sym
init_printing()

x,k=symbols("x,k")
f=(sym.log(x)/sym.log(k))**k-x**(1/sym.atanh(k))

a=lambdify([x,k], f, "scipy")
(a([0,1]))
Run Code Online (Sandbox Code Playgroud)
TypeError                                 Traceback (most recent call last)
<ipython-input-29-04519472dd5e> in <module>
      7 
      8 a=lambdify([x,k], f, "scipy")
----> 9 print(a([0,1]))

TypeError: _lambdifygenerated() missing 1 required positional argument: 'k'

Run Code Online (Sandbox Code Playgroud)

Hur*_*ful 4

打电话用a(0,1),不是a([0,1])。如果您想使用列表作为参数,可以使用嵌套变量列表,如下所示:a=lambdify([(x,k)], f, "scipy")