Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2_ShPORA.docx
Скачиваний:
42
Добавлен:
11.05.2015
Размер:
67.83 Кб
Скачать

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

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

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

Пусть дана система:

(2 )

b1x1+c1x1 =d1

a1x1+b2x2+C2x3=d2

a3x2+b3x3+C3x4=d3

anxn-1+bnxn=dn

система (2) имеет ленточную матрицу, так называемую трех диагональную матрицу. Метод прогонки является частным случаем, метода Гаусса и состоит из прямого и обратного хода. Прямой ход состоит в исключении элементов системы матрицы (2), лежащих ниже главной диагонали:

Aij=2;n. i=2;n Для этого из 1-го уравнения выражают х1: x1=-(c1/bx)x2+d1/b1

u1= -c1/b1 , v1=d1/b1 (3) (3)

X1=U1X2+V1

и подставляют его во 2-ое уравнение вместо х1:

a2(U1X2+V1) +b2X2+C2X3=d2

(a2U1+b2)X2+C2X3=d2-a2V1

в результате, из 2-го исключается х1. Из полученного выражаем х2:

X2= - (C2/(d2U1+b2))X3+(d2-a2V1)/(a2U1+b2)

U2= -(C2/ (d2U1+b2)

V1= (d2-a2V1)/ (a2U1+b2) (4)

X2= U2x3+ v1,

полученное выражение х2 в 3 -е уравнение, чтобы исключить х2 и т.д., то на i-ом шаге исключения получим формулу:

ui ,vi- называют прогоночными коэффициентами, т.к. в результате выполнения прогонки система (2) преобразуется в к виду:

х, = UiXi-1+Vi , i=1,n (6)

Используя формулы (6) можно выполнить обратный ход прогонки , если i=n Xn=unXn-1+Vn , но un=0,. т.к. сп=0, следовательно: Xn=Vn

Обратный ход программы:

xn=Vn

xn-1 = Un-1 xn+Vn-1 xn-2 = Un-2 xn+Vn-1 (7)

x1=U1x2+V1

Систему (2) можно записать в следующем виде

aixi-1+bixi+cxi+1=di

i=1,n ai=0, Cn=0

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

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

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

Пусть дана система:

(2 )

b1x1+c1x1 =d1

a1x1+b2x2+C2x3=d2

a3x2+b3x3+C3x4=d3

anxn-1+bnxn=dn

система (2) имеет ленточную матрицу, так называемую трех диагональную матрицу. Метод прогонки является частным случаем, метода Гаусса и состоит из прямого и обратного хода. Прямой ход состоит в исключении элементов системы матрицы (2), лежащих ниже главной диагонали:

Aij=2;n. i=2;n Для этого из 1-го уравнения выражают х1: x1=-(c1/bx)x2+d1/b1

u1= -c1/b1 , v1=d1/b1 (3) (3)

X1=U1X2+V1

и подставляют его во 2-ое уравнение вместо х1:

a2(U1X2+V1) +b2X2+C2X3=d2

(a2U1+b2)X2+C2X3=d2-a2V1

в результате, из 2-го исключается х1. Из полученного выражаем х2:

X2= - (C2/(d2U1+b2))X3+(d2-a2V1)/(a2U1+b2)

U2= -(C2/ (d2U1+b2)

V1= (d2-a2V1)/ (a2U1+b2) (4)

X2= U2x3+ v1,

полученное выражение х2 в 3 -е уравнение, чтобы исключить х2 и т.д., то на i-ом шаге исключения получим формулу:

ui ,vi- называют прогоночными коэффициентами, т.к. в результате выполнения прогонки система (2) преобразуется в к виду:

х, = UiXi-1+Vi , i=1,n (6)

Используя формулы (6) можно выполнить обратный ход прогонки , если i=n Xn=unXn-1+Vn , но un=0,. т.к. сп=0, следовательно: Xn=Vn

Обратный ход программы:

xn=Vn

xn-1 = Un-1 xn+Vn-1 xn-2 = Un-2 xn+Vn-1 (7)

x1=U1x2+V1

Систему (2) можно записать в следующем виде

aixi-1+bixi+cxi+1=di

i=1,n ai=0, Cn=0

Алгоритм метода прогонки:

1)Ввести aj;bi,Ci,di . i=1,n

2)Вычислить ui,vi по формулам (5)

3)Вычислить xi по формулам (7)

4)Вычислить невязки: ri=di- aixi-1-bixi-cixi-1

5)Напечатать xi, ri (i=1,n).

Программа: INPUT n

DIM a(n),b(n),c(n),d(n),x(n+1),u(n),v(n)

FOR i=1 TO n

INPUT a(i),b(i),c(i),d(i)

NEXT

FOR i=1 TO n

Ui=- c(i)\( d(i)*u(i-1)+b(i))

Vi=( d(i)-a(i)- v(i-1))\ (d(i)*u(i-1)+b(i))

FOR i=1 TO n STEP -1

x(i)=u(i)*x(i-1) +V(i)

NEXT

FOR i=1 TO n

PRINT x(i), d(i)-a(i)*x(i-1)-b(i)*x(i)-c(i)*x(i+1)

END.

Например: Решить методом прогонки систему: г

5х1+х2=4

1-4х23=7

х2=3х3=2

Исходные данные :

a1=0 ,b1=5, c1=1 , d1=4

a2=2, b2=-4, C2=1, d2=7,

a3=1, b3=3, C3=0, d3=2,

u1=-c1/b1=-1/5

V1=d1/b1=4/5

U2=-C2/(a1+b2)=5/22

V2=(d2-a2U1)/(a2U1+b2)=-27/22

U3=0

V3= (d3-a3V2)/(a3U2+b3)=1

и обратный ход:

x3=V3=1

x2=U2x3+v2=5/22*1-27/22=-1

x1=U1x2+V1=-1/5 * (-1 )+4/5=1

Достаточное условие устойчивости прогонки (но не необходимое).

Если выполняется условие диагонального преобладания для основной матрицы системы (2):

|b1|>=|ai|+ |ci| , i=1,n ,.. то в формуле (5) не возникает деления на ноль, не происходит накопление погрешностей.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]