当前位置:首页>开发>正文

python怎样做高斯拟合 我想进行曲线拟合,有大侠会么

2023-04-18 01:12:15 互联网 未知 开发

 python怎样做高斯拟合 我想进行曲线拟合,有大侠会么

python怎样做高斯拟合

需要载入numpy和scipy库,若需要做可视化还需要matplotlib(附加dateutil, pytz, pyparsing, cycler, setuptools库)。不画图就只要前两个。
如果没有这些库的话去 http://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载对应版本,之后解压到 C:Python27Libsite-packages。
import numpy as np  
import pylab as plt  
#import matplotlib.pyplot as plt  
from scipy.optimize import curve_fit  
from scipy import asarray as ar,exp  

x = 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 popt  
print pcov  

plt.plot(x,y,b :,label=data)  
plt.plot(x,gaussian(x,*popt),ro:,label=fit)  
plt.legend()  
plt.show()

我想进行曲线拟合,有大侠会么?

Excel也马马虎虎能实现:
将二维数据输入到两列中,选中这些数据,插入,图表,X,Y...散点图(折线),确定。
右键点曲线,添加趋势线,选择类型(如线性、指数等),把下面那个“显示方程”选中,确定。

最新文章