Руководитель ООП
канд. физ.-мат. наук, доцент
_____________О.М. Сюсина
«____»__________2020 г.
Научный руководитель
д-р. физ.-мат. наук
_________________ Авдюшев В.А
подпись
«____»______________20___г.
Автор работы
Студент группы №___________
_________________ Чувашов М.Д.
подпись
Томск – 2020
РЕФЕРАТ
2
ОГЛАВЛЕНИЕ
Введение ................................................................................................................... 4
1 Дифференциальные уравнения орбитального движения .................................... 5
2 Численные методы решения дифференциальных уравнений............................. 6
2.1 Методы Рунге-Кутты ...................................................................................... 6
2.2 Методы Адамса ............................................................................................... 9
2.3 Предиктор-корректор .................................................................................... 12
2.4 Метод Гира .................................................................................................... 13
2.5 Устойчивость многошаговых методов ......................................................... 14
3 Алгоритмизация метода Гира и его программная реализация ......................... 17
4 Численные результаты ........................................................................................ 19
Заключение ............................................................................................................. 26
Список используемых источников ........................................................................ 27
Приложение ................................................................................................................
3
ВВЕДЕНИЕ
4
1 ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ
ОРБИТАЛЬНОГО ДВИЖЕНИЯ
5
2 ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ ДИФФЕРЕНЦИАЛЬНЫХ
УРАВНЕНИЙ
𝒙1 = 𝒙0 + ℎ ∑ 𝑏𝑗 𝒌𝑗 , 𝒌1 = 𝒇(𝑡0 , 𝑥0 ),
𝑗=1
𝑖−1
6
каждая величина 𝒌𝑖 на 𝑖 − м этапе выражается явно через величины 𝒌1,…,𝑖−1 на
предыдущих этапах. Таким образом, явный -этапный метод Рунге-Кутты на
каждом шаге требует 𝑠 вычислений функции f.
Коэффициенты 𝑎𝑖,𝑗 , 𝑏𝑖 , 𝑐𝑖 принято представлять в виде таблицы Бутчера
0
с2 𝑎21
с3 𝑎31 𝑎32
⋮ ⋮ ⋮ ⋱
с𝑠 𝑎𝑠1 𝑎𝑠2 … 𝑎𝑠,𝑠−11
𝑏1 𝑏2 … 𝑏𝑠−1 𝑏𝑠
𝒌1 = 𝒇(𝑡, 𝑥 ),
ℎ 𝒌1
𝒌2 = 𝒇 (𝑡 + , 𝑥 + ),
6 6
4ℎ 4𝒌1 16𝒌2
𝒌3 = 𝒇 (𝑡 + ,𝑥 + + ),
15 75 75
2ℎ 5𝒌1 8𝒌2 5𝒌3
𝒌4 = 𝒇 (𝑡 + ,𝑥 + − + ),
3 6 3 2
5ℎ 165𝒌1 55𝒌2 425𝒌3 85𝒌4
𝒌5 = 𝒇 (𝑡 + ,𝑥 − + − + ),
6 64 6 64 96
12𝒌1 4015𝒌3 11𝒌4 88𝒌5
𝒌6 = 𝒇 (𝑡 + ℎ, 𝑥 + − 8𝒌2 + −− + ),
5 612 36 255
ℎ 8263𝒌1 124𝒌2 643𝒌3 81𝒌4 2484𝒌5
𝒌7 = 𝒇 (𝑡 + ,𝑥 − + − − − ),
15 15000 75 680 240 10625
3501𝒌1 300𝒌2 297275𝒌3
𝒌8 = 𝒇 (𝑡 + ℎ, 𝑥 + − + −
1720 43 52632
7
319𝒌4 24068𝒌5 3850𝒌7
+ −
+ ),
2322 84065 26703
3𝒌1 875𝒌3 23𝒌4 264𝒌5 125𝒌7 43𝒌8
𝒙1 = 𝒙0 + ℎ ( + + + + + ).
40 2244 72 1955 11592 616
0
1 1
6 6
4 4 16
15 75 75
2 5 8 5
−
3 6 3 2
5 165 55 425 85
− −
6 64 6 64 96
1 12 −8 4015 11 88
−
5 612 36 255
1 8263 124 643 81 2484 0
− − −
15 15000 75 680 250 10625
1 3501 300 297275 319 24068 0 3850
− −
1720 43 52632 2322 84065 26703
3 0 875 23 264 0 125 43
40 2244 72 1955 11592 616
Метод
𝒌1 = 𝒇(𝑡0 + ℎ𝑐1, 𝒙0 + ℎ(𝑎11 𝒌1 + . . . +𝑎1𝑠 𝒌𝑠 )),
…
𝒌𝑠 = 𝒇(𝑡0 + ℎ𝑐𝑠 , 𝒙0 + ℎ(𝑎𝑠1 𝒌1 +. . . +𝑎𝑠,𝑠 𝒌𝑠 )), (3)
𝒙1 = 𝒙0 + ℎ(𝑏1 𝒌1 +. . . +𝑏𝑠 𝒌𝑠 ),
8
или
𝑠
𝒙1 = 𝒙0 + ℎ ∑ 𝑏𝑗 𝒌𝑗 ,
𝑗=1
𝒌𝑙+1
𝑠 = 𝒇 (𝑡0 + ℎ𝑐𝑠 , 𝒙0 + ℎ(𝑎𝑠1 𝒌1𝑙 + . . . +𝑎𝑠𝑠 𝒌𝑙𝑠 )).
𝑡0 𝒇0
𝒇0,1
𝑡1 𝒇1 𝒇0,1,2
𝒇1,2 … 𝒇0,1,…,𝑟
𝑡2 𝐟2 …
… … …
𝑡𝑟 𝒇𝑟
10
Из этого следует, что численный аналог (5) можно задать формулой
𝑡𝑟+1
𝒙𝑟+1 = 𝒙𝑟 + ∫ 𝒑(𝑡)𝑑𝑡.
𝑡𝑟 (7)
Из (7) для 𝑟 = 0, … , 3 получаем следующие формулы Адамса:
𝒙1 = 𝒙0 + ℎ𝒇0 (метод Эйлера),
3 1
𝒙2 = 𝒙1 + ℎ [ 𝒇1 − 𝒇0],
2 2
23 16 5
𝒙3 = 𝒙2 + ℎ [ 𝒇2 − 𝒇1 + 𝒇0]. (8)
12 12 12
55 59 37 9
𝒙4 = 𝒙3 + ℎ [ 𝒇3 − 𝒇2 + 𝒇1 − 𝒇 ]
24 24 24 24 0
Формулы (8) называются явными формулами Адамса. Они получаются
путём интегрирования интерполирующего полинома (5) вне интервала
интерполяции, что обычно ведёт к достаточно плохому приближению, а также
малой области устойчивости.
Данную проблему Адамс решил путём включения значения функции 𝒇𝑟+1
от искомого решения в интерполяционный полином . Такая замена позволяет
получить неявные формулы. Например, для 𝑟 = 0, … ,3 получаем следующие
выражения:
𝒙1 = 𝒙0 + ℎ𝒇1 (метод Эйлера),
1 1
𝒙2 = 𝒙1 + ℎ [ 𝒇2 + 𝒇1] (правило трапеций) .
2 2
5 8 1
𝒙3 = 𝒙2 + ℎ [ 𝒇3 + 𝒇2 − 𝒇1],
12 12 12
9 19 5 1
𝒙4 = 𝒙3 + ℎ [ 𝒇4 + 𝒇3 − 𝒇2 + 𝒇 ]
24 24 24 24 1
11
Разностную схему -шагового метода Адамса в общем случае можно
записать следующим образом:
𝑠
(9)
𝒙𝑠 = 𝒙𝑠−1 + ℎ ∑ 𝛽𝑖 𝒇𝑖
𝑖=0
где 𝛽𝑖 — постоянные метода.
Если 𝛽𝑠 = 0, то схема (12) является явной и имеет в общем случае порядок
𝑝 = 𝑠. Иначе схема — неявная и имеет порядок 𝑝 = 𝑠 + 1.
Коэффициенты 𝛽𝑖 для явной схемы вычисляются как:
𝑠−1
(−1)𝑗 1
𝛽𝑠−𝑗−1 = ∫ ∏(𝑢 + 𝑖)𝑑𝑢 (𝑗 = 0, … , 𝑠 − 1);
𝑗! (𝑠 − 𝑗 − 1)! 0
𝑖=0
𝑖≠𝑗
Для неявной:
𝑠−1
(−1) 𝑗 1
𝛽𝑠−𝑗 = ∫ ∏(𝑢 + 𝑖 − 1)𝑑𝑢 (𝑗 = 0, … , 𝑠);
𝑗! (𝑠 − 𝑗 − 1)! 0
𝑖=0
𝑖≠𝑗
2.3 ПРЕДИКТОР-КОРРЕКТОР
12
нелинейного уравнения с использованием неявной схемы, называемой
корректором ( С ). Итерационная процедура в целом получила название
«предиктор-корректор» (Р − С).
Также отдельным этапом можно выделить процедуру вычисления правых
частей 𝒇𝑠 (Е). Символьно схему «предиктор-корректор» можно представить
следующим образом:
𝑃 (𝐸𝐶 )𝑙 𝐸,
если правые части 𝒇𝑠 уравнений уточняются, или
𝑃(𝐸𝐶 )𝑙 ,
если правые части не уточняются. Здесь 𝑙 − количество итераций до сходимости
пошагового процесса с заданной точностью. Как правило, на практике достаточно
от одной до трёх итерация для получения точного значения 𝒙0 .
13
𝒒′ (𝑡𝑟 ) = 𝒇(𝑡𝑟 , 𝒙𝑟 ), (11)
где 𝑟 является одним из значений на интервала 0, … , 𝑠.
Взятие производной из (11) и подстановка 𝑡𝑟 позволяет получить схему
многошагового интегрирования для 𝒙𝑠 . При 𝑟 = 𝑠 метод является неявным и
называется методом Гира.
Пример схемы Гира для 𝑠 = 1, … ,6:
𝒙1 = 𝒙0 + ℎ𝒇1,
3 1
𝒙2 − 2𝒙1 + 𝒙0 = ℎ𝒇2 ,
2 2
11 3 1
𝒙3 − 3𝒙2 + 𝒙1 − 𝒙0 = ℎ𝒇3 ,
6 2 3
25 4 1
𝒙4 − 4𝒙3 + 3𝒙2 − 𝒙1 + 𝒙0 = ℎ𝒇4 ,
12 3 4
137 10 5 1
𝒙5 − 5𝒙4 + 5𝒙3 − 𝒙2 + 𝒙1 − 𝒙0 = ℎ𝒇5 ,
60 3 4 5
147 15 20 15 6 1
𝒙6 − 6𝒙5 + 𝒙4 − 𝒙3 + 𝒙2 − 𝒙1 + 𝒙0 = ℎ𝒇6 .
60 2 3 4 5 6
Таким образом, 𝑠 − шаговый метод на основе дифференцирования
представим как:
𝑠
(12)
∑ 𝛼𝑖 𝒙𝑖 = ℎ𝒇𝑟 ,
𝑖=0
15
Таблица 1. Модули корней производящего многочлена для метода Гира.
𝑠 |ξ|
1 1
2 0.333 1
3 0.426 0.426 1
4 0.381 0.560 0.560 1
5 0.417 0.417 0.708 0.708 1
6 0.406 0.474 0.474 0.863 0.863 1
7 0.425 0.425 0.539 0.539 1 1.022 1.022
8 0.421 0.458 0.458 0.608 0.608 1 1.183 1.183
9 0.434 0.434 0.496 0.496 0.681 0.681 1 1.347 1.347
10 0.431 0.455 0.455 0.539 0.539 0.756 0.756 1 1.512 1.512
16
3 АЛГОРИТМИЗАЦИЯ МЕТОДА ГИРА И ЕГО ПРОГРАММНАЯ
РЕАЛИЗАЦИЯ
17
𝑠 1 𝑠 𝑠−𝑗−1
𝑝
𝛼𝑖 = ∑ ∏ 𝑗=0 ,
𝑘=0 𝑖 − 𝑘 𝑖−𝑗
𝑘≠𝑖 𝑗≠𝑖,𝑘
18
4 ЧИСЛЕННЫЕ РЕЗУЛЬТАТЫ
или
𝒓′ 𝒗
𝒙′ = ( ′ ) = (−𝐫/|𝒓|3 ) = 𝒇(𝒙).
𝒗
Здесь 𝒓 = (𝑟1, 𝑟2)𝑇 и 𝒗 = (𝑣1 , 𝑣2)𝑇 — векторы положения и скорости, 𝜇 —
гравитационный параметр.
19
Для круговой нормированной задачи |𝒓| = 𝑎 = 1, 𝜇 = 1, 𝑒 = 0,
предполагаем, что 𝜇/|𝒓|3 = 𝜈 2 = 1 . Следовательно, решение 𝒙 = (𝒓, 𝒗)
описывается с помощью уравнения гармонического осциллятора с частотой 𝜈 = 1
и может быть записано в виде:
𝑥1 = 𝑟1 = cos 𝑡,
𝑥2 = 𝑟2 = sin 𝑡,
𝑥3 = 𝑣1 = − sin 𝑡,
𝑥4 = 𝑣2 = − cos 𝑡.
Первоначально необходимо было выяснить какой порядок метода даёт
наилучший показатель точность-быстродействие. Разумеется, рассматривались
только устойчивые схемы интегрирования от первого до шестого порядков
включительно. Результаты сравнения приведены на рис.1. Характеристика для
схемы первого порядка метода была исключена в связи со сравнительно низкими
показателями эффективности.
20
Из рис.1 можно сделать вывод, что наилучшая эффективность метода, как и
предполагалось, достигается при использовании схемы шестого порядка.
Очевидно, чем характеристика ближе к осям, тем эффективность метода выше.
Метод шестого порядка по сравнению с методами более низких порядков при
одинаковом объёме вычислений и одинаковом показателе ошибки работает в разы
быстрее. Например, схема шестого порядка втрое быстрее схемы пятого порядка.
Заметим, что любая характеристика во всех представленных зависимостях
имеет «колено». Это обусловлено влиянием ошибок округления. При малом шаге
ℎ и одновременно большом показателе NCF методическая точность становится
выше вычислительной ошибки, вследствие чего и образуется «колено».
Вычислительная ошибка имеет свойство накапливаться при большом объёме
вычислений в связи с особенностями компьютерной арифметики. «Колено» и есть
точка, достижение которой является ограничением в повышении точности любого
рассматриваемого метода. При отсутствии вычислительных ошибок,
характеристики представляли бы собой в логарифмических шкалах прямые, а
стало быть, точность постоянно возрастала бы при увеличении порядка метода и
уменьшении шага интегрирования как |∆𝒙| ∝ ℎ𝑝 ∝ 𝑁𝐶𝐹 −𝑝 .
Исходя из рис.1 в качестве оптимального порядка для дальнейших
исследований мы приняли 𝑁𝑆 = 𝑠 = 6.
Схема Гира использует итерационный способ вычисления правых частей 𝒇,
стало быть, следующим шагом исследования выберем определения числа
итераций корректора, являющимся оптимальным для достижения наилучшего
показателя эффективности метода шестого порядка применительно к
моделированию круговой орбиты на десяти оборотах. Характеристики
представлены на рис.2. Анализируя зависимость точности интегрирования от
трудоёмкости вычислительного процесса, зависящего непосредственно от числа
итераций, можно сделать вывод, что наилучший показатель достигается при одной
итерации.
21
Рис. 2. Характеристики точность-быстродействие для схем интегрирования Гира 6
порядка на десяти оборотах при 1-5 итерациях корректора на десяти оборотах.
22
Рис. 4. Характеристики точность-быстродействие для методов Гира, Адамса,
Рунге-Кутты шестых порядков на интервале времени 10 оборотов.
23
формулам. Результаты представлены на рис.5.
24
расчёта эфемерид ГЛОНАСС с целью высокоточной навигации.
25
ЗАКЛЮЧЕНИЕ
26
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
27
10. Семенов М. Е. Анализ областей абсолютной устойчивости неявных
методов решения систем обыкновенных дифференциальных уравнений / М. Е.
Семенов, С. Н. Колупаева // Известия Томского политехнического университета.
– 2010. Т. 317. № 2. – С. 16–22.
11. Аристова, Е. Н. Практические занятия по вычислительной
математике в МФТИ Часть II : учеб. пособие / Е. Н. Аристова, А. И. Лобанов. –
М. : МФТИ, 2015. – 310 с.
12. Ортега Дж. Введение в численные методы решения
дифференциальных уравнений / Дж. Ортега, У. Пул. – М. : Наука, 1986. – 288 с.
13. Форсайт Дж. Машинные методы математических вычислений / Дж.
Форсайт, М. Малькольм, К. Моулер. – М. : Мир, 1980. – 275 с.
14. Березин И. С. Методы вычислений Т.1 / И. С. Березин, Н. П.
Жидков. – М. : Государственное издательство физико-математической
литературы, 1962. – 464 с.
28
ПРИЛОЖЕНИЕ
35