python scipy.optimize curve_fit 多高斯拟合

来源:互联网 发布:mac怎么设置开机密码 编辑:程序博客网 时间:2024/05/21 10:33




import numpy as npimport pylab as plt#import matplotlib.pyplot as pltfrom scipy.optimize import curve_fitfrom scipy import asarray as ar,expx = ar(range(10))y = ar([0,1,2,3,4,5,4,3,2,1])def gaussian(x,*param):    return param[0]*np.exp(-np.power(x - param[2], 2.) / (2 * np.power(param[4], 2.)))+\           param[1]*np.exp(-np.power(x - param[3], 2.) / (2 * np.power(param[5], 2.)))popt,pcov = curve_fit(gaussian,x,y,p0=[3,4,3,6,1,1])print poptprint pcovplt.plot(x,y,'b+:',label='data')plt.plot(x,gaussian(x,*popt),'ro:',label='fit')plt.legend()plt.show()



0 0
原创粉丝点击