我有一个实验的数据,试图与指数衰减函数拟合。无论如何,每当我使用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