养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

如何用Python做出多高斯拟合

时间:2024-09-29 23:25:04

高斯多峰拟合又称多高斯拟合,如何对一个多高斯型进行拟合,并且使参数限定在一定范围内。

工具/原料

Python

方法/步骤

1、用到Python的curve_fit函数包

2、调用函数包fromscipy.optimizeimportcurve_fit

3、以三高斯拟合为例,首先先定义高斯拟合函数方程式deffunc3(x,a1,瞢铍库祢a2,a3,m1,m2,罪焐芡拂m3,s1,s2,s3):returna1*np.exp(-((x-m1)/s1)**2)+a2*np.exp(-((x-m2)/s2)**2)+a3*np.exp(-((x-m3)/s3)**2)

4、拟合,并对参数进行限制,boun蟠校盯昂ds里面代表参数上下限,参数即为deffunc3里面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]))这个含义是aaa3最小值为y0,最大值为y_max,m最小值为-5000,最大值为-500,以此类推。

5、如图所示为拟合出的一个多高斯拟合,这里含有将近10个高斯函数。

如何用Python做出多高斯拟合

© 一点知识