Лаба 8 по ВМ
.pdfЛАБОРАТОРНАЯ РАБОТА №8.
ПРИБЛИЖЕННОЕ РЕШЕНИЕ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ.
Цель работы: научиться решать обыкновенные дифференциальные уравнения (ОДУ) методами Эйлера и Рунге-Кутта с помощью ЭВМ.
Содержание работы:
1.Изучить методы Эйлера и Рунге-Кутта для приближенного решения ОДУ.
2.На конкретном примере усвоить порядок решения ОДУ указанными методами с помощью ЭВМ.
3.Составить программу на любом языке программирования, реализующую процесс приближенного решения ОДУ указанными методами.
4.Сделать вывод о точности используемых методов.
5.Составить отчет о проделанной работе.
ПРИМЕР ВЫПОЛНЕНИЯ РАБОТЫ
Задание.
1. Аналитически решить задачу Коши вида:
dy |
f x, y x4 y, |
(1) |
|
dx |
|||
|
|
||
y x0 y 1 y0 1. |
(2) |
2. Записать рабочие формулы метода Эйлера и метода Рунге-Кутта 4
порядка точности для численного решения системы (1) при начальном условии (2) на отрезке
x x0 , xn 1,1.8 . |
(3) |
3. Составить программу на любом языке программирования, реализующую построенные процессы.
Решение.
1. ОДУ (1) является дифференциальным уравнением с разделяющимися переменными. Его аналитическим решением являются интегральные
x5
кривые вида y x, c ce 5 , где постоянная c определяется из начального
1
условия (2) и равна c e 5 . Таким образом, решением задачи Коши (1)-(2)
1 x5
является интегральная кривая y x e 5 e 5 .
2. Для построения рабочих формул методов Эйлера и Рунге-Кутта 4 порядка точности разделим отрезок (3) на n равных частей и сформируем
систему равноотстоящих точек xi 1 xi h , i 0, n 1, где x0 1, xn 1.8,
138
шаг интегрирования h xn x0 0.8 . n n
Рабочая формула метода Эйлера в общем случае имеет вид:
yi 1 yi hf xi , yi , i 0, n 1.
Для поставленной задачи данная формула запишется так:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
yЭйлер y |
Эйлер |
hx4 y |
Эйлер , i |
0, n 1 |
(4) |
||||||||||||||||||
|
|
|
|
|
|
|
i 1 |
|
i |
|
|
|
|
|
|
|
i |
|
|
i |
|
|
|
|
|
|
|
|
|
Для вычислений по методу Рунге-Кутта 4 порядка необходимо пред- |
|||||||||||||||||||||||||||||
варительно вычислить 4 коэффициента: |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
k1i hf xi , yi |
, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
h |
|
|
|
|
|
|
k |
|
|
|
|
||||||
|
|
|
|
|
|
k |
|
hf x |
|
|
|
|
, y |
|
|
1i |
|
, |
|
||||||||||
|
|
|
|
|
|
2i |
i |
|
|
i |
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
2 |
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
h |
|
|
|
|
|
|
k |
2i |
|
|
|||||||
|
|
|
|
|
|
k |
|
hf x |
|
|
|
|
, y |
|
|
|
|
, |
|
||||||||||
|
|
|
|
|
|
3i |
i |
|
|
i |
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
2 |
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
k4i hf xi |
|
h, yi |
k3i , |
|
|
|
|
|
|
||||||||||||||
а рабочая формула имеет вид: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
y |
|
|
1 |
k |
2k |
|
|
2k |
|
|
k |
|
|
, i |
|
|
|
||||||||||
y |
i 1 |
i |
2i |
|
3i |
4i |
0, n 1. |
(5) |
|||||||||||||||||||||
|
|
||||||||||||||||||||||||||||
|
|
|
6 |
|
1i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Для рассматриваемого примера коэффициенты запишутся так:
k |
1i |
hx4 y Рунге Кутт , |
|
|
|
|
|
|
|
|
|
||||||
|
i |
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
h |
|
4 |
|
|
k |
1i |
|
|
|
|
|
k2i |
h xi |
|
|
|
yiРунге Кутт |
|
|
|
, |
|
|
||||||
2 |
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
2 |
. |
(6) |
||||
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
||
|
|
|
|
|
h |
|
|
k |
2i |
|
|
||||||
k3i |
h xi |
|
|
|
|
yiРунге Кутт |
|
|
|
|
, |
|
|
||||
|
2 |
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
||||
k |
4i |
h x |
i |
h 4 |
y Рунге Кутт k |
3i |
. |
|
|
||||||||
|
|
|
|
|
|
i |
|
|
|
|
|
|
Итерационные процессы, заданные формулами (4), (5) и (6), можно начать, задав начальное условие (2). Процессы заканчиваются при достижении конца отрезка (3). В этом случае построенные интегральные кривыеxi 1, yi 1 являются приближенными решениями задачи Коши (1)-(2) на от-
резке (3) рассматриваемыми методами.
3.Блок-схема построения приближенного решения задачи Коши методами Эйлера и Рунге-Кутта приведена на рисунке 1.
Решение: результаты решения сформулированной задачи в виде графиков приведены на рисунке 2.
4.Содержание отчета.
Отчет о проделанной работе должен содержать: номер и название лабораторной работы; цель работы; содержание работы; задание на работу; теоретическую часть работы (вывод итерационных формул); листинг программы; таблицу результатов; графики, выводы о проделанной работе.
139
1. Задать параметры метода: n, i 0, x xo , y y0 , xn , h xn x0 .
n
2.Вычислить xi 1 xi h и очередное приближение yi 1 по формулам (4) (или (5)-(6)).
3.Проверить условие окончания процесса: x xn .
нет |
|
да |
4. Распечатать приближенное значение xi 1, yi 1 . |
|
6. Останов |
|
|
|
|
|
|
5. Обновить начальное приближение x xi 1 , y yi 1
и i i 1.
Рис.1
37
y=y(x)
32
y=y Рунге-Кутт (x)
27
y=y Эйлер (x)
22
17
12
7
2
-3 |
1 |
1,1 |
1,2 |
1,3 |
1,4 |
1,5 |
1,6 |
1,7 |
1,8 |
|
|
|
|
|
|
|
|
|
Рис.2
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
1.Аналитически решить задачу Коши (1)-(2).
2.Записать рабочие формулы методов Эйлера и Рунге-Кутта 4 порядка для приближенного решения сформулированной задачи на отрезке
(3).
3.Используя блок-схему (Рис.1), составить программу на любом языке программирования, реализующую метод Эйлера и метод РунгеКутта для задачи Коши. Печать результатов должна осуществляться на каждом шаге итераций в виде следующей таблицы:
i |
xi |
y xi |
yЭйлер |
|
y x |
yЭйлер |
|
yРунге Кутт |
|
y x |
yРунге Кутт |
|
|
|
|||||||||
|
|
|
i |
|
i |
i |
|
i |
|
i |
i |
4.Провести вычисления при h h /10 .
5.Построить графики точного решения и двух приближенных (мето-
140
ды Эйлера и Рунге-Кутта).
6. Составить отчет о проделанной работе.
ВАРИАНТЫ ИНДИВИДУАЛЬНЫХ ЗАДАНИЙ
№ варианта |
|
|
|
|
Задача Коши |
Отрезок |
|
1. |
|
|
dy |
|
x2 y, y 1 1 |
1,0 |
|
dx |
|||||||
|
|
|
|
|
|
||
2. |
|
|
dy |
|
x 1 y, y 1 1 |
1,2 |
|
dx |
|||||||
|
|
|
|
|
|
||
3. |
|
|
dy |
|
x 2 y, y 1 1 |
1,0 |
|
dx |
|||||||
|
|
|
|
|
|
||
4. |
|
|
dy |
|
x y 1 , y 1 1 |
1,2 |
|
|
|
dx |
|||||
|
|
|
|
|
|
||
5. |
|
|
dy |
|
x2 y 1 , y 0 0 |
0,1 |
|
|
|
dx |
|||||
|
|
|
|
|
|
||
6. |
|
|
dy |
|
x2 y 2 , y 1 0 |
1,2 |
|
|
|
dx |
|||||
|
|
|
|
|
|
||
7. |
|
|
dy |
|
y cos x, y 0 1 |
0,1 |
|
|
|
dx |
|
||||
|
|
|
|
|
|
||
8. |
|
|
dy |
|
xy, y 0 1 |
0,1 |
|
|
|
dx |
|
||||
|
|
|
|
|
|
||
9. |
|
|
dy |
|
x 1 y, y 2 2 |
2, 1 |
|
|
|
dx |
|
||||
|
|
|
|
|
|
||
10. |
|
|
dy |
|
x3 y, y 2 2 |
2, 1 |
|
|
|
dx |
|
||||
|
|
|
|
|
|
||
11. |
|
|
dy |
|
x y 2 , y 2 1 |
2,3 |
|
|
|
dx |
|
||||
|
|
|
|
|
|
||
12. |
|
|
dy |
|
x2 y 1 , y 1 0.1 |
1,2 |
|
|
|
dx |
|
||||
|
|
|
|
|
|
||
13. |
|
|
dy |
|
y sin x, y 2 1 |
2,3 |
|
|
|
dx |
|
||||
|
|
|
|
|
|
||
14. |
|
|
dy |
|
y cos2x, y 0 2 |
0,1 |
|
|
|
dx |
|
||||
|
|
|
|
|
|
||
15. |
|
|
dy |
|
y2 x, y 1 2 |
1,1.3 |
|
|
|
dx |
|
||||
|
|
|
|
|
|
||
16. |
|
|
dy |
|
x 2 y, y 1 1 |
1,0 |
|
|
|
dx |
|
||||
|
|
|
|
|
|
141
17. |
|
|
dy |
x y 1 , y 1 0 |
1,2 |
|
dx |
||||||
|
|
|
|
|
||
18. |
|
|
dy |
x y 2 , y 1 1 |
1,0 |
|
dx |
||||||
|
|
|
|
|
||
19. |
|
|
dy |
x2 y 2 , y 0 2.2 |
0,1 |
|
dx |
||||||
|
|
|
|
|
||
20. |
|
|
dy |
y sin 2x, y 0 1 |
0,1 |
|
|
dx |
|||||
|
|
|
|
|
||
21. |
|
|
dy |
x y 3 , y 0 1 |
0,1 |
|
|
dx |
|||||
|
|
|
|
|
142