Название: ВТ и программирование - Методические указания (В.Н. Аносов)

Жанр: Информатика

Просмотров: 1452


Пояснения к работе

 

Пусть дано дифференциальное уравнение

у' = f(х, у),                                          (7.1)

удовлетворяющее начальному условию у(х0) = у0. Требуется найти решение этого уравнения на интервале [х0, хn] c заданной точностью. Интервал [х0, хn] разбивается на n равных частей c помощью точек хi = х0 + i h (i = 0, 1, 2, ..., ). Решение уравнения (7.1) находится не для всех точек интервала, а лишь для дискретных значений хi (i = 0, 1, 2,...., n).

В рассмотренном в предыдущей лабораторной работе методе Эйлера требуется однократное вычисление правой части уравнения (7.1). Поэтому точность этого метода невелика. В методе Рунге-Кутта для определения значения функции необходимо четырежды вычислить производную и результат усреднить. Погрешность этого метода пропорциональна h5.

При этом для каждой точки рассчитываются следующие коэффициенты:

а затем значение функции по формуле

.

Эффективная оценка погрешности метода Рунге-Кутта затруднена. Поэтому для проверки правильности выбора шага h используют двойной пересчет значений в каждой точке; один раз с шагом h, другой – с шагом h/2.

Если условие

                                       (7.2)

 

выполняется, то шаг h выбран правильно, и переходят к расчету в следующей точке. В противном случае шаг уменьшается вдвое и расчеты повторяются. В формуле (7.2): Уh, Уh/2 – значения функции, рассчитанные с шагом h и h/2 соответственно. Блок–схема метода Рунге–Кутта приведена на рисунке.

Исходными данными являются: Х0, ХN – начало и конец интервала интегрирования; У0-начальное значение функции;

Е – точность расчета; Н-шаг интегрирования; Z(3) –вспомо-гательный массив.

 

Задание I

 

Найти решение дифференциального уравнения в интервале [x0, xn] с точностью ε = 10–3. Исходное значение шага интегрирования (см. табл. 1).

 

Таблица 1

Номер

варианта

Уравнение

у

х0

хn

1

у' = 1/у + х

1

0

0,5

2

у' = х + у

1

0

1

3

у' = 2ху + ху2

0.5

0

0,5

4

у' = х2у2 – 1

1

0

1

5

у' = у2х2

1

0

0,5

6

у' = (1 – х2)/у + 1

1

0

1

7

у' = 1 + х + у

1

1

2

8

у' = 1+ ху/3

1

0

1

9

у' = х + у  + 1

1

0,5

1,5

10

у' = 1/5ху

1

0,5

1,5

Окончание табл. 1

Номер

варианта

Уравнение

у

х0

хn

11

у' = х2 + 1/24у2

0

0,3

1,3

12

у' = 1 + ху2

0

0

0,5

13

у' = х2 –1/5у2

0

0

0,5

14

у'= –0.5у2 + 0,1/(х + у)2

2

1

2

15

у' = 1 + ху

1

0

1

 

 

Задание II

 

Преобразовать алгоритм, блок-схема которого показана на рисунке, и решить уравнение

Начальное значение интервала интегрирования t0 = 0, конечное значение tn = (3…4)Т, начальное значение функции y0 = 0, величина шага интегрирования h ≤ 0,1·T, Х= 1 (см. табл. 2).

 

Таблица 2

 

Номер варианта

k

T

Номер варианта

k

T

1

3

0,15

9

4,5

0,05

2

5

0,1

10

1,2

0,06

3

1

0,12

11

2,4

0,24

4

2.5

0,18

12

4

0,1

5

1.5

0,09

13

5,5

0,08

6

2

0,095

14

6

0,14

7

3.5

0,2

15

4,3

0,22

8

5

0,25

 

 

 

Блок–схема для метода Рунге-Кутта