Я пытаюсь вписать гауссиан в следующий набор данных (не могу вставить все, но, надеюсь, достаточно строк)
2.738237424 0.1956847
2.742886384 0.1956847
2.747535344 0.1956847
2.752184304 0.1956847
2.756833264 0.1776788
2.761482224 0.1956847
2.766131184 0.1956847
2.770780144 0.1776788
2.775429104 0.1776788
2.780078064 0.1956847
2.784727024 0.1956847
2.789375984 0.1956847
2.794024944 0.1776788
2.798673904 0.1776788
2.803322862 0.1956847
Вот мой код: x = data [590: 880,0] y = data [590: 880,1]
error = np.repeat(0.001, (880 - 590))
# Model object
def func(x, a, b, c, d):
return a*np.exp(-(x-b)**2/c**2) + d
quad_model = odr.Model(func)
# Create a RealData object
dataset = odr.RealData(x, y, sx=error)
# Set up ODR with the model and data.
odr = odr.ODR(dataset, quad_model, beta0=[-0.6, 3.7, -0.4, 0.2])
Я получаю сообщение «func () отсутствует 3 обязательных позиционных аргумента:« b »,« c »и« d ».знаете, что происходит?
Спасибо!