尝试使用scipy的曲线拟合函数时,我不断收到输入错误消息

时间:2019-08-08 22:56:51

标签: python scipy scipy-optimize

我有一个实验的数据,试图与指数衰减函数拟合。无论如何,每当我使用x和y数据(它们是简单的浮点数的一维数组{它们都具有相同的长度})时,都会给我一个错误,即只能将大小为1的数组转换为缩放器,但是在每个参考文献中我都看到了它们使用一维数组作为输入。

我已经尝试过将数组类型更改为列表,但是出现了完全相同的错误。无论如何,如果有人有什么帮助,将不胜感激。 而且我尝试添加边界,但这也无济于事。

#Data Array is what I imported off of a csv file. But I already checked all of that
xs = np.zeros(len(DataArray))
ys = np.zeros(len(DataArray))
for i in range(len(DataArray)):
    xs[i] = DataArray[i,0]
    ys[i] = DataArray[i,1]


def func(x, tau, M):
    return M*(1.0-m.exp(tau*x))

popt = opt.curve_fit(func,xs,ys)


#some trouble shooting
type(xs)
Out[19]: numpy.ndarray

type(ys)
Out[20]: numpy.ndarray

len(xs)
Out[21]: 536

len(ys)
Out[22]: 536

xs[1]
Out[23]: 4.0

ys[1]
Out[24]: 0.2

Errro Message I keep getting: 
  File "C:/Users/Kendric.roberts/Desktop/iSPR-T2 Dissolved CO2 Test Results/FitMyCurve.py", line 60, in func
    return M*(1.0-m.exp(tau*x))

TypeError: only size-1 arrays can be converted to Python scala

rs

0 个答案:

没有答案