ВУЗ:
Составители:
71
Обратная прогонка состоит в последовательном вычислении неизвестных x
i
.
Сначала нужно найти x
n
. Для этого воспользуемся выражением (4.20) при i=n-1 и
последним уравнением системы (4.19). Запишем их:
111 −−−
+=
nnnn
BBxAAx
,
nnnnn
dxbxa =+
−1
.
Отсюда
nnn
nnn
n
bAAa
BBad
x
+
−
=
−
−
1
1
. (4.23)
Далее, используя формулы (4.20) и выражения для прогоночных
коэффициентов (4.21), (4.22), последовательно вычисляем все неизвестные
x
i
для i=n-1, n-2,…,1.
При анализе алгоритма метода прогонки надо учитывать возможность
деления на нуль в формулах (4.22). Можно показать, что при выполнении
условия преобладания диагональных элементов, т.е. если
iii
cab +≥
,
причём хотя бы для одного значения i имеет место строгое неравенство, деления
на нуль не возникает, и система (4.19) имеет единственное решение.
Приведённое условие преобладания диагональных элементов обеспечивает
также устойчивость метода прогонки относительно погрешностей округлений.
Последнее обстоятельство позволяет использовать метод прогонки для решения
больших систем уравнений. Заметим, что данное условие устойчивости прогонки
является до
статочным, но не необходимым. В ряде случаев для хорошо
обусловленных систем вида (4.19) метод прогонки оказывается устойчивым даже
при нарушении условия преобладания диагональных элементов. Блок-схема
метода прогонки приведена на рис. 38.
4.5. Метод Гаусса-Жордана
Этот метод приводит системы линейных уравнений (4.2) к диагональному
виду.
Для лучшего понимания метода решим сначала систему линейных уравнений
вручную. Пусть даны три уравнения с тремя неизвестными:
037
32
1334
=−+
−=−−
=++
zyx
zyx
zyx
72
Начало
ввод массивов
A[i], B[i],
C[i], D[i]
AA[1] := -C[1]/B[1]
BB[1] :- D[1]/B[1]
i := 2, n-1
вывод
корней
Конец
ввод n
i := 1, n
i := n-1,1,-1
Рис. 38. Блок-схема метода прогонки.
1]-AA[nA[n]B[n]
1]-BB[nA[n]-D[n]
: X[n]
⋅+
⋅
=
X[i]: =AA[i]*X[i+1]+BB[i]
E := A[i]*AA[i-1]+B[i]
AA[i] := -C[i]/E
BB[i] := (D[i]- A[i]*BB[i-1])/E
Расчет прогоночных
коэффициентов
Расчет
корней
Обратная прогонка состоит в последовательном вычислении неизвестных xi. Сначала нужно найти xn. Для этого воспользуемся выражением (4.20) при i=n-1 и Начало последним уравнением системы (4.19). Запишем их: xn−1 = AAn−1 xn + BBn−1 , ввод n a n x n −1 + bn x n = d n . Отсюда i := 1, n d n − an BBn −1 ввод массивов xn = . (4.23) A[i], B[i], an AAn −1 + bn C[i], D[i] Далее, используя формулы (4.20) и выражения для прогоночных Расчет прогоночных коэффициентов (4.21), (4.22), последовательно вычисляем все неизвестные коэффициентов xi для i=n-1, n-2, ,1. AA[1] := -C[1]/B[1] BB[1] :- D[1]/B[1] При анализе алгоритма метода прогонки надо учитывать возможность деления на нуль в формулах (4.22). Можно показать, что при выполнении условия преобладания диагональных элементов, т.е. если i := 2, n-1 bi ≥ a i + ci , причём хотя бы для одного значения i имеет место строгое неравенство, деления E := A[i]*AA[i-1]+B[i] AA[i] := -C[i]/E на нуль не возникает, и система (4.19) имеет единственное решение. BB[i] := (D[i]- A[i]*BB[i-1])/E Приведённое условие преобладания диагональных элементов обеспечивает также устойчивость метода прогонки относительно погрешностей округлений. Расчет Последнее обстоятельство позволяет использовать метод прогонки для решения корней больших систем уравнений. Заметим, что данное условие устойчивости прогонки X[n] := D[n] - A[n] ⋅ BB[n - 1] является достаточным, но не необходимым. В ряде случаев для хорошо B[n] + A[n] ⋅ AA[n - 1] обусловленных систем вида (4.19) метод прогонки оказывается устойчивым даже при нарушении условия преобладания диагональных элементов. Блок-схема i := n-1,1,-1 метода прогонки приведена на рис. 38. 4.5. Метод Гаусса-Жордана X[i]: =AA[i]*X[i+1]+BB[i] Этот метод приводит системы линейных уравнений (4.2) к диагональному виду. вывод Для лучшего понимания метода решим сначала систему линейных уравнений корней вручную. Пусть даны три уравнения с тремя неизвестными: 4x + 3 y + z = 13 Конец 2x − y − z = −3 7 x + y − 3z = 0 Рис. 38. Блок-схема метода прогонки. 71 72
Страницы
- « первая
- ‹ предыдущая
- …
- 34
- 35
- 36
- 37
- 38
- …
- следующая ›
- последняя »