Метод прогонки
При великому n безпосереднї рішення систем (6.5) або (6.7) стаї дуже
нагромадженним. Для рішення систем такого виду було розроблено спеціальний метод, який отримав назву метода прогонки.
Нехай маємо систему (6.5). Розглянемо перше n-1 рівняння
(Yi+2 - 2Yi+1 + Yi) / h2 + Pi ( Yi+1 - Yi ) / h + gi.Yi=Fi;
(i=1,2,...,n-1)
Переобразовуючи , отримуємо:
Yi+2+(-2+h.Pi)Yi+1+(1-h.Pi+h 2.gi)Yi=h2 .Fi (6.10)
Введемо позначення :
Mi=-2+h.Pi; Ki=1-h.Pi+h 2.gi, (i=0,1,2,...,n-2) (6.11)
Тоді (6.10) замінюємо в виді:
Yi+2+Mi.Yi+1+Ki.Yi=h 2.Fi (6.12)
Розв'язавши (6.12) відносно Yi+1, одержимо:
Yi+1 = h 2.Fi / Mi - Yi+2 / Mi - K i.Yi / Mi (6.13)
Нетяжко впевнитися в тому, що, вийнявши Yi із (6.13) з допомогою крайових умов системи (6.5) , одержимо це рівняння в виді:
Yi+1=Ci(Di-Yi+2) (i=0,1,2,...,n-2) (6.14)
де Ci,di- деякі коефіціїнти.
Нехай, наприклад, i=0; тоді (6.13) прийме вид:
Y1 = h 2.F1 / M0 - Y2 / M0 - K 0.Y0 / M0 (6.15)
Із крайової умови A0.Y0+A1 (Y1 - Y0) / h =A найдемо Y0:
Y0 = A.h /(A0 - h) - A1 .Y1 /(A0 h - A1 )
і підставимо його в (6.15). Після преобразовувань одержимо :
Y1 = [( + h2 .F0 ) - Y2]
Позначимо:
C0 = ; D0 = + h2 .F0 (6.16)
Із (6.14) можна записати:
Yi=Ci-1(Di-1-Yi+1)
Підставляючи цей вираз в (6.12), одержимо :
Yi+2+Mi.Yi+1+Ki.Ci-1(Di-1-Yi+1)=h2 .Fi
Звідкіля:
Yi+1= [(h2 .Fi-Ki.Ci-1.Di-1)-Yi+2] / (Mi-Ki.Ci-1) (6.17)
Зрівнюючи (6.14) і (6.17), одержимо для знаходження Ci і Di рекурентні формули:
Ci=1 / (Mi-Ki.Ci-1) ; Di = h2 .Fi-Ki.Ci-1.Di-1 (6.18)
де i=1,2,...,n-2; Ci, Di- прогоночні коефіціїнти.
Метод прогонки полягає з двох етапів: прямого і зворотнього ходу.
На першому етапі (прямий хід) на основі (6.16) знаходжуються коефіціїнти
C0 і D0. Після цього, послідовно використовуючи рекурентні формули (6.18)
одержують значення Ci і Di (i=1,2,...,n-2).
Другий етап (зворотний хід) починається з знаходження Yn . Використовуючи другу крайову умову (6.5) і формулу (6.14) при і=п-2, запишимо систему
двох рівнянь:
B0 Yn + B1 (Yn -Yn-1 ) = B;
(6.19)
Yn-1 = Cn-2 (Dn-2 - Yn )
Розв'язавши цю систему відносно Yn, одержимо:
Yn-1 = (B1.Cn-2.Dn-2 + B.h) / [B1(1 + Cn-2) + BO.h] (6.20)
Підставивши в (6.20) уже знайдені прямим ходом Сп-2,Dn-2,знаходимо Yn.
Після цього обчислюють Yn-1,Yn-2,Yn-3,...,Y1,послідовно використовуючи рекурентну формулу (6.14):
Yn-1 = Cn-2(Dn-2 - Yn);
Yn-2 = Cn-3(Dn-3 - Yn-1);
. . . . . . . . . . . . . . (6.21)
Y1 = C0(D0 - Y2) ;
Значення Y0 знаходимо по формулі,яка була одержана з першої крайової
умови (6.5) :
Y0 = (A1.Y1 - A.h) / (A1 - A0.h) (6.22)
6.4. Алгоритм рішення крайової задачі методом прогонки
1. Обирається h і знаходяться узлові точки Xi;
2. В узлових точках знаходяться коефіціїнти Мі,Кі і Fi (при необхідності);
3. Знаходяться по (6.16) прогоночні коефіціїнти в початковій точці Со і Do;
4. По (6.18) розраховуються прогоночні коефіціїнти Ci i Di ;
5. По (6.20) знаходиться значення Yn ;
6. Використовуючи формули (6.21) або (6.14) послідовно обчислюють значення
Yn-1,Yn-2,..,Y1.
7. Значення Yo знаходиться по (6.22).
8. Для перевірки точності рішення величина кроку змінюється вдвічі і алгоритм повторюється, починаючи з п.1;
9. Оцінюється точність знайденого рішення способом зрівняння значень Yi i
Yi.Якщо знайдена похибка задовольняє заданій точності,то рішення завершу-
ється.Інакшке обчислювання повторюються з іще зменьшеним вдвічи кроком.
Дата добавления: 2015-08-26; просмотров: 552;