Как обращаться с бесконечными производными в scipy odeint? - PullRequest
0 голосов
/ 06 февраля 2020

У меня есть система связанных ODE, которую я пытаюсь решить как проблему начального значения, используя scipy.integrate.odeint. Тем не менее, каждый раз, когда я запускаю odeint, я получаю ошибку

 lsoda--  at t(=r1) and step size h(=r2), the error
       test failed repeatedly or with abs(h) = hmin
      in above,  r1 =  0.2351321589734D+00   r2 =  0.1000000000000D-05
ODEintWarning: Repeated error test failures (internal error). Run with full_output = 1 to get quantitative information.
  warnings.warn(warning_msg, ODEintWarning)

Я почти уверен, что знаю причину этого. Значение одного из моих производных уходит в бесконечность в момент возникновения ошибки. Тем не менее, это неизбежно в проблеме, которую я пытаюсь решить. Мне интересно, есть ли способ заставить odeint вести себя более цивилизованно, когда он доходит до этой бесконечности, а не просто отказываться работать и выдавать бессмысленный вывод (как показано на рисунке) scipy, расстраиваясь .

Заранее спасибо!

...