我想用两个共享相同参数的函数来拟合复杂的数据集.为此我用过
def funcReal(x,a,b,c,d):
return np.real((a + 1j*b)*(np.exp(1j*k*x - kappa1*x) - np.exp(kappa2*x)) + (c + 1j*d)*(np.exp(-1j*k*x - kappa1*x) - np.exp(-kappa2*x)))
def funcImag(x,a,b,c,d):
return np.imag((a + 1j*b)*(np.exp(1j*k*x - kappa1*x) - np.exp(kappa2*x)) + (c + 1j*d)*(np.exp(-1j*k*x - kappa1*x) - np.exp(-kappa2*x)))`
poptReal, pcovReal = curve_fit(funcReal, x, yReal)
poptImag, pcovImag = curve_fit(funcImag, x, yImag)
Run Code Online (Sandbox Code Playgroud)
这funcReal是我的模型的真实部分,funcImag虚部,yReal数据的真实部分和数据yImag的虚部.
但是,两个拟合并没有给出与实部和虚部相同的参数.
我的问题是有一个包或一个方法,以便我可以实现多个数据集和多个函数与共享参数的多配合?