7.1. Метод Рунге-Кутта

 

Пусть нам требуется найти решение задачи Коши (7.1)-(7.2) в точке . Предположим, что в рассматриваемой области f(x,y) имеет непрерывные частные производные до некоторого порядка п+1. Тогда искомое решение будет иметь непрерывные производные до порядка п. Приближенное значение y1 для решения y(x1) будет вычисляться следующим образом:

,                            (7.3)

где pi – постоянные,

                          (7.4)

(7.5)

 – постоянные, .

Распишем последовательно формулы (7.4) и (7.5):

   (7.6)

Рассмотрим вопрос о выборе параметров . Обозначим через  разность между точным и приближенным значениями решения в точке x1:

.

В соответствии с (7.3) будем иметь

.                                                  (7.7)


Разложим  в ряд Маклорена:

.                       (7.8)

Будем подбирать параметры  так, чтобы

причем s было бы как можно больше при произвольной f(x, y). Величина  называется погрешностью метода Рунге-Кутта на одном шаге, а (s+1) – порядком погрешности. Таким образом, погрешность на шаге при таком выборе параметров согласно (7.8) будет равна:

.                          (7.9)

Очевидно, что условие  будет выполнено всегда, так как .

Теперь рассмотрим частные случаи формулы (7.3).

1 случай: r = 1. При этом сама формула (7.3) приобретает вид

a      

Найдем производные функции :

Условие

удовлетворяется при p1 = 1.

Далее имеем

Значение  не зависит от констант и в общем случае не может быть равным нулю. Таким образом, приближенная формула

                 (7.10)

имеет ошибку на одном шаге, равную

                       (7.11)

Говорят, что в этом случае погрешность метода на одном шаге имеет порядок h2. Формула (7.10) называется еще методом Эйлера.

2 случай: r = 2. Формула (7.3) при этом имеет вид

 

Погрешность на шаге


Ее первая производная

      

Таким образом,  в том и только в том случае, если

.

Далее,

Выражение для  найдем, дифференцируя уравнение (7.1):

,            (7.12)

Необходимым и достаточным условием обращения  в нуль будет

Третья производная  будет равна:

A(h) – производная по h от выражения в фигурной скобке предыдущего равенства для R''(h).


Дифференцируя (7.12) получим

Очевидно, что последнее слагаемое, а следовательно, и все выражение для , вообще говоря, не обращается в нуль. Таким образом, беря , удовлетворяющие условиям

                                      (7.13)

мы получим формулы, имеющие порядок ошибки на шаге h3. Из (7.13) следует, что .

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

Можно, например, взять . Тогда . Формула (7.3) примет вид

.

Если обозначить

,                      (7.14)

то .                                (7.15)

Формулы (7.14)-(7.15) носят название метода Эйлера-Коши.

Если взять , то  и будем иметь следующую формулу:

,    (7.16)

которая называется уточненным методом Эйлера.

На практике из формул, имеющих погрешность на шаге порядка h3, используются именно эти две формулы: метод Эйлера-Коши и уточненный метод Эйлера, т.к. они имеют простой, удобный для вычислений вид.

3 случай: r = 3. Тогда, согласно (7.3) и (7.6)

и погрешность на шаге

.

Для того, чтобы получить систему уравнений относительно неизвестных параметров , нужно, как и в предыдущих случаях, выписать  и потребовать их обращения в нуль. Оказывается [3], что в этом случае для произвольной f(x, y) можно обратить в нуль только  и порядок погрешности будет равен 4:

.

Чтобы выполнялось требование

,

необходимо и достаточно выполнение следующих соотношений:

        (7.17)

Система (7.17), содержащая 8 неизвестных и 6 уравнений, имеет бесчисленное множество решений, каждое из которых определяет формулу метода Рунге-Кутта с погрешностью на шаге четвертого порядка. Одна из широко употребляемых на практике формул соответствует решению

и имеет следующий вид:

             (7.18)

где

              (7.19)

4 случай: r = 4. Формулы (7.3) и (7.6) примут вид

В этом случае удается построить формулы с погрешностью на шаге пятого порядка

,

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

                              (7.20)

где

                     (7.21)

Дальнейшие исследования показывают, что в случае r = 5 не удается достигнуть увеличения порядка точности на шаге, поэтому эти формулы применения не находят. При r = 6 можно получить формулы, имеющие порядок ошибки h6, но они очень громоздкие и практического применения также не находят [3].

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

Найдем приближенную оценку погрешности решения , полученного после 2п шагов с помощью одной из формул метода Рунге-Кутта.

Предположим, что  – мало меняющаяся функция на отрезке от 0 до h, т.е. на каждом шаге допущена одинаковая погрешность

.

 

Тогда

.                                     (7.22)

Если провести расчет по той же формуле с шагом 2h, то получим другое приближенное решение  в точках xi:

                    (7.23)

Для того, чтобы оценить погрешность за 2п шагов

вычтем (7.22) из (7.23). Получим

и .                                                     (7.24)

Из (7.24) следует, что для метода Эйлера (7.10) погрешность приближенного решения  будет оцениваться формулой , для методов Эйлера-Коши (7.14)-(7.15) и уточненного метода Эйлера (7.16) – формулой

а для методов Рунге-Кутта с погрешностями на шаге четвертого и пятого порядков – формулами

соответственно.

 

 

К оглавлению

Назад к разделу "7. ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ"

Вперед к разделу "7.2. Разностный метод решения краевой задачи"