Метод прогонки

 

При великому 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;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.009 сек.