Я хочу дополнить сложный набор данных двумя функциями с одинаковыми параметрами. Для этого я использовал
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)
Здесь funcReal
- это реальная часть моей модели, funcImag
мнимая часть, yReal
реальная часть данных и yImag
мнимая часть данных.
Однако оба совпадения не дают мне одинаковые параметры для действительной и мнимой частей.
У меня вопрос, есть ли такой пакет или метод, который позволяет реализовать несколько подгонок для нескольких наборов данных и нескольких функций с общими параметрами?