Печать переменных при поднятии RunTimeWarning - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть система f из 12 дифференциальных уравнений, которую я хочу решить, поэтому я пишу

x = fsolve(f, np.ones(12))

, но эта система f определена в цикле;в этом цикле я изменяю некоторые параметры, от которых зависит f. Но для нескольких комбинаций этих параметров выдаются предупреждения

C:\Users\beatr\AppData\Local\Programs\Python\Python36\lib\site-packages\scipy\optimize\minpack.py:162: RuntimeWarning: The iteration is not making good progress, as measured by the
  improvement from the last five Jacobian evaluations.
  warnings.warn(msg, RuntimeWarning)

C:\Users\beatr\AppData\Local\Programs\Python\Python36\lib\site-packages\scipy\optimize\minpack.py:162: RuntimeWarning: The iteration is not making good progress, as measured by the
  improvement from the last ten iterations.
  warnings.warn(msg, RuntimeWarning)

C:\Users\beatr\AppData\Local\Programs\Python\Python36\lib\site-packages\scipy\optimize\minpack.py:162: RuntimeWarning: xtol=0.000000 is too small, no further improvement in the approximate
  solution is possible.
  warnings.warn(msg, RuntimeWarning)

.

Я обнаружил, что могу решить эти предупреждения, изменив исходное предположение в fsolve. Итак: есть ли способ печатать параметры цикла (только) всякий раз, когда появляются эти предупреждения?

Большое спасибо заранее

...