Главная > Математика > Методы вычислений, Т.2
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

§ 4. Метод Рунге — Кутта

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

1. Метод Рунге-Кутта решения дифференциальных уравнений первого порядка.

Пусть нам требуется найти решение дифференциального уравнения

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

Обозначим При достаточно малом мы можем отбросить в (2) член и приближенно считать

Может оказаться, что для получения с нужной нам точностью не требуется использовать все члены (3).

Производные, входящие в правую часть (3), могут быть фактически найдены. Так,

Далее,

Чтобы запись последующих производных была менее громоздкой, введем операторы

Для этих операторов будут справедливы следующие равенства:

Заметим, далее, что

Действительно,

Но

и

что и требовалось доказать. Применение оператора к функции и эквивалентно дифференцированию этой функции по х в предположении, что у является решением дифференциального уравнения (1). Таким образом, последовательно дифференцируя (1), мы получим:

С увеличением порядка выражения для производных становится все более и более громоздкими, даже при операторной записи. Рассмотрим еще операторы

Для них также выполнены равенства (7), а (8) переходит в

Таким Образом,

Производные мы получим, если в (12) заменим на на

Мы убедились, что производные входящие в (3), могут быть фактически вычислены. Но в связи с тем, что формулы (12) очень громоздки, их непосредственное использование в (3) для вычисления вряд ли может оказаться полезным на практике.

Рунге предложил вместо этого составлять линейную комбинацию

с постоянными коэффициентами некоторых функций

где

и постоянные, Таким образом,

Зная и выбрав шаг мы можем последовательно вычислить все

Выбор постоянных производится так, чтобы разложение (3) и разложение (16) по степеням совпадали до возможно более высоких степеней при произвольной функции и произвольном шаге При этом функция

будет обладать свойствами

и мы должны подобрать так, чтобы было возможно большим для произвольных

Разность между точным значением при продвижении на один шаг длиной и приближенным значением его, вычисленным по формуле

т. е. погрешность метода на одном шаге, будет равна

где

Условие в нашем случае будет выполнено всегда. Условие означает

Производная, стоящая в левой части равенства, может быть всегда вычислена указанным ранее способом. Займемся сейчас вычислением производных

Для будем иметь:

Для при получим:

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

Операторы обладают следующими свойствами:

Применение оператора к некоторой функции от и эквивалентно дифференцированию этой функции по Заметим, что

Применяя к (26) правила (28) и (29), последовательно получим:

(см. скан)

И в этом случае наряду с операторами введем операторы

Для операторов будут справедливы соотношения (28), а равенство (29) заменится на

Таким образом,

Итак, при мы получим:

Рассмотрим теперь некоторые частные случаи.

1-й случай: При этом

При получим:

для произвольной тогда и только тогда, когда Далее,

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

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

Говорят, что в этом случае погрешность метода на одном шаге имеет порядок Интегрирование дифференциального уравнения по формуле (43) называют иногда способом Эйлера.

2-й случай: При этом

Таким образом, для произвольной в том и только в том случае, если

Далее,

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

т. е.

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

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

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

Возьмем еще вариант: Тогда и получим формулу

Можно также подбирать так, чтобы в (51) сократилась часть членов. Так, например, если потребовать, чтобы

то, используя (15), (36) и (49), найдем или При этом Получаем формулу

Остаточный член при выбранных удовлетворяющих системе (52), оценивается по общей формуле (23), причем в нашем случае

3-й случай: В этом случае

Отсюда

Далее,

Чтобы обращалась в нуль при произвольной необходимо достаточно, чтобы

или

Равенство нулю третьей производной даст

Но Далее, следовательно,

Поэтому равенство (63) можно записать в виде

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

Из равенства (66) следует, что операторы могут отличаться только постоянным множителем. Поэтому

и равенство (66) переходит в

Равенства (68) и (61) показывают, что операторы также отличаются лишь постоянным множителем. Это возможно лишь при условии

При

В силу (71), (68), (37) и (15) мы получим из (67):

или

Приравняв четвертую производную нулю и использовав (68) и (71), мы получим равенство

Его, вообще говоря, удовлетворить не удастся, так как в левой части содержится член а в правой такого члена нет.

Итак, если подобрать величины удовлетворяющими системе

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

