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

§ 9. Метод прогонки

Этот метод разработан в Математическом институте им. В. А. Стеклова АН СССР. Проиллюстрируем его на примере линейного дифференциального уравнения второго порядка:

где непрерывные функции, Пусть граничные условия имеют вид

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

лишь бы было выполнено граничное условие (2). Находим решение задачи (1), (4). При этом, возможно, придется применить один из численных методов, приспособленных для решения задачи Коши.

Обозначим полученное решение через Тогда общее решение уравнения (1) можно записать в виде

где линейно независимые решения уравнения

Так как для искомого решения должно быть выполнено граничное условие (2), то должно иметь место

или

Таким образом, нам надо разыскивать все решения (6), удовлетворяющее условию

Совокупность таких решений образует однопараметрическое семейство. Чтобы получить его, достаточно задать каким-либо образом и найти решение уравнения (6), удовлетворяющее условиям:

При этом

где С подбирается так, что для выполнено (3). Это дает

Если, как мы предполагаем, задача (1), (2), (3) имеет единственное решение, то С должно определиться однозначно.

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

Отсюда

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

Метод прогонки и придуман для того, чтобы избежать этих трудностей. Суть метода состоит в следующем. Формула (11) показывает, что совокупность решений дифференциального уравнения (1), удовлетворяющих граничному условию (2), есть семейство, зависящее от одного параметра. Будем разыскивать линейное дифференциальное уравнение первого порядка вида

такое, что каждое решение (11) принадлежит к числу решений (16). Естественно, при мы должны получить условие (2), и поэтому

Так как (11) должна удовлетворять (16), то

Это тождество, выполняющееся при любом значении С. Поэтому

Дифференцируя первое из этих равенств и используя (6), получим:

или

Точно так же, дифференцируя второе из равенств (19) и используя (1), получим:

или

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

и начальным данным (17). Сначала мы интегрируем первое из уравнений (24), а затем второе. Найдя мы можем получить

Этим самым мы совершили прямую прогонку, перегнав граничное условие (2) с левого конца на правый. Равенства (25) и (3) рассматриваем как систему уравнений для определения и Уравнения (25) и (3) могут совпадать, и тогда краевая задача имеет бесчисленное множество решений, представляемых формулой (11). Они могут быть несовместны и тогда краевая задача не имеет решения. Если же система (25), (3) имеет единственное решение, то на правом конце мы получим данные Коши для уравнения (1). Но лучше использовать не уравнение (1), а уравнение (16), находя его решение на отрезке принимающее при полученное нами значение Этот процесс называют обратной прогонкой.

Исследуем теперь поведение решений уравнений (21) и (23) при прямой прогонке и уравнения (16) при обратной прогонке. Заметим, что уравнение (21) получается из уравнения (6), если произвести замену переменных

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

и подстановка этих выражений в (6) даст (21). Начальные условия для z, дающие нужное нам решение будут: При этом, будет представляться в виде отношения выражений (14) и (15), которые положительны. Если z быстро растет, то будет быстро убывать. Уравнение (23) для определения линейно и коэффициент при положителен. Следовательно, его решение, имеющее вид

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

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