Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

8510

.pdf
Скачиваний:
0
Добавлен:
25.11.2023
Размер:
1.67 Mб
Скачать

 

 

 

 

40

 

 

 

Обратный ход.

Из

последнего

уравнения системы

находим

x4 0,5.

Подставляя

значение

x4

в

третье уравнение,

находим

x3 (4,9 5,4x4 ) /( 4,4)

0,5.

Продолжая далее обратную подстановку,

получаем

x2 (1,5 3x3 4x4 ) /( 2)

1,

x1

(25 6x2 2x3) /10 2 . Итак,

x1 2, x2

1, x3 0,5, x4 0,5.

 

 

 

 

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

Метод прогонки является одним из эффективных методов решения СЛАУ с трехдиагональными матрицами, возникающих при конечно-

разностной аппроксимации задач для обыкновенных дифференциальных уравнений (ОДУ) и уравнений в частных производных второго порядка, и

является частным случаем метода Гаусса.

Рассмотрим следующую СЛАУ:

a1 0

 

 

 

 

 

 

 

 

 

 

b1x1 c1x2 d1,

 

 

 

 

 

a

2

x b x

2

c

2

x d

2

,

 

 

1

2

 

 

3

 

 

 

 

 

 

a3 x2 b3 x3

c3 x4 d3 ,

(4.14)

 

 

 

...........................................

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

an 1xn 2 bn 1xn 1 cn 1xn dn 1,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

an xn 1 bn dn ,

cn 0,

 

 

 

 

 

 

 

 

 

решение которой будем искать в виде:

xi Ai xi 1 Bi , i 1, n, (4.15)

где Ai , Bi , i 1, n , – прогоночные коэффициенты. Для их определения вы-

разим из первого уравнения СЛАУ (2.14) x1 через x2 . Получим:

x c1

x

 

 

d1

 

A x

 

B

,

(4.16)

2

 

2

1

b1

 

 

1

1

 

 

 

 

 

 

b1

 

 

 

 

откуда

 

 

 

 

 

 

 

 

 

 

 

 

A c1

,

 

B

d1

.

 

 

 

 

 

 

 

 

 

 

1

b1

 

 

1

 

 

b1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

41

Из второго уравнения СЛАУ (4.14) с помощью (4.16) выразим x2

через x3

x

 

 

 

 

c2

 

x

d2 a2 B1

A x B ,

2

 

 

 

 

 

 

 

b2

a2 A1

3

 

 

2

3

2

 

 

 

 

 

 

b2 a2 A1

 

 

откуда

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

c2

 

,

B

d2 a2 B1

.

 

 

 

 

 

 

 

 

 

 

2

 

 

b2 a2 A1

 

 

2

b2 a2 A1

 

 

 

 

 

 

 

 

 

 

 

 

Продолжая этот процесс, получим из i-го уравнения СЛАУ (2.14):

 

 

 

 

x

 

ci

 

 

 

x

 

 

 

di ai Bi 1

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

bi ai Ai 1

 

i 1

 

 

 

bi ai Ai 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Следовательно,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

ci

 

 

, B

di ai Bi 1

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

bi ai Ai 1

 

 

 

i

 

 

 

bi ai Ai 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Из последнего уравнения СЛАУ имеем:

 

 

 

 

 

x

 

 

 

cn

 

 

x

n 1

 

dn an Bn 1

0 x

n 1

B ,

n

 

 

 

 

 

 

 

 

 

bn an An 1

 

 

 

bn an An 1

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

т.е.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A 0 (т.к. с

 

 

0),

 

B

 

 

dn an Bn 1

 

x

 

.

 

 

т

 

n

 

 

n

 

 

 

n

 

 

 

 

 

 

 

 

bn an An 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таким образом, прямой ход метода прогонки по определению про-

 

 

 

 

 

 

 

 

 

гоночных коэффициентов Ai , Bi ,

i

1, n

завершен. Прогоночные коэффи-

циенты вычисляются по следующим формулам:

 

 

 

 

 

 

 

ci

 

 

 

 

 

di ai Bi 1

 

 

 

 

 

 

A

 

 

,

B

,

i

2, n 1;

(4.17)

 

 

 

 

 

i

bi

ai Ai 1

 

 

i

 

 

bi ai Ai 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A c1 , B

 

d1

, так как a

0, i 1;

(4.18)

 

1

 

b1

 

1

 

b1

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A 0 (т.к. с

 

0),

 