Последние три равенства (75) при выбранных можно рассматривать как систему линейных алгебраических уравнений относительно Для совместности этой системы необходимо и достаточно обращение в нуль определителя

Отсюда

или

Последнее из уравнений (75) показывает, что Поэтому мы можем поделить (78) на Это даст

Итак, мы сначала должны подобрать так, чтобы они удовлетворяли системе

и затем найти последовательным исключением из системы

Рассмотрим некоторые варианты.

а) Возьмем Тогда третье из уравнений даст Второе уравнение (80) дает Затем последовательно находим Получаем приближенную формулу

где

б) Возьмем При этом Получаем вторую формулу

где

в) Возьмем При этом Отсюда

где

В последнем случае левая часть (74) будет отличаться от правой лишь на член

Остаточный член выражается по общей формуле

Мы не будем здесь выписывать выражения для ввиду его громоздкости.

4-й случай: Имеем:

Отсюда тогда и только тогда, когда

Далее

Отсюда

Приравняв нулю третью производную, получим:

Отсюда

Наконец, приравнивание нулю четвертой производной даст

В (96) входит множителем только в последние члены слева и справа. Поэтому

Равенство (97) показывает, что отличаются лишь постоянным множителем. Это возможно лишь в том случае, когда

Тогда

а (97) переходит в

Из (99) и (95) следует, что также отличаются лишь постоянным множителем. При этом должно быть

и

Поэтому (95) переходит в

Аналогично из (92) получим:

и

Равенство (94) даст

Сравнивая члены с производными третьего порядка в (96), получим:

Из равенства (96) мы получаем еще следующие два соотношения:

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

Собирая все соотношения, связывающие величины мы получим следующую систему уравнений:

Из последнего уравнения системы следует, что Поэтому, если нам каким-то образом удалось найти величины и то могут быть найдены последовательным исключением из следующей системы:

Найдем теперь соотношения, связывающие Возьмем восьмое, десятое и одиннадцатое уравнения системы (111) и будем рассматривать их как систему линейных алгебраических уравнений относительно Для совместности этой системы требуется:

Отсюда

или

Соотношение (115) позволит нам выразить через если и даст равенство если

Умножая восьмое уравнение на и вычтя из него девятое, получим:

Проделаем тоже самое с пятым и шестым уравнениями, а затем с шестым и седьмым. Это даст два равенства:

Умножим (117) на и вычтем из (118). Будем иметь:

Подставим сюда вместо его выражение из (116); получим:

или

Прибавим теперь к левой части (121) утроенную левую часть (115), а к скобке в правой части учетверенную левую часть (115). При этом равенство (121) перейдет в

Так как

Потребуем теперь совместности пятого, шестого, седьмого и одиннадцатого уравнений системы (111) относительно том (123). Это возможно только, если

Отсюда

Раскрывая определитель и производя некоторые сокращения, найдем еще одно соотношение, связывающее

Наконец, последнее соотношение мы получим, если потребуем совместности восьмого, девятого и одиннадцатого уравнений (121) относительно Это даст

Отсюда

и окончательно

Итак, для удовлетворения системе (111) мы сначала подбираем удовлетворяющие условиям:

а затем находим решая систему (112). Рассмотрим некоторые частные варианты формул Рунге — Кутта, имеющих порядок погрешности на одном шаге .

а) При этом Получаем формулу

где

Это одна из наиболее распространенных формул Рунге-Кутта.

б) Полагаем Тогда Получаем следующую формулу:

где

в) Полагаем Тогда При этом получаем:

где

При желании набор формул можно увеличить. Погрешность каждой из этих формул равна

где

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

Можно получить формулы, имеющие порядок ошибки но при этом придется брать 6. Получаются очень громоздкие формулы, неудобные для практики. Поэтому о них мы говорить не будем.

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

Приведем примеры на применение формул Рунге — Кутта. Будем искать решение уравнения удовлетворяющее начальному условию на отрезке Шаг вбзьмем равным 0,1.

Точным решением будет и его значения будут даны позже. Ход вычислений будет виден из таблицы. Применяется формула

(см. скан)

(см. скан)

(см. скан)

(см. скан)

(см. скан)

(см. скан)

Приведем таблицу значений с пятью верными десятичными знаками:

(см. скан)

Как мы видим, результаты получились довольно хорошие.

<< Предыдущий параграф Следующий параграф >>
Оглавление