Вы находитесь на странице: 1из 11

Лабораторная работа 3

Итерационные методы решения систем линейных уравнений

Итерационные методы решения систем линейных уравнений отличаются


самоисправляемостью и простотой реализации на ЭВМ. Итерационные методы
требуют задания начальных приближений. Сходимость итерационных методов
зависит от свойств матрицы системы и выбора начальных приближений.
Рассматривается следующая система:
Ax = f , (1)
где A = [ aij ] i, j =1,2, , m, x = ( x1, x2 , , xm) , f = ( f1, f2 , , fm) .
T T

1. Метод итераций
Перед применением метода итераций систему (1) необходимо привести к
эквивалентному виду
x = Bx+ C . ( 2)
Метод итераций для системы (2) имеет вид
xn+1 = Bxn + C .
m
Теорема. Если B <1, где B = max
i
∑ aik то метод итераций сходится
k=1

при любом начальном приближении x0 со скоростью геометрической


прогрессии.
В качестве начального приближения обычно выбирается вектор свободных
членов C , тогда для оценки числа итераций, необходимых для достижения
заданной точности, можно использовать формулу
n+1
B
xn −x ≤ C
1− B ( 3)
Пример. Методом итераций решить систему линейных уравнений
 x1 = 0,32x1 − 0,05x2 + 0,11x3 − 0,08x4 + 2,15,
 x = 0,11x + 0,16x − 0,28x − 0,06x − 0,83,
 2 1 2 3 4

x
 3 = 0,08x1 − 0,15x2 + 0,12x4 + 1,
16 ,

 x4 = −0,21x1 + 0,13x2 − 0,27x3 + 0,44,
предварительно оценив число необходимых для этого шагов, ε = 10−3 .
Число шагов, дающих ответ с точностью до 0,001, определим из
соотношения (3). Здесь
 0,32 − 0,05 0,11 − 0,08
 
 0,11 0,16 − 0,28 − 0,06
B = ,
0,08 − 0,15 0 0,12 

 − 0,21 0,13 − 0,27 
 0 
B = max{0,56; 0,61; 0,35; 0,61} <1; значит, итерационный процесс
сходится;
С = ( 2,15 − 0,83 1,16 0,44)
T
,
С =2,15 . Имеем
κ+1
0,61 k+1 0,001⋅ 0,39
⋅ 2,15< 0,001; 0,61 < ; (k +1)⋅ lg0,61< −3+ lg0,39− lg 2,15;
0,39 2,15
3,7413
k +1> ≈17,5; k ≥ 17.
0,2147
В качестве нулевого приближения выбираем вектор С.
Вычисления расположим в таблице
k x1 x2 x3 x4
0 2,15 -0,83 1,16 0,44
1 2,9719 -1,0775 1,5093 -0,4326
2 3,3555 -1,0721 1,5075 -0,7317
3 3,5017 -0,0106 1,5015 -0,8111
4 3,5511 -0,9277 1,4944 -0,8312
5 3,5637 -0,9563 1,4834 -0,8298
6 3,5678 -0,9566 1,4890 -0,8332
7 3,5700 -0,9575 1,4889 -0,8356
8 3,5709 -0,9573 1,4890 -0,8362
9 3,5712 -0,9571 1,4889 -0,8364
10 3,5713 -0,9570 1,4890 -0,8364

2. Метод Якоби
Метод Якоби для системы (1) в координатной форме имеет вид
1  
xin+1 = − ∑aij xin + fi  , i =1
, ,m
aii  j ≠i 
 
Теорема. Пусть A - матрица с диагональным преобладанием, то есть
aii > ∑aij .
i ≠i

Тогда метод Якоби сходится.


Если систему (1) представить в виде (2), то можно оценить количество
итераций по формуле (3).
Пример. Методом Якоби решить систему линейных уравнений

 2x1 − 1,8x2 + 0,4x3 = 1 ( I)



 3x1 + 2x2 − 1,1x3 = 0 ( I ) I
 x − x + 7,3x = 0 ( I I) I
