Я использую Curve_Fit для подгонки полинома к моим данным, который имеет 200 индексов.
Вот мой код:
def func3(x, a, b, c, d):
return (a)*((x)**3) + (b)*((x)**2) + c*x + d
weight1 = np.ones(len(xdata))
weight1[[list(range(3900,89))]] = 0.01
popt, pcov = curve_fit(func3, data, ydata, p0=(1, 1, 1, 10),
sigma=weight1)
poly = func3(xdata1, popt[0], popt[1], popt[2], popt[3])
pl.plot(xdata, poly)
Теперь, если второе значение диапазона (89) превышает 200 (скажем, 300), я получаю ошибку: IndexError: index 300 is out of bounds for axis 0 with size 199
.
Но когда первое значение диапазона - это значение больше 200 (например, 3900 в этом случае), я не получаю сообщение об ошибке.Скорее мои изменения в форме.
Итак, что же на самом деле означает первое значение диапазона?Я думал, что это значение индекса моей точки данных, но, похоже, это не так.