如何用Python做出多高斯拟合
1、用到Python的curve_fit函数包
2、调用函数包from scipy.optimize import curve_fit
3、以三高斯拟合为例,首先先定义高斯拟合函数方程式def func3(x,a1,a2,a3,m1,m2,罪焐芡拂m3,s1,s2,s3): return a1*np.exp(-((x-m1)/s1)**2)+a2*np.exp(-((x-m2)/s2)**2)+a3*np.exp(-((x-m3)/s3)**2)
4、拟合,并对参数进行限制,boun蟠校盯昂ds里面代表参数上下限,参数即为def func3里面x之后的所有参数:p泠贾高框opt, pcov = curve_fit(func3, x, y, bounds=([y0,y0,y0,-5000,-1000,500,1200,1200,1200], [y_max,y_max,y_max,-500,1000,5000,30000,30000,30000]))这个含义是a1、a2、a3最小值为y0,最大值为y_max,m1、最小值为-5000,最大值为-500,以此类推。
5、如图所示为拟合出的一个多高斯拟合,这里含有将近10个高斯函数。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:82
阅读量:67
阅读量:88
阅读量:75
阅读量:68