1 2 3
предварительно приведя матрицу системы к матрице с диагональным
преобладанием и оценить число необходимых шагов для достижения
точности 0,001.
Приведем систему к виду, в котором элементы главной диагонали
превосходили бы остальные элементы строк:
 2 x1 + x52 − 3,5x3 = 5 ( 5 + 5 )I I I

 − 9,4x2 + 3,4x3 = 3 ( 3I + 2I ) I
 x − x + 7,3x = 0 ( I ) I I
1 2 3
Для оценки числа итераций запишем эту систему в виде (2), поделив каждое
уравнение на диагональный элемент:

 x1 = − 0,0 x24+ 0,4 x31− 0,2



 x2 = 0,3 x36− 0,3 2

 x3 = 0,1 x24− 0,1 x14
Число шагов, дающих ответ с точностью до 0,001, определяется из
соотношения (3). Здесь
 0 − 0,04 0,41
 
B = 0 0 0,36 ,
 0 0,14 0,14
 
B = max{0,45; 0,36; 0,28} = 0,45;
C = ( − 0,2 − 0,32 − 0,14)
T
,
C =0,32 . Имеем
0,45 κ+1
k+1 0,001⋅ 0,55
⋅ 0,32 < 0,001; 0,45 < ; (k +1)⋅ lg0,45< −3+ lg0,55− lg0,32;
0,55 0,32
k > 19.
Нулевое приближение x = C ; 0

Вычислим первое приближение


1  
xi1 = −  ∑aij xi0 + fi  x1 = i = 1,2
aii  j ≠i  1
 
где aij - элементы матрицы
 25 1 − 3,5
 
A =  0 − 9,4 3,4  ,
1 −1 7,3 
 
а fi - элементы вектора f = ( 5 3 0) T .
x11 = −
1
25
(
(1− 3,5)x10 + f1 ), x11 = −0,22.

x12 =
1
9,4
(
3,4x20 + f2 , )
x12 = 0,2034.

x31 = −
1
7,3
(
(1−1)x10 + f3 , )
x31 = 0.
Для окончания вычислений нужно произвести 20 итераций.

3. Метод простой итерации


Метод простой итерации для системы (1) имеет вид
xn+1 = ( E −τA) xn +τf
или в канонической форме
xn+1 − xn
− Axn = f ,
τ
где τ > 0 - постоянный итерационный параметр.
Теорема. Если A - симметричная положительно определенная матрица,
2
тогда метод простой итерации сходится при 0<τ <
λmax .
Теорема. Если B <1 , где B = ( E − τA) , то метод простой итерации
сходится.
Пример. Пусть матрица A имеет вид
4 −1 0
 
A = −1 3 1,
0 2 6
 
тогда
1 − 4τ τ 0 
 
B = τ 1 − 3τ −τ  ;
 0 − 2τ 1 − 6τ 
 
B = max {1 − 3τ 1 −τ 1 − 4τ}
∞ . (складываются модули элементов в каждой
строке )
Выберем τ так, чтобы выполнялось условие сходимости B <1
.
1
τ= .
9
Число итераций, необходимое для заданной точности, можно вычислить как
в случае метода итераций.

4. Метод Зейделя
Итерационный метод Зейделя для системы (1) в координатной форме имеет
вид
1  
xkn+1 =  fk −∑akj xnj −∑akj xnj+1  , k =1
, ,m
akk  
 j >k j <k 
Теорема. Если A - матрица с диагональным преобладанием, тогда метод
Зейделя сходится для любого начального приближения.
Теорема. Если A - симметричная положительно определенная матрица,
тогда метод Зейделя сходится.
Пример. Методом Зейделя решить с точностью 0,001 систему линейных
уравнений
 4,5x1 − 1,8x2 + 3,6x3 = − 1,7 ( I)

 3,1x1 + 2,3x2 − 1,2x3 = 3,6 ( I ) I ,

 1,8x + 2,5x + 4,6x = 2,2 ( I I) I


 1 2 3
