Оглавление
Л 12   Л 13   Л 14   Л 15   Л 16   Л 17   Л 18

Лекция 15.
Метод Рунге-Кутты

Метод Рунге-Кутты используют для расчета стандартных моделей достаточно часто, так как при небольшом объеме вычислений он обладает точностью метода Ο4(h).

Для построения разностной схемы интегрирования воспользуемся разложением функции

[ Формула 01 ]

в ряд Тейлора:

[ Формула 02 ]

Заменим вторую производную в этом разложении выражением

[ Формула 03 ]

где

[ Формула 04 ]

Причем Δx подбирается из условия достижения наибольшей точности записанного выражения. Для дальнейших выкладок произведем замену величины «y с тильдой» разложением в ряд Тейлора:

[ Формула 05 ]

Для исходного уравнения (1) построим вычислительную схему:

[ Формула 06 ]

которую преобразуем к виду:

[ Формула 07 ]

Введем следующие обозначения:

[ Формула 08 ]

Эти обозначения позволяют записать предыдущее выражение в форме:

[ Формула 09 ]

Очевидно, что все введенные коэффициенты зависят от величины Δx и могут быть определены через коэффициент α, который в этом случае играет роль параметра:

[ Формула 10 ]

Окончательно схема Рунге-Кутты принимает вид:

[ Формула 11 ]

Та же схема в форме разностного аналога уравнения (1):

[ Формула 12 ]

При α = 0 получаем как частный случай уже известную схему Эйлера:

[ Формула 13 ]

При α = 1:

[ Формула 14 ]

При α = 1 проведение расчетов на очередном шаге интегрирования можно рассматривать как последовательность нижеследующих операций.

  1. Вычисляется выражение, представляющее собой полушаг интегрирования по схеме Эйлера, то есть определяется приближенное значение искомой функции в точке xk + h/2:

    [ Формула 15 ]

  2. Для той же промежуточной точки находится приближенное значение производной:

    [ Формула 16 ]

  3. Определяется уточненное значение функции в конечной точке всего шага, причем по схеме Эйлера с вычисленным на предыдущем шаге значением производной:

    [ Формула 17 ]

Геометрические построения (см. рис. 15.1) показывают, что получаемое в такой последовательности решение лежит «ближе» к истинному, чем вычисляемое по схеме Эйлера, то есть следует ожидать более высокой точности решения, получаемого методом Рунге-Кутты. Ранее мы назвали эту схему «модифицированным методом Эйлера».

[ Рис. 15.1. Иллюстрация расчета на шаге методом Рунге-Кутты при значении параметра alpha; = 1 ]
Рис. 15.1. Иллюстрация расчета на шаге методом Рунге-Кутты
при значении параметра α = 1

Теперь рассмотрим схему при α = 0.5 (геометрическая интерпретация результата приведена на рис. 15.2).

[ Формула 18 ]

  1. Выполняется полный шаг метода Эйлера с целью определения приближенного значения искомой функции на конце отрезка интегрирования:

    [ Формула 19 ]

  2. Для этой же точки вычисляется приближенное значение производной:

    [ Формула 20 ]

  3. Находится среднее значение двух производных, определенных на концах отрезка:

    [ Формула 21 ]

  4. Вычисляется значение искомой функции в конечной точке всего шага по схеме Эйлера с усредненным значением производной:

    [ Формула 22 ]

[ Рис. 15.2. Иллюстрация расчета на шаге методом Рунге-Кутты при значении параметра α = 0.5 ]
Рис. 15.2. Иллюстрация расчета на шаге методом Рунге-Кутты
при значении параметра α = 0.5

Иногда получающееся выражение называют схемой (методом) Эйлера-Коши. Геометрически понятно, что получаемый указанным способом результат также должен быть «ближе» к истинному решению, чем получаемый по схеме Эйлера.

Пример. Решить уравнение dy/dx = –y, y(0) = 1 методом Рунге-Кутты.

Поскольку правая часть дифференциального уравнения имеет вид: f(xy) = –y, схема метода при α = 0.5 представляется следующим образом:

[ Формула 23 ]

[ Формула 24 ]

[ Формула 25 ]

[ Формула 26 ]

[ Формула 27 ]

Построим последовательность значений искомой функции:

[ Формула 28 ]

[ Формула 29 ]

[ Формула 30 ]

[ Формула 31 ]

[ Формула 32 ]

Pезультаты получаемого численного решения для значения аргумента x = 10 при различных шагах интегрирования приведены в табл. 15.1. Три верные значащие цифры получены для шага h = 0.01.

Таблица 15.1.
Результаты численного решения yn методом Рунге-Кутты второго
порядка дифференциального уравнения y' = –y с начальным условием y(0) = 1
Величина шага h 0.5 0.25 0.1 0.01 0.001 0.0001
Число шагов n 20 40 100 1000 10 000 100 000
yn · 104 0.827181 0.514756 0.462229 0.454076 0.454000 0.453999

Оценим погрешность аппроксимации уравнения (1) разностной схемой метода Рунге-Кутты. Подставляем точное решение в разностный аналог исходного дифференциального уравнения и вычисляем невязку:

[ Формула 33 ]

Подставим разложения функций

[ Формула 34 ]

[ Формула 35 ]

в полученное выражение:

[ Формула 36 ]

Учитывая уравнение (1), а также выражение для производной

[ Формула 37 ]

окончательно получаем, что ψk = Ο(h2), то есть метод Рунге-Кутты, независимо от значения параметра α, имеет второй порядок аппроксимации.

Методы Рунге-Кутты третьего и четвертого порядков

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

[ Формула 38 ] [ Формула 39 ]

И две схемы Рунге-Кутты, имеющие четвертый порядок аппроксимации:

[ Формула 40 ] [ Формула 41 ]

Пример. Решить методом Рунге-Кутты четвертого порядка уравнение dy/dx = –y, y(0) = 1.

В соответствии с приведенными выше соотношениями определяем коэффициенты:

[ Формула 42 ]

[ Формула 43 ]

[ Формула 44 ]

[ Формула 45 ]

[ Формула 46 ]

Построим последовательность значений искомой функции:

[ Формула 47 ]

[ Формула 48 ]

[ Формула 49 ]

[ Формула 50 ]

[ Формула 51 ]

Результаты получаемого численного решения для значения аргумента x = 10 при различных шагах интегрирования приведены в табл. 15.2. Три верные значащие цифры получены для шага h = 0.25.

Таблица 15.2.
Результаты численного решения yn методом Рунге-Кутты четвертого
порядка дифференциального уравнения y' = –y с начальным условием y(0) = 1
Величина шага h 0.5 0.25 0.1 0.01 0.001 0.0001
Число шагов n 20 40 100 1000 10 000 100 000
yn · 104 0.457608 0.454181 0.454003 0.453999 0.453999 0.453999

Сравнение таблиц 15.1 и 15.2 с решениями одной и той же задачи позволяет сделать вывод, что более высокая степень аппроксимации дифференциального уравнения разностным аналогом позволяет получать более точное решение при более крупном шаге и, следовательно, меньшем числе шагов, то есть приводит к снижению требуемых ресурсов ЭВМ.

На сегодняшний день для грубого расчета вычисления производятся методом Эйлера, для точного расчета — методом Рунге-Кутты.

[ ] Лекция 14. Уточненный метод Эйлера Лекция 16. Методы прогноза и коррекции… [ ]
Л 12   Л 13   Л 14   Л 15   Л 16   Л 17   Л 18