Python scipy.optimize.curve\u拟合类型错误

Python scipy.optimize.curve\u拟合类型错误,python,scipy,Python,Scipy,在尝试将指数拟合到数据时,scipy.optimize.curve\u fit返回一个TypeError x = np.array([0.,1200.02220551,3600.06661654,6000.11102756,8400.15543858,10800.19984961]) y = np.array([0.51057636,0.63187347,0.72030091,0.75168574,0.79036657,0.81551974]) def f(x,p1,p2):

在尝试将指数拟合到数据时,scipy.optimize.curve\u fit返回一个TypeError

x = np.array([0.,1200.02220551,3600.06661654,6000.11102756,8400.15543858,10800.19984961])
y = np.array([0.51057636,0.63187347,0.72030091,0.75168574,0.79036657,0.81551974])

def f(x,p1,p2):                                                                  
    p1*np.exp(x*p2)

popt, pcov = curve_fit(f, x, y)
不幸的是,这将返回以下错误:

TypeError: unsupported operand type(s) for -: 'NoneType' and 'float'

如果您对这里出现的问题有任何建议,我们将不胜感激

f
需要返回其结果

def f(x,p1,p2):                                                                  
    return p1*np.exp(x*p2)
注意:如果您得到不同的错误(未找到最佳参数),请不要感到惊讶。数据看起来是对数而不是指数。切换x和y(
曲线拟合(f,y,x)
)可能与指数函数一起工作