приведя ее к виду, удобному для итераций.
Приведем систему к виду, в котором элементы главной диагонали
превосходили бы остальные элементы строк

 7,6x1 + 0,5x2 + 2,4x3 = 1,9 ( I + I ) I



 2,2x1 + 9,1x2 + 4,4x3 = 9,7 ( 2I +I I I− I )
 − 1,3x + 0,2x + 5,8x = − 1,4 ( I −I I I) I
 1 2 3
Нулевое приближение x0 = (1,9 9,7 −1,4) T .
Первое приближение
1
x11 = (1,9− 0,5* 2,7 + 2,4*1,4) = 0,5145
7,6
1
x12 = ( 9,7 + 4,4*1,4− 2,2* 0,5145) =1,6185
9,1
1
x31 = ( −1,4 +1,3* 0,5145− 0,2*1,6185) = −0,1819
5,8
и т.д.
Окончание вычислений определяется условием
maxxin+1 − xin < ε ,
1≤i ≤m

где ε > 0 - заданное число.

5. Метод верхней релаксации


Метод верхней релаксации является обобщением метода Зейделя. В
координатной форме метод верхней релаксации имеет следующий вид
a ji a ji di
xin+1 + ω∑ xnj+1 = (1−ω) xin −ω∑ xnj + ω , i =1
, ,2
j <i aii j >i aii aii
При ω = 1 этот метод совпадает с методом Зейделя.
Теорема. Если A - симметричная положительно определенная матрица,
тогда метод верхней релаксации сходится при 0 < ω < 2 .
Окончание вычислений определяется условием
maxxin+1 − xin < ε ,
1≤i ≤m

где ε > 0 - заданное число.

6. Метод минимальных невязок


Метод минимальных невязок определен для систем уравнений с
симметричной положительно определенной матрицей A . Этот метод
определяется формулой
x n +1 = x n − τ n +1 ( Ax n − f ) , (4)
где параметр τn +1 выбирается из условия минимума n+
r1 n+
= Ax
1
−f при
заданной норме r : n

τ =
( Ar , r )
n n

, r = Ax − f
n n
n +1 2
n
Ar

Теорема. Если A - симметричная положительно определенная матрица,


тогда метод минимальных невязок сходится.
Окончание вычислений определяется условием
maxxin+1 − xin < ε ,
1≤i ≤m

где ε > 0 - заданное число.

7. Метод скорейшего спуска


Если в формуле (4) итерационный параметр r k+1 выбирается из условия
минимума zk+1 A = x −x A , где x A = ( Ax, x) при заданном zk , то этот
k+1

метод называется методом скорейшего спуска. Итерационные параметры


вычисляются по формуле
( r , rk )
r k+1 = k , rk = Axk − f .
( Ark , rk )
Теорема. Пусть А – симметричная положительно определенная матрица,
тогда метод скорейшего спуска сходится.
Окончание вычислений определяется условием
maxxin+1 − xin < ε ,
1≤i ≤m

где ε > 0 - заданное число.

Задачи
Методом итераций решить системы линейных уравнений, предварительно
приведя их к виду, удобному для итераций и оценив число необходимых для
1
этого шагов, ε = ⋅ 10−3 .
2
№ 1.
 − 0 , 3x1 2− 1 , 2 x27 + 0 , 2 x37 − 0 , 1x4 8= − 0 , 3 6
 0 , 4 x 5− 1 , 2 x 3+ 0 , 0 x 6 = 0 , 8 8
 1 2 3

 0 , 3x1 1+ 0 , 0 x28 − 0 , 7 x37− 1 , 1 x42 = 0 , 5 5
 0 , 0 x15− 0 , 2 x26 − 0 , 3 x34 − 1 , 1 x42 = 1 , 1 7
