Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ВМ_LABS / ЛР5_ЧР СОДУ[p]

.pdf
Скачиваний:
17
Добавлен:
21.03.2015
Размер:
136.1 Кб
Скачать

Лабораторная работа № 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

Соседние файлы в папке ВМ_LABS