我需要用数值解一个方程(解必须取决于 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)