python连接高斯数据库_python中高斯曲线与数据的拟合

我试着把高斯曲线拟合成给定的数据。这就是我目前所拥有的:import numpy as np

import matplotlib.pyplot as plt

from scipy.optimize import curve_fit

# Generate data

mu, sigma = 0, 0.1

y, xe = np.histogram(np.random.normal(mu, sigma, 1000))

x = .5 * (xe[:-1] + xe[1:])

def gauss (x, y):

p = [x0, y0, sigma]

return p[0] * np.exp(-(x-p[1])**2 / (2 * p[2]**2))

p0 = [1., 1., 1.]

fit = curve_fit(gauss, x, y, p0=p0)

plt.plot(gauss(x, y))

plt.show()

当我运行代码时,会出现以下错误:TypeError: gauss() takes exactly 2 arguments (4 given)

我不明白我在哪里给了函数4个参数。我也不确定我是否正确使用了curve函数,但我不确定我到底做错了什么。任何帮助都将不胜感激。

编辑

这是回溯:Traceback (most recent call last):

File "F:\Numerical methods\rw893 final assignment.py", line 21, in

fitE, fitI = curve_fit(gauss, x, y, p0=p0)

File "F:\Portable Python 2.7.5.1\App\lib\site-packages\scipy\optimize\minpack.py", line 515, in curve_fit

res = leastsq(func, p0, args=args, full_output=1, **kw)

File "F:\Portable Python 2.7.5.1\App\lib\site-packages\scipy\optimize\minpack.py", line 354, in leastsq

shape, dtype = _check_func('leastsq', 'func', func, x0, args, n)

File "F:\Portable Python 2.7.5.1\App\lib\site-packages\scipy\optimize\minpack.py", line 17, in _check_func

res = atleast_1d(thefunc(*((x0[:numinputs],) + args)))

File "F:\Portable Python 2.7.5.1\App\lib\site-packages\scipy\optimize\minpack.py", line 427, in _general_function

return function(xdata, *params) - ydata

TypeError: gauss() takes exactly 2 arguments (4 given)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值