有没有一种方法可以这样写我的拟合函数:def fitting_functionx li res = 0 for el in rangelenli 2 res += li2idx1-numpyexp-li2idx+1x return res在scipy函数curve_fit中使用未确定数量的参数浏览 119关注 0回答 0得票数 5原文第一个问题我正在尝试用以下形式
可以使用*args和**kwargs来传递未确定数量的参数。这样,您可以将拟合函数定义为:
def fitting_function(x, li): res = 0. for idx in range(len(li) // 2): res += li[2idx](1-numpy.exp(-li[2idx+1]*x)) return res
然后,使用curve_fit时,将拟合参数列表传递给*args:
parameters, covariance = curve_fit(fitting_function, xExp, yExp, p0 = [1]*num_params, maxfev = 100000, *li)
其中num_params是拟合参数的数量。在p0中,我们使用了一个长度为num_params的列表来指定拟合参数的初始估计值。
原文地址: https://www.cveoy.top/t/topic/ht9Y 著作权归作者所有。请勿转载和采集!