В работе даётся обзор различных многошаговых методов, в частности методов типа Адамса-Башфорта применительно к численному моделированию динамических систем. Сравнительный анализ и оценка погрешностей данных численных методов реализованы на примере решения задачи Коши для обыкновенного дифференциального уравнения второго порядка. Аналитическое и численные решения данной задачи Коши выписаны в явном виде. Многошаговые методы сравниваются с одношаговыми методами Эйлера и Рунге-Кутты, решение дифференциальных уравнений средствами языка Python. Многошаговые методы решения систем обыкновенных дифференциальных уравнений сложнее в реализации и использовании по сравнению с одношаговыми методами, так как требуют для своей работы не только начальное значение функции, но и минимум одно следующее значение, которое чаще всего не известно. Для получения этих значений приходится прибегать к приближенным формулам. Однако многошаговые методы лучше подходят для решения жёстких задач, с которыми неявные одношаговые методы справляются плохо. В работе формулируются численные схемы некоторых многошаговых численных методов и записываются задачи, к которым эти методы будут применяться. Затем даётся краткий обзор некоторых библиотек, которые реализуют те или иные многошаговые методы и описываются их интерфейсы. В заключение рассмотренные методы применяются к выбранным задачам наряду с одношаговыми методами. Замеряются абсолютная погрешность решения и точность сохранения некоторых инвариантов. Полученные результаты представляются в наглядном графическом виде.
This paper provides an overview of various multistep methods, in particular the Adams type methods applied to numerical modeling of dynamical systems. Comparative analysis and estimation of errors of these numerical methods are implemented on the example of solving the Cauchy problem for an ordinary differential equation of the second order. Analytical and numerical solutions to this Cauchy problem are written out explicitly. Multistep methods are compared with the one-step Euler and Runge-Kutta methods for solving differential equations using Python. Multistep methods for solving systems of ordinary differential equations are more difficult to implement and use than single-step methods, since they require not only the initial value of the function, but also at least one subsequent value, which is often not known. To get these values, we have to use approximate formulas. However, multi-step methods are better suited for solving hard problems that implicit one-step methods do not handle well. The work consists of three parts. In the first part, numerical schemes of some multistep numerical methods are formulated and the problems to which these methods will be applied are recorded. The second part provides a brief overview of libraries that implement certain multistep methods and describes their interfaces. Finally, in the third part, the methods discussed are applied to the selected tasks along with one-step methods. The absolute error of the solution and the accuracy of preserving certain invariants are measured. The results obtained are presented in a clear graphical form.