У меня есть три набора данных (x,y), которые определяют уникальные формы линий. Используя линейную комбинированную подгонку, я хочу подогнать эти три формы линий к четвертой. Я могу настроить простой код ниже:
#read in data (three components)
header_list=['Energy','Intensity']
component_1 = pd.read_csv('Lineshape_average.txt', delimiter="\t", skiprows=1,names=header_list)
component_2=pd.read_csv('Morb_11.txt', delimiter="\t",skiprows=1,names=header_list)
component_3=pd.read_csv('PM224.txt', delimiter="\t", skiprows=1,names=header_list)
c1=component_1['Intensity']
c2=component_2['Intensity']
c3=component_3['Intensity']
#read in data to be fit
df1 = pd.read_csv(file_name, delimiter="\t", skiprows=1,names=header_list)
df1['unc']=0.1
#set up model
def equation(params, obvs_intensity, uncertainty):
a = params['a']
b = params['b']
c = params['c']
calc_intensity=a*c1+b*c2+c*c3
return (obvs_intensity-calc_intensity)/uncertainty
params = Parameters()
params.add('a', value = 0.33,min=0, max=1)
params.add('b',value =0.33,min=0, max=1)
params.add('c', value = 0.33, min=0, max=1)
#run model
result = minimize(equation, params, args =(df1['Intensity'],df1['unc']), nan_policy='omit')
Есть ли способ позволить трем компонентам сдвинуться в x (энергия), чтобы я мог лучше подходить?
У меня есть три набора данных (x,y), которые определяют уникальные формы линий. Используя линейную комбинированную подгонку, я хочу подогнать эти три формы линий к четвертой. Я могу настроить простой код ниже: [code]#read in data (three components) header_list=['Energy','Intensity']
params = Parameters() params.add('a', value = 0.33,min=0, max=1) params.add('b',value =0.33,min=0, max=1) params.add('c', value = 0.33, min=0, max=1)
#run model result = minimize(equation, params, args =(df1['Intensity'],df1['unc']), nan_policy='omit') [/code] Есть ли способ позволить трем компонентам сдвинуться в x (энергия), чтобы я мог лучше подходить?