python 动态拟合函数
python fit a function dynamically
我正在尝试使用一些数据来拟合简单的幂律函数。函数定义如下:
def fit_func(x,a,b,c):
return a * (x)**b + c
然后我将从文件中读取数据(x 数组和y 数组)。我将数据分成两部分,将 y 数组 (yarray_2ndpart) 的一部分的平均值传递给 c,其中 c 是 fit_func 的参数。另一部分用于进行如下拟合:
popt, pcov = optimize.curve_fit(fit_func, xarray_1stpart, yarray_1stpart)
但是我不知道如何将平均值传递给c?
functools.partial
不会创建真正的函数,因此 SciPy 会引发错误。
另一种方法是就地定义函数:
avg = sum(yarray_2ndpart)/len(yarray_2ndpart)
def fit_func(x,a,b):
return a * (x)**b + avg
popt, pcov = optimize.curve_fit(fit_func, xarray_1stpart, yarray_1stpart)
我正在尝试使用一些数据来拟合简单的幂律函数。函数定义如下:
def fit_func(x,a,b,c):
return a * (x)**b + c
然后我将从文件中读取数据(x 数组和y 数组)。我将数据分成两部分,将 y 数组 (yarray_2ndpart) 的一部分的平均值传递给 c,其中 c 是 fit_func 的参数。另一部分用于进行如下拟合:
popt, pcov = optimize.curve_fit(fit_func, xarray_1stpart, yarray_1stpart)
但是我不知道如何将平均值传递给c?
functools.partial
不会创建真正的函数,因此 SciPy 会引发错误。
另一种方法是就地定义函数:
avg = sum(yarray_2ndpart)/len(yarray_2ndpart)
def fit_func(x,a,b):
return a * (x)**b + avg
popt, pcov = optimize.curve_fit(fit_func, xarray_1stpart, yarray_1stpart)