Лекция 11: Численное решение краевых задач для систем обыкновенных дифференциальных уравнений
10.4. Пятиточечная прогонка
При численном решении краевых задач для обыкновенных дифференциальных уравнений 4 - го порядка возникают СЛАУ с пятидиагональной матрицей вида:
c0u0 - d0u1 + e0u2 = f0, - b1 u0 + c1 u1 - d1 u2 + e1 u3 = f1, anun - 2 - bnun - 1 + cnun - dnun + 1 + enun + 2 = fn, n = 2, ... , N - 2, aN - 1 uN - 3 - bN - 1 uN - 2 + cN - 1 uN - 1 - dN - 1 un = fN - 1, an uN - 2 - bn uN - 1 + cn un = fn .
Алгоритм решения таких систем — пятиточечная прогонка, формулы которой выводятся аналогично формулам для трехточечной прогонки. Приведем их окончательный вид. В прогоночном соотношении появятся три коэффициента (p, q, r):
un = pn + 1 un + 1 - qn + 1un + 2 + rn + 1, uN - 1 = pn un + rn, un = rN + 1.
Прогоночные коэффициенты находятся по формулам
Достаточными условиями устойчивости пятиточечной прогонки являются диагональное преобразование и неравенства
10.5. Матричная прогонка
Представим прогоночные соотношения для системы уравнений второго порядка
- B0u0 - C0u1 = D0, Anun - 1 - Bnun + Cnun + 1 = Dn, n = 1, 2, 3, ..., N - 1, An{u} - Bnun = Dn,
где un и Dn — векторы, Cn, An, Bn — матрицы.
Обратный ход прогонки выполняется в соответствии с формулами
un = Pn + 1un + 1 + qn + 1, un = qN+ 1.
Здесь Pn + 1 — матрица, qn + 1 — вектор.
Окончательный вид формул для прямого хода матричной прогонки будет
Этот алгоритм называется методом матричной прогонки. Можно показать, что алгоритм матричной прогонки устойчив, если || Pn || < 1 для ; матрицы B_0 и (Bn - AnPn) невырождены.
10.6. Численное решение нелинейных краевых задач
10.6.1. Метод стрельбы
Рассмотрим систему нелинейных ОДУ:
Введем пока неизвестный вектор размерности n такой, что
и решим соответствующую задачу Коши, например, методом Рунге - Кутты; получим решение Используя краевые условия, получаем нелинейную систему алгебраических уравнений
которая решается численно методом Ньютона или простых итераций. Отметим, что левая часть данной системы при использовании метода стрельбы задается не в виде функции, а алгоритмически — процедурой вычисления значений функции на правом краю отрезка интегрирования как решения соответствующей нелинейной задачи Коши!