我正在对一个预测函数做一个集合结果的拟合。函数可能被解释为线性的,但我可能需要稍微改变它,所以我正在做曲线拟合,而不是线性回归。我在curve_fit中使用scipy函数。以下是我如何使用它
kappa = 1
alpha=2
popt,pcov = curve_fit(fitFunc1,self.X[0:3],self.Y[0:3],sigma=self.Err[0:3],p0=[kappa,alpha])
这是fitFunc1
def fitFunc1(X,kappa,alpha):
out = []
for x in X:
我在这里有代码,它从两个具有相等点数的高斯分布中提取。
最终,我想要模拟噪声,但我想知道为什么如果我有两个均值相距很远的高斯分布,我的curve_fit应该返回它们的平均值。它不会这样做的。
import numpy as np
from scipy.optimize import curve_fit
import matplotlib.pyplot as plt
import gauss
N_tot = 1000
# Draw from the major gaussian. Note the number N. It is
# the main parameter in obtainin
我使用SciPy.optimize.curve_fit https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.curve来获得曲线拟合函数的系数,SciPy函数将模型函数作为其第一个参数,因此,如果我想进行线性曲线拟合,我会将以下函数传递给它: def objective(x, a, b):
return a * x + b 如果我想要二次多项式曲线拟合,我会传递以下内容: def objective(x, a, b, c):
return a * x + b * x**2 + c 以此类推,我