当我在调用函数时包含y轴error = sigma时,使用曲线拟合在3参数拟合中获得错误。
如果没有sigma参数,拟合给出了一个很好的答案,但是我希望在例程中进行最小二乘估计时将误差包含在y轴中。
RuntimeError:找不到最佳参数:调用次数 功能已达到maxfev = 800。
import numpy as np
import math
from scipy.optimize import curve_fit
from scipy import stats
def func(x,p,q,r):
#return p*(np.exp(-(q*x)))+r
return p*(0.56*np.exp(-(q*x))+0.44*np.exp(-x*1E6/1.935))+r
initial=np.array([400,5E5,2])
coeff,pcov=curve_fit(func,time,count,initial,sigma=error)
其中error被定义为count的sqrt,但count = 0除外,其中error = 0而不是sqrt(count = 0)。
time
列表中值的典型顺序是1E-6和大约600 - > 0为count
(指数)。