В чем разница между составляющей.интегрировать.odeint и SciPy.интегрировать.ода?

Я прочитал документы для этих здесь, но он просто заявляет, что odeint Это "интегратор с более простым интерфейсом на основе lsoda из ODEPACK"

какова фактическая разница? При каких обстоятельствах использование одного более уместно, чем другого?

2 ответов


если вы можете решить вашу проблему с odeint, Я бы рекомендовал. Это просто функция, которая интегрирует ode с помощью lsoda.

если вы хотите гораздо больше вариантов, ode - класс со многими методами и решатели:


Мне был интересен тот же вопрос, и позже я обнаружил, что в scipy есть другой API.интегрировать. Метод четко изложен в документации.

Это может заинтересовать людей, сравнивающих odeint (odeintw для комплекса) и ode (complex_ode для комплекса).

Это называется scipy.интегрировать.solve_ivp, доступный из scipy v1.0.0 : https://scipy.github.io/devdocs/generated/scipy.integrate.solve_ivp.html#scipy.integrate.solve_ivp В этом решателе LSODA не может обрабатывать комплекс, но BDF быстрее в моем случае.