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

Решение систем линейных уравнений

.pdf
Скачиваний:
61
Добавлен:
18.03.2015
Размер:
674 Кб
Скачать
☆

Рис. 2.1. Блок-схема ПРЯМОГО ХОДА метода Гаусса

41

Рис. 2.2. Блок-схема ОБРАТНОГО ХОДА метода Гаусса

2.2.МЕТОД ХАЛЕЦКОГО

Метод Халецкого для решения систем линейных уравнений

Ax = b ,

 

a

a

K a

x

 

 

 

11

12

1n

1

 

где A =

a21

a22

K a2n

x2

 

 

 

 

, x =

K

,

 

K

K

K K

 

 

 

 

 

 

 

 

 

 

 

an2

 

 

 

 

an1

K ann

xn

 

ai,n +1

a2,n +1

b = KK .

an,n +1

относится к точным методам.

Представим матрицу A в виде A=BC , где

42

K c14

b11

0

K 0

 

1 c12

 

 

 

 

 

 

 

 

 

b21

b22

K 0

 

0

1

K

B =

K K

K K

,

C = K K K

 

 

 

 

 

 

 

 

 

 

bn2

 

 

 

0

0

bn1

K bn4

0

c24

K . 1

Рассмотрим для примера систему 4-х уравнений с четырьмя неизвестными, тогда

b

0

0

0

 

 

1

c

c

c

 

 

11

 

 

 

 

 

 

12

13

14

 

 

b21

b22

0

0

0

1

c13

c24

 

 

A = BC = b

b

b

0

 

 

0

0

1

c

 

=

31

32

33

 

 

 

 

 

 

34

 

 

 

b42

b43

 

 

 

 

0

0

1

 

 

b41

b44

0

 

 

b11

b21

=b31

b41

b11c12

b11c13

b11c14

 

b21c12 + b22

b21c13 + b22c23

b21c14 + b22c24

 

 

b31c12 + b32

b31c13 + b32c23 + b33

b31c14 + b32c24 + b33c34

 

 

b41c12 + b42

b41c13 + b42c23 + b43

 

 

b41c14 + b42c24 + b43c34 + b44

Для системы n уравнений имеем:

 

 

ai1 = bi1, i = 1, n

 

a

= b c

, j = 2, n

1 j

11 1 j

 

 

 

i−1

 

 

 

aij

= ∑ bik ckj + bii cij

для

i < j

 

k =1

 

 

 

 

j−1

 

 

 

 

 

 

 

 

= ∑ bik ckj + bij

для

i ≥

aij

j

 

k =1

 

 

 

 

 

 

 

Тогда элементы bij и cij будут определяться по формулам

43

bi1 = ai1,

 

 

 

 

j −1

 

 

 

 

 

 

 

(2.4)

bij = aij − ∑bik ckj

для

i ≥

j

 

k =1

 

 

 

 

и

 

 

 

a

 

 

 

 

 

 

 

c1 j

=

 

1 j

,

 

 

 

 

 

 

b11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i−1

 

 

 

 

(2.5)

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

cij

=

 

 

aij − ∑ bik ckj

для

i <

j

 

bii

 

 

 

 

k =1

 

 

 

 

 

Искомый вектор x может быть вычислен из цепи уравнений

 

 

 

By = b,

 

Cx = y .

 

 

Так как матрицы B и C треугольные, то системы легко решают-

ся, а именно:

 

 

 

 

 

 

 

 

 

 

 

a

 

 

 

 

 

 

 

y1

=

1,n+1

,

 

 

 

 

 

 

 

 

 

 

 

 

b11

 

 

 

 

 

 

 

 

 

 

i−1

 

 

(2.6)

 

 

1

 

 

 

 

 

 

 

 

 

 

yi

=

 

ai,n+1

− ∑ bik y k

(i > 1)

 

bii

 

 

 

 

 

k =1

 

 

 

и

xn = y n ,

 

n

 

 

xi = yi − ∑ cik xk

(i < n)

k =i+1

 

Из формул (2.4)–(2.6) видно, что числа yi выгодно вычислять вместе с коэффициентам cij . Эта схема вычислений называется схе-

мой Халецкого.

На рис. 2.3 представлена блок-схема алгоритма формирования матриц B и С, а на рис. 2.4 – блок-схема подсчета неизвестных xi

(i=1,…,n).