B

 

 

 

dn an Bn 1

,

i n.

(4.19)

т

 

n

 

n

 

 

 

 

 

 

 

 

 

 

bn an An 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

42

Обратный ход метода прогонки осуществляется в соответствии с выражением (4.15):

xn An xn 1 Bn 0 xn 1 Bn Bn ,

 

x

n 1

A

1

x

n

B

n 1

,

 

 

 

n

 

 

 

 

 

 

 

An 2 xn 1 Bn 2 ,

 

xn 2

(4.20)

...................................................

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

A x

2

B .

 

 

 

1

 

1

 

 

 

1

 

 

 

Формулы (4.17)–(4.20) – формулы правой прогонки.

Аналогично, начиная с последнего уравнения СЛАУ (4.14) выво-

дятся формулы левой прогонки.

Общее число операций в методе прогонки равно 8n 1, т.е. пропор-

ционально числу уравнений. Такие методы решения СЛАУ называют эко-

номичными.

Для устойчивости метода прогонки (4.17)–(4.20) достаточно выпол-

нения следующих условий:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bi

 

ai

 

ci

, i

1, n

,

ai 0,

i

2, n

,

ci 0,

i

1, n 1,

(4.21)

причем строгое неравенство имеет место хотя бы при одном i. Устойчи-

вость понимается в смысле накопления погрешности вектора неизвестных оператором прогонки при малых погрешностях входных данных (правых частей и элементов матрицы СЛАУ).

Обоснование метода прогонки

Метод прогонки содержит операцию деления и, следовательно,

возможно накопление ошибок при увеличении числа уравнений в СЛАУ

(4.14). Поэтому необходимо гарантировать корректность, т.е. выполнение условия:

 

 

 

bi ai Ai 1 0,

i

1, n

(4.22)

43

и устойчивость, т.е. ненакопление ошибок при увеличении числа уравне-

ний СЛАУ (4.14).Пусть прогоночные коэффициенты Ai , Bi ,

i

1, n

вы-

числены точно, а при вычислении xn допущена ошибка n :

xˆn xn n .

Тогда из (4.20) получим следующие равенства:

 

 

 

xˆi

Ai xˆi 1

Bi ,

i n 1,...,1,

 

 

 

xi

Ai xi 1

Bi ,

i n 1,...,1.

 

 

 

Вычитая из первого равенства второе, получим:

i Ai i 1,

i n 1,...,1,

т.е. если выполняются условия:

 

 

Ai 1,

i 1, n,

(4.23)

то алгоритм метода прогонки не накапливает ошибок и является устойчи-

вым.

Для корректности и устойчивости метода прогонки, т.е. для реали-

зации неравенств (4.22), (4.23), существует следующая лемма.

Лемма (достаточное условие корректности и устойчивости метода прогонки):

Пусть коэффициенты СЛАУ (4.14) удовлетворяют условиям:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ai

0,

 

 

 

bi

0,

 

 

ci

0,

i

1, n

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bi

 

ai

 

ci

,

 

i

2, n 1,

(4.24)

 

 

 

b1

 

 

 

c1

 

,

 

bn

 

 

 

an

 

,

(4.25)

 

 

 

 

 

 

 

 

 

 

причем хотя бы в одном из неравенств (4.24) или(4.25) выполняется стро-

гое неравенство, т.е. матрица СЛАУ (4.14) имеет диагональное преоблада-

ние. Тогда имеют место неравенства (4.22) и (4.23), гарантирующие кор-

ректность и устойчивость метода прогонки.

44

4.2.Итерационные методы решения систем линейных алгебраических уравнений.

4.2.1.Метод простой итерации (метод Якоби)

Для того чтобы применить метод простой итерации к решению сис-

темы линейных алгебраических уравнений

Ax b

(4.26)

с квадратной невырожденной матрицей A ,

необходимо предварительно

преобразовать эту систему к виду

 

x Bx c .

(4.27)

Здесь B – квадратная матрица с элементами bij (i, j 1,2,...,m) , с – вектор-столбец с элементами ci (i 1,2,...,m) .

В развернутой форме записи система (4.15) имеет следующий вид:

x1 b11 x1 b12 x2 b13 x3 ...

b1m xm c1 ,

 

 

x2 b21 x1 b22 x2 b23 x3 ...

b2m xm c2

,

(4.28)

..........................................................

 

 

 

xm bm1 x1 bm2 x2 bm3 x3

... bmm xm cm .

 

Вообще говоря, операция приведения системы к виду, удобному для итерации [т.е. к виду (4.27)], не является простой и требует специаль-

ных знаний, а также существенного использования специфики системы. В

некоторых случаях в таком преобразовании нет необходимости, так как сама исходная система уже имеет вид (4.27).

Самый простой способ приведения системы к виду, удобному для итерации, состоит в следующем. Из первого уравнения системы (4.26) вы-

разим неизвестное x1 :

x1 a111 (b1 a12 x2 a13 x3 ... a1m xm ),

из второго уравнения – неизвестное x2 :

x2 a221 (b2 a21x1 a23 x3 ... a2m xm ),

45

и т.д. В результате получим систему:

x1

b12 x2 b13 x3 ...

b1,m 1 xm 1 b1m xm

x2 b21 x1

b23 x3 ...

b2,m 1xm 1 b2m xm

x3 b31 x1 b32 x2

...

b3,m 1 xm 1 b3m xm

..........................................................

xm bm1 x1 bm2 x2 bm3 x3 ...

bm,m 1xm 1

c1,

c2 ,

c3 , (4.29)

cm ,

в которой на главной диагонали матрицы B находятся нулевые элементы.

Остальные элементы выражаются по формулам:

bij aij / aii , ci bi / aii (i, j 1,2,...,m, j i) .

(4.30)

Конечно, для возможности выполнения указанного преобразования

необходимо, чтобы диагональные элементы матрицы A были ненулевыми.

Часто систему (4.26) преобразуют к виду: x x (Ax b) , где –

специально выбираемый числовой параметр.

Выберем начальное приближение x(0) (x1(0) , x2(0) ,...,xm(0) ) . Под-

ставляя его в правую часть системы (4.27) и вычисляя полученное выраже-

ние, находим первое приближение:

 

 

 

 

 

 

x(1) Bx(0)

c .

 

 

 

 

 

 

 

 

 

 

 

Продолжая

этот

процесс

 

 

далее,

 

 

получим

последовательность

x(0) , x(1) ,...,x(n) ,... приближений, вычисляемых по формуле:

 

 

 

 

 

 

 

x(k 1)

Bx(k)

c, k 0,1,2,... .

 

 

 

 

 

 

 

 

 

 

(4.31)

В развернутой форме записи формула (4.27) выглядит так:

 

 

 

 

x (k 1)

b

 

x(k ) b

 

 

x(k ) b

 

 

x(k ) ... b

 

 

x(k ) c ,

 

 

 

1

11

1

12

 

 

2

13

 

3

1m

 

m

 

1

 

 

 

 

x (k 1)

b

 

x(k ) b

 

 

 

x (k ) b

 

 

 

x(k ) ... b

 

 

 

x (k )

c

 

,

(4.32)

2

 

21 1

 

22

 

2

23

 

3

 

2m

m

 

2

 

 

.........................................................................

 

 

 

 

 

x (k 1)

b

 

x(k ) b

m2

x (k ) b

m3

x(k ) ... b

m m

x(k ) c

m

.

m

 

m1 1

 

 

 

2

 

3

 

 

m

 

 

 

 

46

В случае, когда для итераций используется система (4.29) с коэф-

фициентами, вычисленными по формулам (4.30), метод простой итерации принято называть методом Якоби.

Сходимость метода простой итерации.

Теорема. Пусть выполнено условие

B

 

 

 

1.

(4.33)

 

 

 

 

 

 

 

 

Тогда:

решение x системы (4.27) существует и единственно;

при произвольном начальном приближении x (0) метод про-

стой итерации сходится и справедлива оценка погрешности

x(n) x

 

 

 

 

 

B

 

 

 

n

 

x(0) x

 

.

(4.34)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Апостериорная оценка погрешности

Если выполнено условие (4.33), то справедлива апостериорная

оценка погрешности:

x(n) x

 

 

 

 

B

 

 

 

 

 

 

 

 

x(n) x(n 1)

 

 

 

(4.35)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если требуется найти решение с точностью , то в силу (4.35) сле-

дует вести итерации до выполнения неравенства:

 

B

 

 

 

 

 

 

 

x(n) x(n 1)

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таким образом, в качестве критерия окончания итерационного про-

цесса может быть использовано неравенство:

x(n) x(n 1)

 

 

1

,

1

 

1

 

 

 

