我构造了一个 sympy 表达式,并使用 lambdify 转换为 numpy 函数,如下所示:
import sympy
from sympy.parsing.sympy_parser import parse_expr
x0,x1 = sympy.symbols('x0 x1')
a,b,c = sympy.symbols('a b c')
func=parse_expr('a*x0 + b*x1 + c*x0*x1')
p = [x0,x1,a,b,c]
npFunc = sympy.lambdify(p,func,'numpy')
但是当我使用 scipy 的curve_fit 为(a,b,c)的npFunc 拟合两个自变量x0 和x1 时,它失败了。我不知道如何使用 lambdify 使 npFunc 像这样工作(解包):
def npFunc(X, a, b, c):
x0,x1 = X
return a*x0 + b*x1 + c*x0*x1
我该怎么做?