44

45

Рис. 2.3. Блок-схема формирования матриц B и С

Рис. 2.4. Блок-схема подсчета неизвестных xi (i = 1,…,n)

2.3.МЕТОД ПРОСТЫХ ИТЕРАЦИЙ

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

Предположим, что в системе

46

a11 x1 + a12 x2 + K+ a1n xn = b1

 

 

 

 

 

 

+ K+ a2n xn = b2

 

a21 x1 + a22 x2

 

K

 

 

 

 

 

 

 

 

 

(2.7)

 

 

 

 

 

 

 

 

 

 

 

a

x + a

n2

x

2

+ K+ a

nn

x

n

= b

n

 

 

n1 1

 

 

 

 

 

коэффициенты aii ≠ 0 для всех i = 1, K, n .

Разрешим первое уравнение системы относительно относительно x2 и так далее.

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

x1 = β1 + α12 x2 + α13 x3 + K + α1n xn

 

 

 

 

 

= β 2 + α 21x1 + α 23 x3

+ K + α 2n xn

 

 

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LLLLLLLLLLLLLLL

 

 

 

 

x

n

= β

n

+ α

x + α

n2

x

+ K + α

n, n

−1

x

n −1

,

 

 

 

n1 1

2

 

 

 

где

β i =

bi

 

,

 

aii

 

 

 

 

 

 

0,

 

для i = j,

 

 

 

aij

 

α ij =

 

для i ≠ j

 

−

 

 

 

 

aii

 

 

 

 

i = 1, 2, K, n, j = 1, 2, K, n.

Запишем систему (2.8) в матричном виде:

x1 , второе –

(2.8)

(2.9)

47

x = β + α x ,

(2.10)

 

 

α

 

α

 

K α

 

 

x

 

 

 

α

 

 

 

 

 

 

11

 

12

 

1n

1

 

 

 

 

1

 

 

где α =

 

α 21

α 22

K α 2n

x2

 

β =

α 2

 

.

 

 

 

 

 

 

 

, x =

K

,

K

 

 

K K K K

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

α n1

α n2

 

 

 

 

 

 

 

α n

 

 

 

 

K α nn

xn

 

 

 

 

 

Предположим, что известно грубое приближенное решение этой системы, обозначим его x 0 . Пусть это будет, например, столбец свободных членов x0 = β . Подставив это нулевое приближение в (2.10), вычислим новые значения

x1 = β + α x0 .

(2.11)

Это есть первая итерация. Далее x0 заменяется на x1 и вычисляется следующее приближение, и так далее: k-ое приближение будет вычисляться по формуле:

xk = β + α xk −1

(2.12)

или в развернутом виде для системы (2.12) из n уравнений с n неизвестными ( aii ≠ 0 для всех i = 1, ..., n ) k-ое приближение будет зада-

ваться формулой:

n

 

xik = β i + ∑α i, j x kj −1 , (i = 1, K, n ; k = 1, 2,K) .,

j =1

 

Вообще говоря, если

последовательность приближений

x0 , x1, x 2 ,K, x k имеет предел

 

x =

lim x k ,

 

k →∞

то этот предел и есть решение системы.

48

На практике итерационный процесс прекращают, когда выполняется условие:

max

x k

− x k −1

< ε ,

 

i

i

 

где определяется максимальное

значение разности для всех i, а

ε –заданная точность.

 

 

Условие сходимости метода итераций: модули диагональных коэффициентов матрицы A для каждого уравнения системы должны быть больше суммы модулей всех остальных коэффициентов, не считая свободных членов, т.е.

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

aii

 

> ∑

aij

для

i = 1, 2, K, n

 

 

 

 

 

j =1

 

 

 

 

 

 

 

 

 

 

 

 

 

(i ≠ j )

 

 

 

 

 

 

 

 

 

 

или по-другому

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

∑

 

aij

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j=1

 

 

 

 

 

 

max

 

(i≠ j)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

< 1.

 

 

 

 

 

 

aii

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

На рис. 2.5 представлен блок проверки неравенства нулю диагональных элементов и блок проверки условия сходимости метода итераций для данной системы. На рис. 2.6 – блок подсчета коэффициентов βi и αij преобразованной системы (2.10). На рис. 2.7 – блок на-

хождения неизвестных системы (2.12), а значит и исходной системы

(2.7).

49

50