在大学时期关于高斯拟合的问题就有很多同学不太清楚,下面就对此问题进行详细解答
方法/步骤
1、要使用Python进行高斯拟合,您可以使用SciPy库中的curve_fit函数。以下是一个基本的实例:
2、importnum圬桦孰礅pyasnpimportmatplotlib.pyplotaspltfromscipy.optim足毂忍珩izeimportcurve_fit#定义高斯函数defgauss(x,a,x0,sigma):returna*np.exp(-(x-x0)**2/(2*sigma**2))#生成数据x=np.linspace(-5,5,100)y=gauss(x,1,0,1)+np.random.normal(size=len(x))#进行拟合popt,pcov=curve_fit(gauss,x,y)#输出拟合参数print(popt)#绘制原始数据和拟合结果plt.plot(x,y,'b-',label='data')plt.plot(x,gauss(x,*popt),'r-',label='fit')plt.legend()plt.show()
3、在此示例中,我们定义了高斯函数gauss,生成带有噪声的数据,并使用curve_fit函数对数据进行拟合。curve_fit函数需要两个参数:要拟合的函数和要拟合的数据。它返回两个对象:拟合参数(popt)和协方差矩阵(pcov)。在本例中,我们只打印了拟合参数。最后,我们绘制原始数据和拟合结果。