Вычислительная математика. Ч. 1. Асламова В.С - 33 стр.

UptoLike

65
3
X[N] := A[N, N+1]
i := N-1
i
1
да
нет
S := 0
k := i+1, N
S := S+A[i, k]*X[k]
X[i] := A[i, N+1]-S
i := i-1
Печать
ко
р
ней
Проверка
правильности
получения корней
Конец
Обратный ход
Рис. 36. Блок-схема метода Гаусса с выбором
главного элемента в столбце.
66
4.3. Метод Гаусса-Зейделя
Одним из самых распространённых итерационных методов, отличающийся
простотой и лёгкостью программирования, является метод Гаусса-Зейделя.
Проиллюстрируем сначала этот метод на примере решения системы:
=++
=++
=++
3333232131
2323222121
1313212111
bxaxaxa
bxaxaxa
bxaxaxa
. (4.12)
Предположим, что диагональные элементы а
11
, а
22
, а
33
отличны от нуля (в
противном случае можно переставить уравнения). Выразим неизвестные х
1
, х
2
, х
3
соответственно из первого, второго и третьего уравнений системы (4.12):
)(
1
3132121
11
1
xaxab
a
x =
, (4.13)
)(
1
3232212
22
2
xaxab
a
x =
, (4.14)
)(
1
3332313
33
3
xaxab
a
x =
. (4.15)
Зададим некоторые начальные приближения значений неизвестных
0
3
0
2
0
1
,, xxx
.
Подставляя эти значения в правую часть уравнения (4.13), найдём новое
(первое) приближение для x
1
:
)(
1
0
313
0
2121
11
1
1
xaxab
a
x =
.
Используя это значение для x
1
и приближение
0
3
x
для х
3
, находим из
уравнения (4.14) первое приближение для x
2
:
)(
1
0
323
1
1212
22
1
2
xaxab
a
x =
.
И наконец, используя вычисленные значения
1
1
x ,
1
2
x , находим с помощью
выражения (4.15) первое приближение для x
3
:
)(
1
1
232
1
1313
33
1
3
xaxab
a
x =
.
Первая итерация решения системы (4.12) на этом заканчивается.
Используя найденные значения
1
3
1
2
1
1
,, xxx
можно таким же способом
провести вторую итерацию, в результате которой будут найдены вторые
приближения к решению
2
3
2
2
2
1
,, xxx
. Приближение с номером k можно
представить в виде:
                                                                                         4.3. Метод Гаусса-Зейделя
                                                          Одним из самых распространённых итерационных методов, отличающийся
                                                       простотой и лёгкостью программирования, является метод Гаусса-Зейделя.
                        3                                 Проиллюстрируем сначала этот метод на примере решения системы:
                                        Обратный ход                            ⎧ a11x1 + a12x2 + a13x3 = b1
                                                                                ⎪                            .                 (4.12)
               X[N] := A[N, N+1]                                                ⎨a21x1 + a22x2 + a23x3 = b2
                                                                                ⎪a x + a x + a x = b
                                                                                ⎩ 31 1 32 2 33 3 3
                                                          Предположим, что диагональные элементы а11, а22, а33 отличны от нуля (в
                     i := N-1                          противном случае можно переставить уравнения). Выразим неизвестные х1, х2, х3
                                                       соответственно из первого, второго и третьего уравнений системы (4.12):
                                  нет                                               1
                        i ≥1                                                 x =        ⋅ (b − a x − a x ) ,
                                                                                          1            1    12   2   13   3
                                                                                                                               (4.13)
                                                                                                a 11
                            да                                                              1
                                                                                         x2 =   ⋅ (b2 − a 21 x 2 − a 23 x 3 ) ,                    (4.14)
                      S := 0                                                               a 22
                                                                                            1
                                                                                      x3 =      ⋅ (b3 − a 31 x 2 − a 33 x 3 ) .                    (4.15)
                   k := i+1, N                                                             a 33
                                                           Зададим            некоторые начальные приближения                     значений   неизвестных
                                                       x 10 , x 20 , x 30 .
                S := S+A[i, k]*X[k]
                                                          Подставляя эти значения в правую часть уравнения (4.13), найдём новое
                                                       (первое) приближение для x1:
                                                                                       1
                 X[i] := A[i, N+1]-S                                            x11 =      ⋅ ( b1 − a 12 x 20 − a 13 x 30 ) .
                                                                                      a 11
                                                          Используя это значение для x1 и приближение x 30 для х3, находим из
                       i := i-1                        уравнения (4.14) первое приближение для x2:
                                                                                        1
                                                                                x 12 =      ⋅ ( b 2 − a 21 x 11 − a 23 x 30 ) .
                                                                                       a 22
                      Печать                                                                                                  1   1
                                                          И наконец, используя вычисленные значения x1 , x 2 , находим с помощью
                      корней
                                                       выражения (4.15) первое приближение для x3:
                                                                                        1
                     Проверка                                                   x 31 =      ⋅ (b3 − a 31 x11 − a 32 x 12 ) .
                   правильности                                                        a 33
                 получения корней                         Первая итерация решения системы (4.12) на этом заканчивается.
                                                          Используя найденные значения x 11 , x 12 , x 31 можно таким же способом
                                                       провести вторую итерацию, в результате которой будут найдены вторые
                       Конец
                                                       приближения к решению x 12 , x 22 , x 32 . Приближение с номером k можно
Рис. 36. Блок-схема метода Гаусса с выбором            представить в виде:
        главного элемента в столбце.


                            65                                                                              66