Есть линия. Пытаюсь ее проаппроксимировать функцией
a*(b*math.cosh(a/b*X-math.acosh(b))-1)
.
Получаю ошибку
Traceback (most recent call last):
File "C:/Users/Alex/Desktop/ИКТ/Питон/untitled/myOpencv/ypt_J/5_green_mid_fit.py", line 156, in <module>
a, b = scipy.optimize.curve_fit(f, line[:,0], line[:,1])[0]
File "C:\Users\Alex\AppData\Local\Programs\Python\Python37\lib\site-packages\scipy\optimize\minpack.py", line 744, in curve_fit
res = leastsq(func, p0, Dfun=jac, full_output=1, **kwargs)
File "C:\Users\Alex\AppData\Local\Programs\Python\Python37\lib\site-packages\scipy\optimize\minpack.py", line 384, in leastsq
shape, dtype = _check_func('leastsq', 'func', func, x0, args, n)
File "C:\Users\Alex\AppData\Local\Programs\Python\Python37\lib\site-packages\scipy\optimize\minpack.py", line 26, in _check_func
res = atleast_1d(thefunc(*((x0[:numinputs],) + args)))
File "C:\Users\Alex\AppData\Local\Programs\Python\Python37\lib\site-packages\scipy\optimize\minpack.py", line 456, in func_wrapped
return func(xdata, *params) - ydata
File "C:/Users/Alex/Desktop/ИКТ/Питон/untitled/myOpencv/ypt_J/5_green_mid_fit.py", line 154, in f
out.append(a * (b * math.cosh(a / b * x - math.acosh(b)) - 1))
OverflowError: math range error
Типа, как я понял, что-то вылазит за область определения. Как этого избежать?