@aab137

Как устранить проблемы с аппроксимацией линии?

Есть линия. Пытаюсь ее проаппроксимировать функцией 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

Типа, как я понял, что-то вылазит за область определения. Как этого избежать?
  • Вопрос задан
  • 68 просмотров
Пригласить эксперта
Ответы на вопрос 1
adugin
@adugin Куратор тега Python
Перестаньте спамить и включите мозг. Найдите самое большое из нескольких чисел в математическом выражении.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы