Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5544.pdf
Скачиваний:
3
Добавлен:
13.11.2022
Размер:
1.79 Mб
Скачать

 

Решение.

Разделим исходный

отрезок

на

пять

 

равных

частей,

тогда

h

 

4 2

0,4 . Получаем точки x

 

2; x 2,4;

x

 

 

 

2,8;

x

 

3,2;

x

 

3,6; x

 

4.

 

 

0

2

3

4

5

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Правая

часть

 

уравнения

 

имеет

 

 

вид

 

 

 

 

f x, y

x

.

 

По

условию

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y 2

 

y

0

y x

y 2 1.

Затем находим значение у(х) в точке х1

по формуле (4.6):

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y 2,4 y 2 hf 2,1 ,

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y 2,4 1,000 0,4

 

 

 

1,267 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Значения у(х) в остальных точках х2, х3, х4, х5

находим по той же формуле

(4.6) с учётом найденных предыдущих ук:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y 2,8 1,267 0,4

 

2,4

 

 

 

1,561;

 

 

 

 

 

 

y 3,2 1,561 0,4

 

 

 

2,8

 

 

1,874;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1,267 2

 

 

 

 

 

1,561 2

 

 

y 3,6 1,874 0,4

 

 

3,2

 

 

2,204;

 

 

 

 

 

 

y 4 2,204 0,4

 

 

 

 

3,6

 

 

2,547.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1,874 2

 

 

 

 

 

 

2,204 2

 

Ответ:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

2

 

 

 

2,4

 

 

2,8

 

 

3,2

 

 

 

 

3,6

 

 

 

4,0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

1

 

 

 

1,267

 

1,561

 

1,874

 

 

2,204

 

 

2,547

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задача допускает точное решение y

 

 

 

x2 5 2 . Таблица значений, найден-

ных по этой формуле с точностью до третьего знака, имеет вид

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

х

2

2,4

 

2,8

 

 

3,2

 

 

3,6

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

у

1

1,280

 

1,583

 

1,904

 

 

2,238

 

2,582

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для значения

y 4

абсолютная ошибка (погрешность)

вычисления составляет

0,035, а относительная ошибка – почти 2%.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.2. Метод Рунге – Кутта

Метод Эйлера легко программируется, но его точность невысока. В первой точке погрешность пропорциональна квадрату шага, в последней точке пропорциональна самому шагу. Для повышения точности в 10 раз, то есть на знак после запятой, приходится уменьшать шаг в 10 раз. Точность можно повысить, применяя метод Рунге – Кутта по следующей схеме.

Шаг 1. Решим задачу Коши методом Эйлера с шагом h1 ; получим значения yk в точках x0 , x1 , , xn , где xk x0 h1k .

68

 

Шаг 2. Решим задачу тем же методом с шагом h2 0,5h1 ; получим значения

yk

в точках x0 , x1 , , xm , где xk x0 h2k и m 2n .

 

 

 

Точки x

с чётными номерами совпадут с точками, полученными при шаге h1 ,

а именно, xk

x2k .

 

 

 

 

 

 

 

 

 

 

Шаг 3. Обозначим t0 , t1 , , tn – точки, в которых значения получены дважды,

а значения функции в них обозначим y0 , y1 , , yn

и y0 , y1 , yn ( y0

y0 ).

 

Пересчитаем новые приближённые значения в точках t0 , t1 , , tn по формуле

~

yk 2 yk (формула равносильна

~

 

 

yk

yk ).

 

 

yk

yk yk

 

 

 

Шаг 4. В ответе указываем таблицу значений

~

 

 

 

 

yk в точках tk .

 

 

 

Замечание. Уточнение подобным методом возможно и при других соотно-

шениях между h1 и h2 , однако при h2

0,5h1

пересчёт наиболее прост.

 

Пример.

Решим методом Рунге – Кутта уравнение y 2x 1 при условии

y 0 3 на отрезке 0;5 .

 

 

 

 

 

 

 

 

 

 

Решение. Шаг 1. Выбираем n 5, тогда h

5 0

1 .

 

 

 

 

 

 

 

 

 

 

 

 

1

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

По условию y 0 3, остальные значения находим по формуле (4.6):

 

y1 3 1 2 0 1 4;

 

 

 

 

 

 

 

 

 

 

y2 4 1 2 1 1 7;

 

 

 

 

 

 

 

 

 

 

y3 7 1 2 2 1 12;

 

 

 

 

 

 

 

 

 

 

y4 12 1 2 3 1 19;

 

 

 

 

 

 

 

 

 

 

y5 19 1 2 4 1 28.

 

 

 

 

 

 

 

 

 

 

Шаг 2. Выбираем n 10 , тогда h

 

5 0

 

0,5 . По-прежнему y

 

3 , но теперь

 

 

0

 

 

2

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

точек в 2 раза больше. Находим

 

 

 

 

 

 

 

 

 

 

y 0,5 3 0,5 2 0 1 3,5;

 

 

 

 

y 1,0 3,5 0,5 2 0,5 1 4,5;

 

y 1,5 4,5 0,5 2 1 1 6,0;

 

 

 

 

y 2,0 6,0 0,5 2 1,5 1 8,0;

 

y 2,5 8,0 0,5 2 2 1 10,5;

 

 

 

 

y 3,0 10,5 0,5 2 2,5 1 13,5;

 

y 3,5 13,5 0,5 2 3 1 17,0;

 

 

 

 

y 4,0 17,0 0,5 2 3,5 1 21,0;

 

y 4,5 21,0 0,5 2 4 1 25,5;

 

 

 

 

y 5,0 25,5 0,5 2 4,5 1 30,5.

Шаг 3. В точках x = 1, 2, 3, 4, 5 приближённые значения найдены дважды. Пересчитываем:

69

 

 

 

~

 

4 2 4,5 5;

 

 

 

 

 

y1

 

 

 

 

 

~

 

7 2 8,0 9;

 

 

 

 

 

y2

 

 

 

 

 

~

 

12 2 13,5 15;

 

 

 

 

 

y3

 

 

 

 

 

~

 

19 2 21 23;

 

 

 

 

 

y4

 

 

 

 

 

~

 

28 2 30,5 33.

 

 

 

 

 

y5

 

 

Шаг 4. Ответ:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

х

0

1

 

2

 

3

4

5

 

 

 

 

 

 

 

 

 

 

 

 

 

у

3

5

 

9

 

15

23

33

 

 

 

 

 

 

 

 

 

 

 

Уравнение имеет точное решение y x2

x 3,

получаемое простым инте-

грированием. Решение, уточнённое методом Рунге – Кутта, совпадает с точным. Заметьте, как при большом шаге результаты вычислений методом Эйлера отличаются от настоящих (точных).

В общем случае метод Рунге – Кутта имеет 2-й порядок точности O h2 и абсолютно точен, если настоящее решение – полином не выше 2-й степени. Уменьшение шага h в 10 раз повышает точность (уменьшает погрешность) в 100 раз, то есть на два десятичных знака.

4.3. Методы "Предиктор-Корректор" 2-го порядка точности

Метод Эйлера дает невысокую точность, а метод Рунге – Кутта не очень удобно программировать. Идея методов "Предиктор-Корректор", часто называемых "Счёт-Пересчёт" – использовать вспомогательные значения функции в точках между соседними узлами отрезка. С геометрической точки зрения при этом происходит движение в направлении касательной к графику искомой функции, но с учётом его выпуклости.

Как обычно, решаем задачу (4.4) на отрезке a; b , где без потери общности

ax0 . Отрезок делим на n равных частей и получаем шаг h b a / n , при этом xk x0 kh .

Способ 1. Пусть найдено приближённое решение

yk в точке xk . На следую-

щем шаге находим вспомогательное значение y* y

k

0,5hf x

, y

k

, тогда значе-

 

 

 

 

 

 

 

k

 

 

ние в следующей узловой точке находится по формуле

 

 

 

y

k 1

y

k

hf x

k

0,5h; y* .

 

 

 

(4.8)

 

 

 

 

 

 

 

 

 

70

От обозначения

y * можно избавиться,

подставив y *

 

в формулу (4.8) для

вычисления yk 1

и получив yk 1 yk hf xk

0,5h; yk

0,5hf xk ; yk .

 

 

Способ 2. Зная приближённое решение

yk в точке xk , можно найти вспомо-

гательное значение y* y

k

hf x

, y

k

, а значение в следующей точке как

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

k 1

 

 

y

k

0,5h f x

, y

k

f

x

k 1

, y* .

 

 

 

(4.9)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

Здесь также можно подставить y *

и получить

 

 

 

 

 

 

 

 

 

 

 

 

 

yk 1 yk

0,5h f xk , yk f xk 1 , yk

hf xk , yk .

 

 

Пример 1. На отрезке 0;1 с шагом

h 0,2

 

решим 1-м способом уравнение

y x2 y 2 при начальном условии y 0 2.

 

 

 

 

 

 

 

 

 

 

 

Решение. Имеем

x

0

0, y

0

 

2,

f x, y x2 y 2 ,

 

h 0,2 . Находим

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y* y

0

0,5 h x2

y2 2 0,5 0,2 02 22

2 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

Тогда

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y1 y0 h x0

0,5h 2 y* 2

2 0,2 0 0,1 2 22

2,008.

 

 

Таким образом, для точки x1 0,2

нашли приближённое значение y1 2,008.

Далее находим

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

* y

0,5hx

2 y 2 2,008 0,1 0,222,0082 2,0241, поэтому

 

 

 

 

 

1

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y2 y1

h x1 0,5h 2 y* 2

2,008 0,2 0,2 0,1 2 2,02412 2,0817, и т.д.

 

 

Удобно вычисления выполнять в таблице

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

 

xk

 

yk

 

 

0,5hxk

2 y 2

 

 

 

y *

 

 

xk 0,5h

 

xk 0,5h 2

 

y* 2

yk 1

 

0

 

0

 

2

 

 

 

 

 

0

 

 

 

 

 

 

2

 

 

 

0,1

 

 

 

0,01

 

 

4

2,008

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

0,2

 

2,008

 

0,016 1

 

 

 

 

2,024 1

 

 

0,3

 

 

 

0,09

 

 

4,097 1

2,081 7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

0,4

 

2,081 7

 

0,069 3

 

 

 

 

2,151 1

 

 

0,5

 

 

 

0,25

 

 

4,627 2

2,313 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

0,6

 

2,313 1

 

0,192 6

 

 

 

 

2,505 7

 

 

0,7

 

 

 

0,49

 

 

6,278 6

2,928 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

0,8

 

2,928 4

 

0,548 8

 

 

 

 

3,477 3

 

 

0,9

 

 

 

0,81

 

 

12,091 3

4,887 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

1,0

 

4,887 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Решение получено как табличная функция. Точность пропорциональна квадрату шага, то есть величине h2 0,04 , поэтому 1 – 2 последние цифры сомнительные. Ответ желательно округлить до 3 знаков.

Ответ:

х

0

0,2

0,4

0,6

0,8

1

 

 

 

 

 

 

 

71

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]