Метод конечных разностей или метод сеток (работа 2)
Метод конечных разностей, или метод сеток
Рассмотрим линейную краевую задачу
>>
(2.24)
>>
(2.25)
>>,
где >
>,
>
>,
и
>
>
непрерывны на [a, b].
Разобьем отрезок [a, b] на n равных частей длины, или шага
>>.
Точки разбиения
>>, >
>
называются
узлами,
а их совокупность – сеткой на
отрезке [a, b].
Значения в узлах искомой функции >
> и
ее производных
>
> >
> обозначим
соответственно через
>>.
Введем обозначения
>>
Заменим производные так называемыми односторонними конечно-разностными отношениями:
>>(2.26)
Формулы (2.26) приближенно выражают значения производных во внутренних точках интервала [a, b].
Для граничных точек положим
>>.
(2.27)
Используя
формулы (2.26), дифференциальное уравнение
(2.24) при >>,
(i=1,
2,..., n–1)
приближенно можно заменить линейной
системой уравнений
>>
(2.28)
Кроме того, в силу формул (2.27) краевые условия (2.25) дополнительно дают еще два уравнения:
>>.
(2.29)
Таким образом,
получена линейная система
n+1
уравнений
с n+1
неизвестными >>,
представляющими собой значения искомой
функции >
> в
узлах сетки. Система уравнений (2.28),
(2.29), заменяющая приближенно дифференциальную
краевую задачу
(2.24),
(2.25)
обычно
называется разностной
схемой.
Решить эту систему можно каким-либо
общим численным методом. Однако схема
(2.28), (2.29) имеет специфический вид и ее
можно эффективно решить специальным
методом, называемым методом прогонки.
Специфичность системы заключается в
том, что уравнения ее содержат три
соседних неизвестных и матрица этой
системы является трехдиагональной.
Преобразуем уравнения (2.28):
>>.
(2.30)
Введя обозначения
>>
получим
>>,
(i=0,
1,..., n-2).
(2.31)
Краевые условия по-прежнему запишем в виде
>>.
(2.32)
Метод прогонки состоит в следующем.
Разрешим
уравнение (2.31) относительно >>:
>>.
(2.33)
Предположим,
что с помощью полной системы (2.31) из
уравнения исключен член, содержащий>>.
Тогда уравнение (2.33) может быть записано
в виде
>>,
(2.34)
где
>
> и
>
> должны
быть определены. Найдем формулы для
этих коэффициентов. При i=0
из формулы (2.33) и краевых условий (2.32)
следует, что
>>
Исключая из этих
двух уравнений >>,
найдем
>>.
Выразим
теперь отсюда >>:
>>
(2.35)
Но, согласно формуле (2.34),
>>
(2.36)
Сравнивая теперь (2.35) и (2.36), найдем, что
>>
(2.37)
Пусть теперь
i >0,
то есть i=1,
2,..., n–2.
Выражая >> по
формуле (2.34), получим:
>>.
Подставляя это в формулу (2.33), будем иметь
>>.
Разрешая
полученное уравнение относительно>>,
находим
>>,
или
>>.
(2.38)
Отсюда,
сравнивая формулы (2.34) и (2.38), получаем
для коэффициентов
>
>
и >
>
рекуррентные формулы:
>>
(2.39)
Так как
>
> и
>
> уже
определены по формулам (2.37), то, используя
формулы (2.39), можно последовательно
определить коэффициенты
>
> и
>
> до
>
> и
>
> включительно.
Эти вычисления называются прямым
ходом метода
прогонки.
Из формулы (2.33) при i=n–2 и второго краевого условия (2.32) получаем
>>
Разрешая эту
систему относительно>>,
будем иметь
>>.
(2.40)
Теперь,
используя (2.34) и первое краевое условие
(2.32), мы можем последовательно найти >
>.
Это − обратный
ход метода
прогонки.
Итак, получаем следующую цепочку:
>>
(2.41)
Для простейших
краевых условий >>
формулы для
>
>
и >
> упрощаются.
Полагая в этом случае >
>из
формул (2.37), (2.40), (2.41) будем иметь
>>
Рассмотренный нами подход сводит линейную краевую задачу к системе линейных алгебраических уравнений. При этом возникает три вопроса.
1) Существует ли решение алгебраической системы типа (2.31)?
2) Как фактически находить это решение?
3) Сходится ли разностное решение к точному при стремлении шага сетки к 0?
Можно доказать, что если краевая задача имеет вид
>>
причем р(x)>0, то решение системы (2.31), (2.32) существует и единственно. Фактическое отыскание решения можно провести, например, методом прогонки. На третий вопрос дает ответ следующая
Теорема
Если >>
и >
> дважды
непрерывно дифференцируемы,
то разностное решение, соответствующее
схеме с заменой
>>
равномерно
сходится к точному с
погрешностью >
> при
>
>
Таким образом, схема (2.28), (2.29) дает приближенное решение краевой задачи, но точность ее весьма мала. Это связано с тем, что аппроксимация производной
>>
имеет низкий порядок точности − погрешность этой аппроксимации
>>
Более точную разностную схему можно получить, если при переходе от линейной краевой задачи к конечно-разностным уравнениям воспользоваться центральными формулами для производных:
>>,
(2.42)
>>,
(2.43)
i=1, 2,..., n.
Погрешность формулы (2.42) выражается так:
>>
то есть формула (2.42) имеет второй порядок точности относительно шага сетки h. Подставляя выражения (2.42), (2.43) в задачу (2.24), (2.25) и выполняя некоторые преобразования, получим следующую систему:
(2.44)
Где
>
>.
Система (2.44) снова трехдиагональная и ее решение также можно получить методом прогонки. Его алгоритм здесь будет выглядеть так. Сначала находят коэффициенты
(2.45)
Затем
определяют коэффициенты >> по
следующим рекуррентным формулам:
(2.46)
Обратный ход
начинается с нахождения >>:
(2.47)
После этого
находим >
>
по формулам:
>>,
(2.48)
>>.
(2.49)
Относительно схемы (2.44) можно также доказать, что она имеет единственное решение при
>>
и>
>>
>,
и это решение может быть найдено описанным методом прогонки. Кроме того, для схемы (2.44) имеет место
Теорема
Пусть решение граничной задачи (2.24), (2.25) единственно и непрерывно дифференцируемо на [a, b] до четвертого порядка точности включительно. Если выполняются условия
>>, >
>, >
>
то
схема (2.44) будет
равномерно сходиться к решению
задачи (2.24),
(2.25) с
погрешностью >
>.
Заметим, что условия, приводимые в теоремах, являются достаточными, а отнюдь не необходимыми. Поэтому в практике численных расчетов нарушение этих условий обычно не вызывает заметного ухудшения расчетных схем.