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

UptoLike

61
Начало
ввод N,
ε
,
расширенной
матрицы А
i := 1, N
2
3
р:=0
j
:= i
j
N
да
р := j; j := N
abs(A[j,i])>
ε
нет
да
нет
j := i, N+1
j
:= j+1
j
<>
р
нет
да
C := A[р, j]
A[р, j] := A[i, j]
A[i, j] := C
Меняем местами
строки i и р
C := A[i, i]
A[i, j] := A[i, j]/C
j := i, N+1
Деление строки
i на A[i,i ]
Получение нулей под
главной диагональю
в i-ом столб
е
Прямой ход
Поиск ненулевого элемента
в i –ом столбце
Модуль значения элемента
отличен от нуля?
i < >
р
нет
да
Печатьвсе
нули в
столбце’,i,нет
единственного
р
ешения
exit
k := i+1, N
C:= -A[k, i]
j := i, N+1
A[k, j]:=A[k, j]+C*A[i, j]
2
62
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
Печать
корней
Проверк
а
правильности
получения корней
Конец
Обратный ход
Рис. 35. Блок схема метода Гаусса
                      Начало

                     ввод N, ε,                                                                                        3
                   расширенной                                                                                                             Обратный ход
                    матрицы А
                                                           Прямой ход                                        X[N] := A[N, N+1]
              2       i := 1, N                  3

                        р:=0                                                                                       i := N-1
                        j := i                              Поиск ненулевого элемента
                                                            в i –ом столбце
                                        нет                                                                                          нет
                                                                                                                    i≥1
                        j≤N
                                                                   Модуль значения элемента
                                                                                                                           да
                                 да                                отличен от нуля?
                                                                                                                     S := 0
                                                нет
                   abs(A[j,i])> ε
                               да                                                                                 k := i+1, N
                   р := j; j := N

                                                                                                              S := S+A[i, k]*X[k]
                      j := j+1
                                                                                 Печать ‘все
                                        нет                           да            нули в
                                                       i<>р                     столбце’,i,’нет
                                                                                единственного
                                         нет                                      решения’
                       j<>р                                                                                    X[i] := A[i, N+1]-S
Меняем местами                                                                       exit
    строки i и р                 да
                     j := i, N+1                                                                                    i := i -1
                                                                           Деление строки
                                                                           i на A[i,i ]
                     C := A[р, j]
                   A[р, j] := A[i, j]            C := A[i, i]
                     A[i, j] := C
                                                  j := i, N+1
                                                                                                                    Печать
                                                                                                                    корней
                                              A[i, j] := A[i, j]/C
                                                                                  Получение нулей под
                                                                                  главной диагональю               Проверка
                                                  k := i+1, N               2     в i-ом столбце                 правильности
                                                                                                               получения корней
                                                  C:= -A[k, i]

                                                     j := i, N+1                                                      Конец

                                         A[k, j]:=A[k, j]+C*A[i, j]                                     Рис. 35. Блок схема метода Гаусса




                                               61                                                                               62