№ 2.
 - 0 ,7 9x1 + 0 ,3 1x2 - 0 ,7 2x4 = - 0 ,1 1
 0 ,5 6x - x - 1 ,3 1x + 0 ,8 5x = - 0 ,5 2
 1 2 3 4

 0 ,1 1x1 - 1 ,0 8x3 + 0 ,7 8x4 = - 0 ,8 5
 0 ,0 8x1 + 0 ,0 9x2 + 0 ,3 3x3 - 0 ,7 9x4 = 1 ,7
№ 3.
 - x1 + 0 ,2 4x2 - 0 ,4 8x3 + 0 ,2 3x4 = 0 ,3 9
 - 0 ,0 5x - x + 0 ,4 4x + 0 ,3 1x = 0 ,7 2
 1 2 3 4

 - 1 ,1x1 + 0 ,2 7x2 - 1 ,4 8x3 - 0 ,3 2x4 = 0 ,9 5
 - 0 ,8 8x1 + 0 ,1 7x2 - 0 ,3 7x3 - 0 ,7 7x4 = 0 ,8 6
№ 4.
 - x1 + 0 ,2 2x2 - 0 ,1 1x3 + 0 ,3 1x4 = - 2 ,7
 - 0 ,6 2x - 0 ,7 8x - 0 ,2 3x + 0 ,5 3x = - 1 ,2
 1 2 3 4

 0 ,2 8x1 + 0 ,2 2x2 - 0 ,6 9x3 - 1 ,5 1x4 = - 1 ,0 3
 0 ,1 7x1 - 0 ,2 1x2 + 0 ,3 1x3 - x4 = 0 ,1 7

Методом Якоби решить системы линейных уравнений, предварительно


приведя матрицу системы к матрице с диагональным преобладанием и оценив
число необходимых шагов для достижения точности 0,001.

№ 5.
 2 ,3x1 + 1,1 x2 + 0 , 2 3x3 = 3 ,3

 − 2 x1 + 1,3 x2 + 1,7 7 x3 = - 0 ,7
 2 ,5x + 3,2 x + 2 ,7 3x = 7 , 7
 1 2 3
№ 6.
 - 2 ,4x1 + x2 + 1,2 x3 = 5 ,1

 0,9 3x1 − 2,5x2 + 5,8 x3 = 1 1 ,1
 1 ,2x + 1,3 x + 1,4 x = 1 ,5
 1 2 3
№ 7.
 1 ,3x1 − 0,3 x2 + 3, 8 x3 = 3 , 9

 4,6 3x1 − 4 x2 + 3,4 x3 = 9,9
 1 ,2x + 1,3 x − 2,6 x = 1 ,5
 1 2 3

№ 8.
 2 , 1 5x1 + 2,3 x2 − 0,3 x3 = 4

 0,2 5x1 + 2,5x2 − 1,3 x3 = 2 , 5
 - 0 ,3x + 3,9 x + 1,2 x = 4 ,5
 1 2 3
Методом простой итерации решить систему линейных уравнений с
точностью до 0,001.
№ 9.
2,8 x1 − 0,2 x 2 − 0,4 x3 + 1,2 x 4 = 2,23
0,42 x + 3,7 x − 1,5 x − 0,11x = 1,71
 1 2 3 4

0,05 x1 − 0,13 x 2 + 2,2 x3 + 1,3 x 4 = −0,54

− 1,2 x1 − 1,1x 2 + 2 x3 + 4,7 x 4 = 0,65
№ 10.
3,3x1 + 1,2 x 2 − 0,07x3 + x 4 = 0,23
 0,1x + 2,7 x + 0,3x − 1,2 x = 7,2
 1 2 3 4
 0,5 x1 − 0,5 x 2 + 2,2 x3 + 0,5 x 4 = − 0,22

 0,2 x1 − 0,3 x 2 − 0,4 x3 + 1,8 x 4 = − 0,6

№ 11.
3,4 x1 + 1,1x 2 + 0,2 x3 − 1,2 x 4 = 2
− 0,7 x + 3,3x − 0,3x + 2 x = 1,9
 1 2 3 4

0, 4 x1 + 0,3 x 2 + 2, 6 x 3 + 0, 2 x 4 = −0, 4

