Методы конечных разностей
Достоинство этих методов состоит в том, что они сводят решение краевой задачи для дифференциального уравнения к решению системы алгебраических уравнений относительно значений искомой функции на заданном множестве точек. Это достигается заменой производных, входящих в дифференциальное уравнение, их конечно-разностными аппроксимациями.
Рассмотрим сущность такого метода решения для дифференциального уравнения второго порядка (1.41) при заданных граничных условиях (1.42). Разобьем отрезок [0,1] на n равных частей точками xi= ih(i= 0,1. , n). Решение краевой задачи (1.41), (1.42) сведем к вычислению значений сеточной функции yi в узловых точках xi. Для этого напишем уравнение (1.42) для внутренних узлов:
(1.49)
Заменим производные, входящие в эти соотношения, их конечно-разностными аппроксимациями:
(1.50)
Подставляя эти выражения в (1.49), получаем систему разностных уравнений:
(1.51)
являющуюся системой n-1 алгебраических уравнений относительно значений сеточной функции Входящие в данную систему y0 (при i = 1) и уп (при i = п — 1) берут из граничных условий (1.42):
На практике часто граничные условия задают в более общем виде (1.38):
(1.52)
В этом случае граничные условия также должны представляться в разностном виде путем аппроксимации производных Y‘(0) и Y‘(1) с помощью конечно-разностных соотношений. Если использовать односторонние разности (соответствующий шаблон показан на рис. 1.7, а),при которых производные аппроксимируются с первым порядком точности, то разностные граничные условия примут вид
(1.53)
Из этих соотношений легко находятся значения y0, yn.
Однако, как правило, предпочтительнее аппроксимировать производные, входящие в (1.52), со вторым порядком точности с помощью центральных разностей:
Рис. 1.7. Аппроксимация граничных условий
В данные выражения входят значения сеточной функции и yn+1 в так называемых фиктивных узлах х=1-hи х =1+h, лежащих вне рассматриваемого отрезка (рис. 1.7, б). В этих узлах значения искомой функции также должны быть найдены. Следовательно, количество неизвестных значений сеточной функции увеличивается на два. Для замыкания системы привлекают еще два разностных уравнения (1.51) при i = 0, i = п.
Аппроксимировать граничные условия со вторым порядком можно и иначе (см. рис. 1.7, в). В этом случае используют аппроксимации:
Таким образом, решение краевой задачи для дифференциального уравнения сведено к решению системы алгебраических уравнений вида (1.51). Эта система является линейной или нелинейной в зависимости от того, линейно или нелинейно дифференциальное уравнение (1.41). Методы решения таких систем рассмотрены ранее.
Рассмотрим подробнее один частный случай, который представляет интерес с точки зрения практических приложений и позволяет проследить процесс построения разностной схемы. Решим краевую задачу для линейного дифференциального уравнения второго порядка
(1.54)
с граничными условиями вида
Разобьем отрезок [0,1] на части с постоянным шагом h с помощью узлов . Аппроксимируем вторую производную Y²конечно-разностным соотношением (1.50). При этом значения искомой функции в узлах Y(xi) приближенно заменяем соответствующими значениями сеточной функции yi. Записывая уравнение (1.54) в каждом узле с использованием указанных аппроксимаций, получаем
Обозначим рi, fiсоответственно величины . После несложных преобразований приведем последнее равенство к виду
(1.56)
Получилась система n—1 линейных уравнений, число которых совпадает с числом неизвестных значений сеточной функции в узлах. Ее значения на концах отрезка определены граничными условиями (1.55):
Решив систему уравнений (1.56) с учетом условий (1.57), найдем значения сеточной функции, которые приближенно равны значениям искомой функции. Покажем, что такое решение существует и сходится к точному решению при h→ 0.
Для доказательства существования решения рассмотрим систему линейных уравнений (1.56). Ее матрица является трехдиагональной; на главной диагонали находятся элементы . Поскольку р(х) > 0, то pi > 0, и диагональные элементы матрицы преобладают над остальными, так как в каждой строке модули этих элементов больше суммы модулей двух остальных элементов, каждый из которых равен единице. При выполнении этого условия решение системы линейных уравнений существует и единственно.
Что касается сходимости решения, то здесь имеет место следующее утверждение.
Утверждение. Если функции р(х) и f(x) дважды непрерывно дифференцируемы, то при h→0 разностное решение равномерно сходится к точному со скоростью O(h2).
Это — достаточное условие сходимости метода конечных разностей для краевой задачи (1.54), (1.55).
Система линейных алгебраических уравнений (1.56) с трехдиагональной матрицей может быть решена методом прогонки. При этом условие р(х) > 0 гарантирует выполнение условия устойчивости прогонки.
Этот метод на практике используется также и при р(х) Будет полезно почитать по теме: