如何用Python做出多高斯拟合

 时间:2026-02-14 02:11:11

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、拟合,并对参数进行限制,bounds里面代表参数上下限,参数即为def func3里面x之后的所有参数:

popt, 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个高斯函数。

如何用Python做出多高斯拟合

  • 化灵丹怎么得
  • ios10发热、耗电快、卡顿怎么办,如何解决?
  • 梦想城镇游戏里的酸橙派如何制作
  • 鬼谷八荒如何减少仇恨
  • pdf阅读软件SumatraPDF怎么安装和使用?
  • 热门搜索
    水果知识 天麻片的功效与作用 什么香水好闻又持久 历史必修一知识点总结 紫河车的功效与作用 激素的作用 黑米粥的功效与作用 通草的功效与作用 开关插座什么牌子好 什么专业最赚钱