Метод конечных разностей или метод сеток (работа 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) с погрешностью > >.
Заметим, что условия, приводимые в теоремах, являются достаточными, а отнюдь не необходимыми. Поэтому в практике численных расчетов нарушение этих условий обычно не вызывает заметного ухудшения расчетных схем.