ВМ_LABS / ЛР5_ЧР СОДУ[p]
.pdfЛабораторная работа № 5
ЧИСЛЕННОЕ РЕШЕНИЕ СИСТЕМ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ ПЕРВОГО ПОРЯДКА
Системой обыкновенных дифференциальных уравнений первого поряд-
ка называется совокупность дифференциальных уравнений вида:
ìy′ |
(x) = f |
(x, y , y |
2 |
,..., y |
n |
), |
ï 1 |
1 |
1 |
|
|
||
ïy2¢ |
(x) = f2 (x, y1 , y2 , ..., yn ), |
|||||
í |
|
|
|
|
|
|
ï........ |
|
|
|
|
|
|
ï ¢ |
(x) = fn (x, y1 , y2 , ..., yn ). |
|||||
îyn |
Здесь y1 (x), y2 (x),..., yn (x) – неизвестные функции независимой переменной
(1)
x.
Задача Коши для данной системы дифференциальных уравнений формули- руется следующим образом: найти функции y1 (x), y2 (x), ..., yn (x), удовлетворяю-
щие равенствам (1) и начальным условиям
y1 (x0 ) = y1,0 , y2 (x0 ) = y2,0 , |
..., yn (x0 ) = yn,0 . |
(2) |
|||||||
Часто для записи системы дифференциальных уравнений (1) используется |
|||||||||
векторная форма |
|
¢ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(3) |
|
|
|
|
|
|
|
|
|
||
|
|
y (x) = f (x, y), |
|
|
|||||
где векторы-столбцы |
|
|
éy1′(x)ù |
|
|
|
|||
éy1 (x)ù |
|
é f1 |
(x, y) ù |
||||||
ê |
ú |
|
ê ¢ |
|
|
ú |
ê |
|
ú |
êy2 |
(x)ú |
¢ |
êy2 |
(x)ú |
ê f2 |
(x, y)ú |
|||
y(x) = ê ... |
ú, |
= ê ... |
|
|
ú, |
f (x, y) = ê ... |
ú. |
||
y (x) |
|
|
|||||||
ê |
ú |
|
ê ¢ |
|
|
ú |
ê |
|
ú |
ëyn |
(x)û |
|
ëyn |
(x)û |
ë fn |
(x, y)û |
|||
Начальные условия (2) при этом запишутся в виде векторного равенства |
|||||||||
где |
|
|
y(x0 ) = y0 , |
|
|
(4) |
|||
|
|
éy |
|
|
|
|
|||
|
|
|
ù |
|
|
|
|||
|
|
|
ê |
1,0 |
ú |
|
|
|
|
|
|
|
êy2,0 ú |
|
|
|
|||
|
|
y0 = ê ... |
ú. |
|
|
|
|||
|
|
|
ê |
|
|
ú |
|
|
|
|
|
|
êyn,0 |
ú |
|
|
|
||
|
|
|
ë |
|
|
û |
|
|
|
Приведение дифференциального уравнения n-го порядка к системе дифференциальных уравнений 1-го порядка.
Пусть требуется найти решение дифференциального уравнения n-го порядка
F(x,u,u′,u′′,...,u(n) ) = 0, |
(5) |
удовлетворяющее начальным условиям
u(x |
) = u |
0 |
, |
u′(x |
) = u′, ..., |
u(n ) (x |
0 |
) = u(n ) , |
(6) |
0 |
|
|
0 |
0 |
|
0 |
|
где u0 , u0′, ..., u0(n) – некоторые числа.
Если уравнение (5) разрешимо относительно старшей производной u(n) (x),
т.е. представимо в виде
u |
(n) |
|
|
′ |
′′ |
|
(n−1) |
(x)), |
|||
|
(x) = F(x,u(x),u (x),u (x),...,u |
|
|
||||||||
то заменой |
|
|
|
′ |
|
|
|
(n−1) |
|
||
y1 (x) = u(x), |
y |
..., |
yn (x) = u |
(x) |
|||||||
2 (x) = u (x), |
|
|
оно преобразуется в систему дифференциальных уравнений первого порядка y1′(x) = y2 (x),
y¢2 (x) = y3 (x), y3¢(x) = y4 (x),
..........
y¢n (x) = F(x, y1 (x), y2 (x), ..., yn (x)).
Начальные условия (6) при этом запишутся в виде:
y1 (x0 ) = u0 = y1,0 , y2 (x0 ) = u0¢ = y2,0 ,
..............
yn (x0 ) = u0(n−1) = yn,0 .
(7)
(8)
(9)
Метод Эйлера решения векторного дифференциального уравнения (3)
состоит в последовательных расчетах по формуле
|
|
(xm , ym ), |
|
ym+1 = ym + h × f |
(10) |
начиная с точки (x0 , y0 ), заданной начальными условиями x0 , y(x0 ) = y0 . Здесь h –
шаг интегрирования по независимой переменной x.
Для системы из двух уравнений векторная формула (10) представляется в виде двух следующих скалярных формул:
y1,m+1 = y1,m + h × f1 (xm , y1,m , y2,m ), y2,m+1 = y2,m + h × f2 (xm , y1,m , y2,m ).
Метод Рунге–Кутта 2-го порядка решения векторного дифференциаль-
ного уравнения (3) состоит в последовательных расчетах по формулам
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
k1 = f (xm , ym ), |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
k2 = f (xm + h, ym + hk1 ), |
(11) |
||||||||||||||||||||||||
y |
|
= y |
|
+ |
h |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
m+1 |
m |
(k |
|
+ k |
|
|
), |
|
|
|
|
|
|||||||||||||
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
2 |
1 |
|
|
2 |
|
|
|
|
|
|
|
|
||||||
начиная с точки (x0 , y0 ). Необходимо заметить, что здесь k1 и k2 |
– векторы. |
Для системы из двух уравнений векторные формулы (11) представляются в виде следующих скалярных формул:
k1,1 = f1 (xm , y1,m , y2,m ), k1,2 = f2 (xm , y1,m , y2,m ),
2
k2,1 = f1 (xm + h, y1,m + hk1,1 , y2,m + hk1,2 ), k2,2 = f2 (xm + h, y1,m + hk1,1 , y2,m + hk1,2 ),
y1,m+1 = y1,m + h2 (k1,1 + k2,1 ), y2,m+1 = y2,m + h2 (k1,2 + k2,2 ).
Метод Рунге–Кутта 4-го порядка решения векторного дифференциаль-
ного уравнения (3) состоит в последовательных расчетах по формулам
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
k1 = f (xm , ym ), |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
(x |
|
+ h |
, y |
|
+ h |
|
), |
|
|
|
|
|
|
|
|
||||||||||||
k |
|
|
= f |
m |
m |
k |
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
2 |
|
|
|
|
|
|
|
|
2 |
|
|
|
2 |
|
|
1 |
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
(x |
|
+ h |
, y |
|
+ h |
|
|
|
), |
|
|
|
|
|
|
|
(12) |
||||||||||||
k |
3 |
= f |
m |
m |
k |
2 |
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
k4 |
= f |
(xm + h, ym + hk3 ), |
|
|
|
|
|
|
|
||||||||||||||||||||||||||
y |
|
|
= y |
|
|
+ |
h |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
m+1 |
m |
(k |
+ 2k |
|
|
+ 2k |
|
|
+ k |
|
|
), |
|||||||||||||||||||||||
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
6 |
|
1 |
|
|
|
2 |
|
|
|
|
|
|
3 |
|
|
4 |
|
начиная с точки (x0 , y0 ).
Для системы из двух уравнений каждая из векторных формул (12) представ- ляется в виде двух скалярных формул, так что вместо (12) будем иметь
|
|
|
|
|
|
|
|
|
|
|
|
|
k1,1 = f1 (xm , y1,m , y2,m ), |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
k1,2 = f2 (xm , y1,m , y2,m ), |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
k |
|
|
= f |
|
(x |
|
|
+ |
|
|
|
h |
|
|
, y |
|
+ |
|
|
h |
|
k , y |
|
|
|
+ |
|
h |
|
k |
|
|
|
), |
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|||||||||||||||||||||||||||||||||||||||||||
|
|
|
2,1 |
|
|
|
1 |
|
|
|
|
m |
2 |
|
|
|
1,m |
|
2 |
|
|
|
|
1,1 |
|
|
2,m |
|
|
|
|
|
|
|
1,2 |
|
|
||||||||||||||||||||||||||
k |
|
|
|
= f |
|
|
(x |
|
+ h , y |
|
+ h k , y |
|
|
|
+ h k |
|
|
), |
|||||||||||||||||||||||||||||||||||||||||||||
|
|
|
2,2 |
|
|
|
|
2 |
|
|
|
|
m |
2 |
1,m |
2 |
|
|
|
|
1,1 |
|
|
2,m |
|
|
|
2 |
|
|
|
|
1,2 |
|
|||||||||||||||||||||||||||||
|
|
|
|
|
= f |
|
(x |
|
|
|
+ |
|
h |
|
, y |
|
+ |
h |
|
|
|
|
|
|
, y |
|
|
|
+ |
h |
|
|
|
|
|
|
|
|
|
), |
|||||||||||||||||||||||
k |
|
|
|
|
|
|
|
|
k |
|
|
|
|
|
|
|
k |
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||
|
|
3,1 |
|
|
1 |
|
|
|
|
m |
2 |
|
|
|
|
|
1,m |
|
2 |
|
|
|
|
|
2,1 |
|
|
2,m |
|
|
|
2 |
|
|
|
|
|
2,2 |
|
|
|||||||||||||||||||||||
|
|
|
|
|
= f |
|
|
(x |
|
|
|
+ |
|
h |
|
, y |
|
+ |
h |
|
|
|
|
|
, y |
|
|
|
+ |
h |
|
|
|
|
|
|
), |
||||||||||||||||||||||||||
k |
|
|
|
|
|
|
|
|
k |
|
|
|
|
|
|
k |
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||
|
|
3,2 |
|
|
|
2 |
|
|
|
|
m |
2 |
|
|
1,m |
2 |
|
|
|
|
|
2,1 |
|
|
2,m |
|
|
|
2 |
|
|
|
|
|
2,2 |
|
|||||||||||||||||||||||||||
|
k4,1 |
= f1 (xm + h, y1,m + hk3,1 , y2,m + hk3,2 ), |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
k4,2 |
= f2 (xm + h, y1,m + hk3,1 , y2,m + hk3,2 ), |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
y |
1,m+1 |
= y |
|
|
|
|
+ |
h |
(k |
|
+ 2k |
|
|
|
|
|
+ 2k |
|
+ k |
|
|
|
|
|
|
), |
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
1,m |
6 |
|
|
|
|
1,1 |
|
|
|
|
|
|
|
2,1 |
|
|
|
|
|
3,1 |
|
|
|
|
|
|
|
4,1 |
|
|
|
||||||||||||||||||||||||
|
y |
2,m+1 |
= y |
|
|
|
|
+ |
h |
(k |
|
+ 2k |
|
|
|
|
|
|
+ 2k |
|
|
|
+ k |
|
|
|
|
). |
|||||||||||||||||||||||||||||||||||
|
2,m |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
6 |
|
1,2 |
|
|
|
|
|
|
|
|
|
2,2 |
|
|
|
|
|
3,2 |
|
|
|
|
|
|
|
|
|
|
4,2 |
|
3
Содержание отчета:
∙ручное решение;
∙решение в MS Excel;
∙программа решения на языке Turbo Pascal.
Задание. При решении задачи своего варианта осуществить переход от обыкно-
венного дифференциального уравнения второго порядка к системе обыкновенных дифференциальных уравнений первого порядка и, вос- пользовавшись методом Рунге–Кутта 4-го порядка, произвести расчеты не менее чем в 10-ти точках отрезка. Построить график полученного решения.
1.Решить задачу Коши y'' + y – H2x2y = 0, y(0) = 1, y'(0) = 0 для значения параметра H=1 на интервале [0, 4].
2.Решить задачу Коши y'' – y + e2x(y – y3) = 0, y(–1) = 0.103451, y'(–1) = 0.1 на интер- вале [–1, 1].
3.Решить ОДУ y'' + sin y = 0 при начальных условиях y(0) = π/2, y'(0) = 0 на ин- тервале [0, 5π].
4.Решить ОДУ y'' + y – y3 = 0 при начальных условиях y(0) = 0, y'(0) = 0 на интер-
вале [0, 5π].
5.Решить ОДУ y'' + y – y3 = 0 при начальных условиях y(0) = 0, y'(0) = 0 на интер-
вале [0, 5π].
6.Решить ОДУ y'' + 2δ (1 + γ(y')2)y' + y = 0 для значений параметров δ = 0.1, γ = 0.2 при начальных условиях y(0) = 1, y'(0) = 1 на интервале [0, 10].
7.Решить ОДУ y'' + y + γy3 = f cos ωt для значений параметров f = 1, γ = 0.2, ω = 1 при начальных условиях y(0) = 0, y'(0) = 0 на интервале [0, 10π].
8. |
Решить ОДУ |
y'' + 2δy' + y + γy3 = f cos ωt для значений параметров f = 1, γ = 0.2, |
|
ω = 1, δ = 0.1 |
при начальных условиях y(0) = 0, y'(0) = 0 на интервале [0, 10π]. |
9. |
Решить ОДУ |
y'' + 2δy' + (1+ m cos ωx) y = 0 для значений параметров m = 0.2, |
ω = 2, δ = 0.1 при начальных условиях y(0) = 1, y'(0) = 0 на интервале [0, 10π].
10.Решить ОДУ y'' + (1+ m cos ωx) y = 0 для значений параметров m = 0.2, ω = 2 при начальных условиях y(0) = 1, y'(0) = 0 на интервале [0, 5π].
11.Решить ОДУ y'' – 3y' – x2 = 0 при начальных условиях y(0) = 0, y'(0) = 1 на ин- тервале [0, 5].
12.Решить ОДУ 4x2y'' + y = 0 при начальных условиях y(1) = 1, y'(1) = 0.5 на интер-
вале [1, 6].
13.Решить ОДУ ω-2y'' + y – k = 0 для значений параметров ω = 2, k = 5 при началь- ных условиях y(0) = 0, y'(0) = 0 на интервале [0, 2].
14. Решить ОДУ y'' |
– ω2y = 0 для значения параметра ω = 2 при начальных услови- |
ях y(0) = 1, y'(0) |
= 0 на интервале [0, 5]. |
4