Разрешить сдвиг x во время линейной комбинированной подгонкиPython

Программы на Python
Ответить
Anonymous
 Разрешить сдвиг x во время линейной комбинированной подгонки

Сообщение Anonymous »

У меня есть три набора данных (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 (энергия), чтобы я мог лучше подходить?

Подробнее здесь: https://stackoverflow.com/questions/793 ... on-fitting
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»