Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава6 (149-179).doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
591.36 Кб
Скачать

6.7.1 Конечно-разностные методы

Применение конечно-разностных методов к краевым задачам в основном сводится к довольно тривиальной процедуре. Любая производная в дифференциальном уравнении заменяется соответствующей конечно-разностной аппроксимацией.

Рассмотрим, например, линейное дифференциальное уравнение вида

y'' + p(x)y' +q(x)y = f(x), a < x < b (6.20)

с граничными условиями

x=a: 1y(a) +1y'(a)=1; (6.21)

x=b: 2y(b) +2y'(b)=2. (6.22)

Введем на отрезке [a, b] разностную сетку a = x0, x1, x2,…, xN = b с шагом .

В каждой внутренней точке заменим производные центральными разностями (аппроксимация порядка O(h2)). Получаем систему разностных уравнений:

(6.23)

k=1, 2, … ,N–1.

Построим разностную аппроксимацию краевых условий со вторым порядком точности. Для этого разложим y1 в ряд Тейлора в окрестности точки x0:

Отсюда .

Аналогично для точки xN-1.

.

Разностные уравнения (6.2) вместе с граничными соотношениями составляют систему из N+1 линейных алгебраических уравнений с N+1 переменной y0, y1, …, yN.

y 0 + 1y1 = 1;

akyk1 + ckyk + bkyk+1 = dk; k=1…N1; (6.24)

2yN–1 + yN = 2;

где ak = 1 – pk; ck = h2qk2; bk = 1 + pk; dk = h2fk.

Или в развернутом виде:

Таким образом, краевая задача сводится к решению системы уравнений c трехдиагональной матрицей:

Ay = d.

Мы уже знаем, что для решения СЛАУ с трехдиагональной матрицей используется метод прогонки. Известно, что для устойчивости прогонки необходимо диагональное доминирование матрицы коэффициентов, т.е.

|ck| |ak| + |bk|; 1 |1|; 1 |2|

или в нашем случае

| h2qk – 2| |1–hpk /2| + |1+hpk /2|.

Из этого соотношения можно получить ограничение на шаг для конкретных значений qk, pk.

Сходимость же решения (и область сходимости) необходимо исследовать особо. Или – другой путь. Провести расчет для разных значений шага (не менее трех) и убедиться в том, что полученные значения функции в одних и тех же узлах близки между собой и их разность уменьшается, что говорит о стремлении решения к некоторому пределу при h0.

Если же краевая задача нелинейная (нелинейно уравнение и/или граничные условия), то в результате применения конечно-разностного метода получается система нелинейных уравнений

A(x,y)y = d(x,y) или F(y) = 0.

Для решения систем нелинейных уравнений используются в основном итерационные способы, например метод Ньютона:

y(m+1) = y(m)F(y(m))/F(y(m)),

где F(y(m)) – матрица Якоби.

6.7.2 Метод стрельбы

Суть метода стрельбы заключается в сведении решения краевой задачи к решению задач Коши.

Рассмотрим его применение на примере той же задачи (6.20).

Обозначим z(x)=y.Получаем краевую задачу для системы из двух дифференциальных уравнений первого порядка:

(6.25)

Зададим произвольно еще одно условие, например, на левой границе: y(a)=.

Тогда .

Следовательно, мы можем начать решение задачи Коши для системы из двух уравнений. Решаем каким-либо из известных нам методов, например, методом Рунге-Кутта и находим решение в точке x=b. Естественно, это решение получилось у нас зависящим от : yN(), zN(). Более того, это решение должно удовлетворять правому граничному условию (при x=b), т.е. необходимо, чтобы

2yN() + 2zN() = 2 или F() = 0. (6.26)

Таким образом, наша задача свелась к поэтапному улучшению первоначальной оценки граничного условия y(a) = до тех пор, пока условие (6.26) не выполнится, т.е. к «пристрелке».

В общем случае уравнение (6.26) нелинейно и решается относительно любым из известных способов решения нелинейных уравнений (итераций, Ньютона, половинного деления и т.п.). Функция F() в явном виде неизвестна, однако ее значение можно вычислить для любого заданного путем решения задачи Коши.

Таким образом, процесс реализации метода стрельбы можно разбить на три этапа:

  1. подбор хорошего начального приближения для ;

  2. нахождение эффективного метода вычисления F();

  3. выбор соответствующего итерационного метода для решения уравнения F()=0.

Если система уравнений (6.25) содержит больше двух уравнений, то недостающих условий на каком-либо конце отрезка интегрирования будет больше, чем одно.

(6.27)

В этом случае поступают аналогичным образом.

Во-первых, выбирают границу с большим числом заданных граничных условий, пусть это будет x=a, а недостающие задают произвольным образом: yi(a)=i, i=k+1,…,n.

Во-вторых, решают задачу Коши и находят

, j=1,…, n.

Теперь на правой границе необходимо решать систему нелинейных (в общем случае) уравнений

или F() = 0 (6.28)

для нахождения необходимых значений i. Эта задача также решается одним из известных методов (метод Ньютона, методы спуска).

Решение задачи Коши, при котором выполнится (6.28), и будет решением краевой задачи.

Отметим еще следующее. «Пристрелку» можно вести и с двух концов одновременно, задавая произвольным образом недостающие граничные условия на обоих концах отрезка и решая задачу Коши одновременно с двух сторон (из точки х=а и x=b). Некоторая точка встречи решений называется точкой сшивания (x=xm). В этой точке должны выполняться условия сшивания:

F() yi(a, xm, ) – yi(b, xm, ) = 0.

Правильный выбор положения точки xm позволяет преодолеть некоторые трудности, которые возникают в процессе практического интегрирования уравнений.

Если система дифференциальных уравнений неустойчива в одном направлении, то можно проводить интегрирование в противоположном направлении, выбрав в качестве точки сшивания соответствующий конец отрезка. Если система неустойчива в обоих направлениях, то влияние неустойчивости можно минимизировать, смещая точку сшивания к середине отрезка интегрирования.

Отметим также, что метод стрельбы малопригоден, если имеется сильная зависимость функции F() от начального значения . В этом случае следует очень точно определять это начальное значение, что не всегда возможно.