− 0,2 x1 + 0,6 x 2 + 0,4 x3 + 1,7 x 4 = −6,5
№ 12.
2,5 x1 − 0,12 x 2 + 2,2 x3 + 0,2 x 4 = −1,2
1,2 x + 3x + x − 1,5 x = 0,1
 1 2 3 4

0,2 x1 − 0,4 x 2 + 2,5 x3 + 0,7 x 4 = −0,4

0,3 x1 + 0,7 x 2 − 0,8 x3 + 3,7 x 4 = 0,6
Методом Зейделя решить системы линейных уравнений, приведя их к виду,
1
удобному для итераций, ε = ⋅ 10−3 .
2
№ 13.
 2,7x1 + 0,9x2 − 1,5x3 = 3,5

 4,5x1 − 2,8x2 + 6,7x3 = 2,6
 5,1x + 3,7x − 1,4x = − 0,1 4
 1 2 3
№ 14.
 3,8x1 + 6,7x2 − 1,2x3 = 5,2

 6,4x1 + 1,3x2 − 2,7x3 = 3,8
 2,4x − 4,5x + 3,5x = − 0,6
 1 2 3

№ 15.
 3,2x1 − 1 ,15x2 + 3,8x3 = 2,8

 0,8x1 + 1,3x2 − 6,4x3 = − 6,5
 2,4x + 7,2x − 1,2x = 4,5
 1 2 3
№ 16.
 5,6x1 + 2,7x2 − 1,7x3 = 1,9

 3,4x1 − 3,6x2 − 6,7x3 = − 2,4
 0,8x + 1,3x + 3,7x = 1,2
 1 2 3

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


1
их к виду, удобному для итераций, ε = ⋅ 10−3 .
2
№ 17.
 2,7x1 + 3,3x2 + 1,3x3 = 2,1

 3,5x1 − 1,7x2 + 2,8x3 = 1,7
 4,1x + 5,8x − 1,7x = 0,8
 1 2 3
№ 18.
 3,6x1 + 1,8x2 − 4,7x3 = 3,8

 2,7x1 − 3,6x2 + 1,9x3 = 0,4
 1,5x + 4,5x + 3,3x = − 1,6
 1 2 3
№ 19.
 3,7x1 − 2,3x2 + 4,5x3 = 2,4

 2,5x1 + 4,7x2 − 7,8x3 = 3,5
 1,6x + 5,3x + 1,3x = − 2,4
 1 2 3
№ 20.
 2,4x1 + 3,7x2 − 8,3x3 = 2,3

 1,8x1 + 4,3x2 + 1,2x3 = − 1,2
 3,4x − 2,3x + 5,2x = 3,5
 1 2 3
Решить системы линейных уравнений методом минимальных невязок и
1
методом скорейшего спуска, ε = ⋅ 10−3 .
2
№ 21.
 2,7 4x1 − 1,1 8x2 + 1,2 3x3 = 0,1 6

 − 1,1 8x1 + 1,7 x12 − 0,5 2x3 = 1,8 1
 1,2 3x − 0,5 2x + 0,6 2x = − 1,2 5
 1 2 3
№ 22.
 1,1 7x1 − 0,6 5x2 + 1,5 4x3 = − 1,4 3

 − 0,6 5x1 + 1,1 6x2 − 1,3 3x3 = 0,6 8
 1,5 4x − 1,3 3x + 2,1 5x = 1,8 7
 1 2 3

№ 23.
 3,7 4x1 + 0,8 6x2 + 1,1 3x3 = 1,1 3

 0,8 6x1 + 1,7 1x2 − 0,4 9x3 = 1,8 8
 1,1 3x − 0,4 9x + 1,2 6x = − 0,2 5
 1 2 3
№ 24.
 2,0 x11 − 0,5 3x2 + 1,1 3x3 = − 2,0 9

 − 0,5 3x1 + 1,6 2x2 − 1,0 3x3 = 0,3 9
 1,1 3x − 1,0 3x + 2,3 4x = 2,1 3
 1 2 3