
Метод прогонки для краевых задач
.docxКраевые задачи для обыкновенного дифференциального уравнения 2-го порядка
Постановка
задачи. На отрезке [a,
b]
требуется найти решение уравнения
,
удовлетворяющее краевым условиям
.
Пример: .
Вопрос о разрешимости краевой задачи не имеет универсального ответа не только в общем случае, но даже для линейных уравнений.
Пример:
N.
Эта
задача имеет для каждого фиксированного
два
решения: y=0
и
y=sin
nx.
Можно привести пример краевой задачи
для линейного уравнения, не имеющей
решения.
Вопрос о разрешимости краевой задачи для нелинейного дифференциального уравнения открыт до сих пор. Для линейных дифференциальных уравнений этот вопрос решен:
1)
однородная задача
имеет не более конечного числа линейно-независимых решений;
2)
неоднородная задача
разрешима тогда и только тогда, когда f(x), A, B удовлетворяют конечному числу условий ортогональности.
В дальнейшем будем предполагать, что решение краевой задачи существует и единственно.
Существует несколько способов решения краевых задач. Рассмотрим конечно-разностный или сеточный способ.
Разобьем
промежуток [a;
b]
на n
частей узловыми точками xi=a+ih,
где
– шаг вычислений, yi=y(xi).
Построим
конечно-разностную аппроксимацию
неоднородной задачи:
.
(1.9)
с краевыми условиями:
;
.
(1.10)
Введем обозначения b0=A0·h-A1, c0=A1, d0=Ah, an=-B1, bn=B0·h +B1, dn=Bh, тогда уравнения запишутся:
b0y0+c0y1=d0 ;
anyn-1+bnyn=dn .
Для основного уравнения применим аппроксимацию
;
;
тогда пренебрегая слагаемыми второго
порядка при подстановке в уравнение,
получим:
.
Будем считать, что pi=p(xi), qi=q(xi), fi=f(xi), тогда получим:
,
обозначим
,
,
,
.
Разностная
аппроксимация для основного уравнения
запишется так.
Индекс i
меняется от 0 до n,
но при i=0
не определено
i-1,
а при i=n
не определено
i+1,
значит, основное уравнение имеет смысл
только при i=1,2,3…,
n-1.
Таким образом, получено n-1
уравнение, вместе с двумя уравнениями
аппроксимации краевых условий получится
система из n+1
уравнения,
содержащая n+1
неизвестное: y0,y1…,
yn.
Решив эту
систему, можно найти приближенные
значения функции y=y(x)
в узловых
точках, т.е. получить сеточное решение
краевой задачи (1.9)-(1.10).
Системы линейных алгебраических уравнений решают разными способами: по правилу Крамера, матричным методом через обратную матрицу, разложением матрицы на произведение двух треугольных, но самым рациональным является метод Гаусса, он требует наименьшего объема вычислений. Система, которую требуется решить, особенная – в каждом уравнении не более трех переменных. Для таких систем в 50-х гг. прошлого века советские математики предложили упрощенную схему метода Гаусса – метод прогонки.
Запишем всю систему уравнений
b0y0+c0y1
=d0;
a1y0+b1y1+c1y2 =d1;
a2y1+b2y2+c2y3= d2;
. . .
an-1yn-2+bn-1yn-1+cn-1yn=dn-1;
anyn-1+byn =dn.
Матрица такой системы состоит в основном из нулей, ненулевые элементы расположены только на главной диагонали и на двух линиях вдоль нее:
b0
c0
. . . . . . . .
a1 b1 c1 . . . . . .
.
a2
b2
c2
. . . . . . . .
.
. . . . . . .
.. . . an-1 bn-1 cn-1
. . . . . . an bn
Такие матрицы называются ленточными, или трехдиагональными. Именно для систем с такими матрицами и разработан метод прогонки. Как и метод Гаусса, он состоит из двух этапов – прямого хода и обратного хода.
Прямой ход. Из первого уравнения выразим y0 :
,
где
;
.
Подставим это выражение y0 во второе уравнение:
,
теперь оно содержит две неизвестных,
выразим y1
,
где
;
.
Подставим выражение для y1 в следующее уравнение:
и
выразим из него y2
,
где
;
.
Таким
образом, можно выразить
:
,
где
;
.
Продолжим
вычислять значения
пока не дойдем до последнего уравнения:
,
в этом уравнении всего одна неизвестная,
найдем ее значение:
.
Обратный
ход. Зная yn,
можно найти
.
Зная
,
можно найти
.
С каждым шагом узнаем значение новой
переменной, номер которой на 1 меньше
предыдущей. Так добираемся до y0.
Все переменные найдены, задача решена.
Метод прогонки решения краевых задач является методом второго порядка точности. Основное достоинство метода – устойчивость. При оценке погрешности следует применять правило двойного пересчета Рунге.