Python适合多个复杂函数和多个数据集

时间:2020-06-11 14:13:55

标签: python scipy curve-fitting scipy-optimize

我正在尝试将多个复杂函数与多个相应的(实际)数据集拟合,以通过以下方式找到三个不同的参数var1,var2和var3。在fit函数中,我将return留为空白(该函数对于本文而言太复杂了),但本质上,这些都是包含复数的函数。以前,我将返回结果取为np.abs,但我意识到我需要保留虚部并执行复杂的拟合(但最终具有实际的fit_params),而Scipy curve_fit无法做到。

如何为复杂函数执行相同的方案(将多个函数与多个数据集拟合)?我已经看到了执行复杂拟合的几种不同方法,但是不确定使用多个函数/数据集进行语法拟合的方法。

# combine data
combine_domain = np.hstack(( x,x,x )).ravel()
combine_data = np.hstack(( np.abs(A),np.abs(B),np.abs(C) )).ravel()

# fit functions
def A_fit(var1,var3):
    return 

def B_fit(var2,var1):
    return 

def C_fit(var3,var2):
    return  

# combine functions
def combine_functions(x, var1, var2, var3):
    result1 = A_fit(var1, var3)
    result2 = B_fit(var2, var1)
    result3 = C_fit(var3, var2)
    return np.hstack(( result1,result2,result3 )).ravel()

# perform fitting
fitted_params, pcov = curve_fit(combine_functions, combine_domain, combine_data)
var1, var2, var3 = fitted_params

0 个答案:

没有答案