gpt4 book ai didi

python - 我如何找出 lambda 函数需要多少个参数

转载 作者:太空狗 更新时间:2023-10-30 00:46:08 25 4
gpt4 key购买 nike

我正在尝试创建一个函数,该函数将根据传入的 lambda 函数执行最小二乘法拟合。我想创建一个长度为零的数组,该数组的长度等于 lambda 函数对 lambda 函数的初始猜测所采用的参数数量。所以如果它是线性的,我想要 [0,0],对于二次方,我想要 [0,0,0]。

#polynomial functions
linear = lambda p, x: p[0] * x + p[1]
quadratic = lambda p, x: p[0] * x**2 + p[1] * x + p[2]
cubic = lambda p, x: p[0] * x**3 + p[1] * x**2 + p[2] * x + p[3]

#polynomial functions forced through 0
linear_zero = lambda p, x: p[0] * x
quadratic_zero = lambda p, x: p[0] * x**2 + p[1] * x
cubic_zero = lambda p, x: p[0] * x**3 + p[1] * x**2 + p[2] * x

def linFit(x, y,fitfunc):
errfunc = lambda p, x, y: fitfunc(p, x) - y

这里我想创建一个零数组。但此时 p 尚未定义。所以 len(p) 不起作用。

    init_p = np.array(zeros(len(p)))  #bundle initial values in initial parameters

p1, success = optimize.leastsq(errfunc, init_p.copy(), args = (x, y))
return p1

最佳答案

在 python >= 2.7 下:

>>> l = lambda a, b: None
>>> l.func_code.co_argcount
2

或低于 2.6:

>>> l.__code__.co_argcount
2

关于python - 我如何找出 lambda 函数需要多少个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11250610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com