B

 

 

 

 

.

(4.36)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пример. Методом простой итерации (Якоби) найти решение сле-

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

вие удовлетворения найденного решения исходной системе:

 

 

47

 

6,25x1

x2

0,5x3

7,5,

x1

5x2

2,12x3 8,68,

0,5x1

2,12x2

3,6x3

- 0,24.

Решение.

Для того чтобы применить метод простой итерации к решению сис-

темы линейных алгебраических уравнений с квадратной матрицей необхо-

димо сначала преобразовать эту систему к виду, удобному для итераций.

Самый легкий способ состоит в следующем.

Из первого уравнения системы выразим неизвестное x1 :

x1 6,251 (7,5 x2 0,5x3 7,5) ,

из второго уравнения – неизвестное x2 :

x2 15 (x1 2,12x3 8,68) ,

и из третьего – неизвестное x3 :

x3 31,6 ( 0,5x1 2,12x2 0,24) .

Вычисляя коэффициенты, приведем систему к виду:

x1 0,16x2 0,08x3 1,2, x2 0,2x1 0,424x3 1,736,

x3 0,1389x1 0,5889x2 0,24.

В последнем уравнении коэффициенты даны с точностью до по-

грешности округления. Выберем начальное приближение:

x1(0) 0, x2(0) 0, x3(0) 0.

Подставляя его в правую часть системы и вычисляя полученное вы-

ражение, находим первое приближение:

48

x1(1) 1,2,

x2(1) 1,736, x3(1) 0,24.

Подставляя найденные неизвестные в исходную систему, убедимся,

что они не являются корнями данных уравнений. Действительно, 6,25 1,2 1,736 0,5 0,24 9,116 7,5,1,2 5 1,736 2,12 0,24 10,3888 8.68,

0,5 1,2 2,12 1,736 3,6 0,24 3,944 0,24.

Подставляя приближение x(1) в правую часть преобразованной сис-

темы, получаем x(2) :

x1(2) 0,9276, x2(2) 1,4677, x3(2) 0,0667.

Подставляя найденные неизвестные в исходную систему, убедимся,

что они не являются корнями:

6,25 0,9276 1,4677 0,5 0,0667 7,4411 7,5,0,9276 5 1,4677 2,12 0,0667 8,4075 8.68,

0,5 0,9276 2,12 1,4677 3,6 0,0667 2,8878 0,24.

Таким образом, продолжая этот процесс далее, получим последова-

тельность x(0) , x(1) ,...,x(n) приближений, вычисляемых по формулам:

x(k 1)

0,16x(k )

0,08x(k ) 1,2,

1

2

 

3

x(k 1)

0,2x(k ) 0,424x(k ) 1,2,

2

1

 

3

x(k 1)

0,1389x(k ) 0,5889x(k ) 0,0667.

3

 

1

2

Итак, если мы приняли за начальное приближение вектор

x1(0) 0, x2(0) 0, x3(0) 0

49

и будем вести итерации по формулам, представленным выше, до выполне-

ния равенств в исходной системе, то в данном примере эти равенства будут выполнены на пятнадцатой итерации и значения корней будут следующие:

x1 0,8, x2 2, x3 1.

Найденное решение совпадает с точным.

Пример.

Используя метод простой итерации, найти решение системы:

10x1 x2

x3 12,

 

10x

2 x3 13,

2x1

 

2x2

10x3 14

2x1

 

 

 

с точностью 10 2 .

Решение.

Приведем систему к эквивалентному виду:

x

 

1,2 0,1x

0,1x

3

,

1

2

 

 

 

x2

1,3 0,2x1 0,1x3

,

x

3

1,4 0,2x

0,2x

 

 

 

1

 

2

 

или

x c Bx ,

 

0

0,1

0,1

 

 

 

 

 

 

0,2

 

 

c (1,2 1,3 1,4)T ;

 

 

0,4 1

 

где B

0

0,1 ;

B

1

, следователь-

 

0,2

0,2

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

но, достаточное условие сходимости метода простых итераций выполнено.

Итерационный процесс выглядит следующим образом:

x(0)

c; x(1)

c Bc (0,93

0,92 0,9)T ; (1) 0,333 ;

x(2)

c Bx(1)

 

(1,018

1,024

1,03)T ; (2) 0,0867 ;

x(3)

c Bx(2)

(0,9946

0,9934 0,9916)T ; (3) 0,0256 ;

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