Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Спецглавы математики. Численные методы с приложениями к задачам газогидродинамики. Теория вероятностей и элементы математической статистики. Учебное п
.pdf
BxAx
1
,...,2,
1
n
i
1
,...,3,
2
n
i
1ni
(
1
iiii
Из первого уравнения системы (2.6) найдем
c
1
x .
1
x
b
1
С другой стороны, по формуле (2.7)
коэффициенты в обоих выражениях для
c
A ;
1
1
b
1
Из второго уравнения системы (2.6) выразим
по формуле (2.7):
). (2.7)
d
1
2
b
1
BxAx
. Приравнивая
2211
x , получим
1
d
B . (2.8)
1
1
b
1
x через 3x , заменяя 1x
2
)( dxcxbBxAa
Badxc
Отсюда
x
или
2
B
2
bAa
;
12232
212
Bad
122
l
2
Аналогично можно вычислить прогоночные коэффициенты для
любого номера i:
c
A ;
i
i
l
i
B
;
i
Bad
iii
1
l
i
Обратная прогонка состоит в последовательном вычислении
неизвестных x. Сначала нужно найти
и последним уравнением системы (2.6):
Отсюда, исключая
)(
11
x , находим
1n
xbdBxAa
.
nnnnnnn
Тогда
.
232221212
c
BxAx
;
A ;
2322
2
bAal
.
2122
bAal
;
iiii
1
x . Для этого воспользуемся (2.7) при
n
)(
11
2
l
2
. (2.9)
BxAx .
111
nnnn
dxbBxAa
или
nnnnnnn
Bad
x . (2.10)
n
nnn
Aab
11
nnn
Далее, используя формулы (2.7) и выражения для прогоночных
коэффициентов (2.8) и (2.9), последовательно вычисляем все неизвестные
x ,
x ,....,1x .
1n
2n
Можно показать, что при выполнении условия преобладания
диагональных элементов:
cab , причем хотя бы для одного
iii
значения i имеет место строгое неравенство, деления на нуль в (2.9) не
возникает и система (2.6) имеет единственное решение. Приведенное
условие преобладания диагональных элементов обеспечивает также
устойчивость метода прогонки относительно погрешностей округления. Это
31

позволяет использовать метод прогонки для решения больших систем
4
уравнений.
Данное условие устойчивости является достаточным, но не
необходимым.
Пример. Решить систему уравнений
122
xx
21
xxx
321
23
xxx
432
xx
.22
43
05.0
122
xx
21
05.0
xxx
321
xxx
432
xx
.22
43
23
Решение. Матрица этой системы имеет вид:
0022
05.011
.
1310
2100
c
Найдем 1
A ;
1
1
b
1
A
d
1
1
B (по 2.8).
1
2
b
1
Вычисляем остальные прогоночные коэффициенты по формулам (2.9)
с точностью до 5 знаков после запятой:
c
A ;
2
B ;
2
2
l
2
c
363636.0
63636.0
A ;
3
B .
3
c
2
Bad
122
bAa
112
3
Bad
233
bAa
323
bAa
323
bAa
212
5.0)1(0
1)1(1
1
25.012
)3(25.01
Для начала обратного хода находим
Bad
344
x .
4
Aab
344
Далее по формуле (2.7) находим остальные неизвестные, используя
найденные прогоночные коэффициенты:
22222.163636.061111.136364.0
05555.025.0)22222.1(25.0
55555.050000.0)05555.0(0000.1
BxAx ;
3433
BxAx ;
2322
BxAx .
1211
5.0
25000.0
1)1(1
25000.0
1
)3(25.01
75.2
75.1
x по формуле (2.10)
75.2
)63636.0(12
61111.1
)36364.0(12
Другие методы (прямые). Имеется много других прямых методов
решения задач линейной алгебры.
32

1. Метод оптимального исключения удобен при построчном введении
200
n
матрицы в оперативную память. При этом экономится объем памяти, но
сильно увеличивается время расчета за счет обращений к внешней памяти.
2. Метод квадратного корня используется, если матрица системы
симметрична.
3. Метод Жордана имеет ту же скорость, что и метод Гаусса. При
решении систем он не дает никаких преимуществ. Но при обращении
матрицы требует меньшей оперативной памяти.
4. Клеточные методы могут использоваться для решения больших
систем, когда матрица и вектор правых частей целиком не помещаются в
оперативной памяти.
Эти и другие методы решения систем линейных уравнений подробно
описаны в специальной литературе по линейной алгебре.
Для решения хорошо обусловленных линейных систем общего вида
метод Гаусса является одним из лучших.
2.4. Итерационные методы
Прямые методы дают решение в виде точных формул через
коэффициенты системы (правило Крамера, метод Гаусса и его разновидности
и др.). Однако точное решение здесь м.б. получено при двух условиях:
1. Коэффициенты системы имеют точные значения;
2. Вычисления выполняются с бесконечным числом разрядов.
На практике оба этих условия обычно не выполняются. Поэтому
неизбежны ошибки округления даже при использовании точных методов.
Причем оценка погрешностей может быть затруднительной.
Прямым методам свойственны и “собственные” недостатки:
1) Как правило, они требуют хранения в оперативной памяти ЭВМ
всей матрицы, что при больших ее размерах (n) требует много места в
памяти;
2) Прямые методы обычно не учитывают структуру матрицы - при
большом числе нулевых элементов в разряженных матрицах (клеточных,
ленточных) эти элементы занимают место в памяти машины и над ними
выполняются операции;
3) Накапливание погрешностей в процессе решения, так как
вычисления на любом этапе используют результат предыдущих операций.
В связи с этим прямые методы используют для сравнительно
небольших систем (
) с плотно заполненной матрицей и не близким к
нулю определителем.
Итерационные методы используют некоторое начальное приближение.
Затем с помощью соответствующего алгоритма проводится один цикл
вычислений - итерация. В результате получается новое приближение.
Итерации повторяют до получения решения с заданной точностью.
33

Достоинства:
BXA
X
BXA
X
BXA
X
nji
,...,2,1,
1) Итерационные методы требуют хранения в памяти машины не всей
матрицы, а лишь нескольких ее строк.
2) Погрешности окончательных результатов в этих методах не
накапливаются, так как точность вычислений в каждой итерации
определяется лишь результатами предыдущей итерации и практически не
зависит от ранее выполненных вычислений.
Недостаток: скорость сходимости итераций может быть очень малой.
Часто используют смешанные методы, применяя итерационные методы
для уточнения результатов, полученных прямыми методами.
Метод простых итераций для линейных систем. Рассмотрим систему:
....
....
2211
Разделим первое уравнение в (2.11) на
bxaxaxa
11212111
nn
bxaxaxa
22222121
nn
(2.11)
..................................................
.....
bxaxaxa
nnnnnn
a , второе на 22a и т.д.
11
Получим:
x
1
x
a
12
a
11
a
2
21
a
22
a
13
x
2
x
1
x
3
a
11
a
23
x
3
a
22
...
...
a
1
n
x
a
11
a
2
n
a
22
b
1
n
a
11
b
2
x
n
a
22
(2.12)
...................................................................
x
n
a
1
n
a
nn
a
2
n
x
1
x
2
a
nn
a
1
nn
x
a
n
nn
b
n
1
....
a
nn
Замечание. Выделение в 1-ом уравнении
x , во 2-ом - 2x и т.д. не
1
всегда будет самым удачным. Иногда желательно делить на возможно
большие по модулю коэффициенты. При этом прибегают к перенумерации
переменных.
Пусть с помощью некоторого прямого метода вычислены
приближенные значения неизвестных
0
x ,
1
0
x ,...,
2
0
x . Часто в качестве
n
нулевого приближения берут столбец из свободных членов. Далее
последовательно получаются приближения (в матричной форме):
)0()1(
)1()2(
...................................... (2.13)
kk
)1()(
.......................................,
где )(ijaA
, )(jxX
, )(jbB
, (
),
34

X
X
X
ni,...,2,
1
nj,...,2,
1
1i
2i
a
ij
a
a
ij
ii
,
b
j
b
j
.
a
ii
В результате получается бесконечная последовательность
приближенных решений:
Если данная последовательность сходится:
)1(
,
)2(
,....,
)(k
,... .
)(
lim
kXX
k
, то этот
предел является решением системы (2.11).
Можно доказать, что процесс итераций (2.13) сходится хорошо (число
приближений, необходимых для достижения заданной точности невелико),
если элементы матрицы A малы по модулю. Это значит, что для успешного
применения метода итераций модули диагональных элементов
a исходной
ii
системы должны быть велики по сравнению с недиагональными элементами
исходной матрицы.
Сформулируем без доказательства достаточное условие сходимости
метода простых итераций в терминах оценок элементов матрицы A:
Теорема. Если для приведенной системы (2.12) выполнено одно из
условий:
1)
3)
n
i
n
2
a
ji
1,
a
1
ij
ij
1, 2)
1 (
n
j
a
1
1 (
ij
),
),
то метод итераций (простых) для данной системы сходится к
единственному решению, независимо от выбора начального приближения.
Пример. Проверить условия теоремы для системы уравнений
110
Решение. Матрица A имеет вид:
xxx
211
xxx
.15
212
110
A .
51
Проверим условия:
1)
2)
3)
2
a ;
ij
1,
ji
2
a при
1
j
1
j
2
a при
2
j
1
j
1651
22222
111110
112751)1(10
;
.
Также можно проверить, что не выполняется и третье условие. Метод
простых итераций применить нельзя. Но исходную систему можно
переписать иначе:
35

Легко проверить, что в этом случае условия теоремы выполнены и
,...2,1;
,...,2,
1
kni
9640
метод применим.
Формулы (2.13) можно записать и в развернутом виде:
xxx
1.01.01.0
211
xxx
212
.2.02.02.0
A .
1.01.0
2.02.0
)0(
bx
,
i
k
i
i
n
j
1
k
)1()(
bxax
, (
jij
i
).
С помощью этих формул организуется циклический вычислительный
процесс, каждый цикл которого является одной итерацией.
В результате каждой итерации получено очередное приближение. Если
наибольшее по модулю значение разности неизвестных на двух
последовательных итерациях не превышает заданную погрешность ,
процесс прекращается. (Не предусмотрен случай отсутствия сходимости).
Пример. Решить систему методом простых итераций:
1210
xxx
321
13102
xxx
321
xxx
321
.141022
Решение. Приведем систему к виду (2.12):
1.01.02.1
xxx
321
1.02.03.1
xxx
312
.2.02.04.1
xxx
213
В качестве начального приближения возьмем систему чисел 2.1
)0(
0
x ; 0
2
3
)0(
x .
После первого шага получим:
)1(
x
1
)1(
x
2
)1(
x
3
После второго:
x
x
x
2.101.001.02.1
06.101.02.12.03.1
.16.102.02.12.04.1
)2(
1
)2(
2
)2(
3
.016.11.02.11.02.1
944.016.11.02.12.03.1
.948.006.12.02.12.04.1
)0(
x ;
1
36

В табл. 12 приведены вычисления с точностью до четырех знаков.
1;1;1
0
1.2000
0.0000
0.0000
Точное решение (
) практически достигается на 6-ой итерации.
Таблица 12
k
)(1k
x
)(2k
x
)(3k
x
1
2
3
4
5
6
1.2000
0.9640
1.0098
0.9975
1.0007
0.9998
1.0600
0.9440
1.0104
0.9966
1.0009
0.9997
1.1600
0.9480
1.0144
0.9960
1.0012
0.9997
Сходящийся метод итераций обладает важным свойством
самоисправляемости, то есть отдельная ошибка в вычислениях не отразится
на окончательном результате, так как каждое промежуточное значение
неизвестных можно принять за новое начальное приближение. Если процесс
итераций сходится, то окончательный результат не зависит от выбора
начального приближения.
Достаточные условия сходимости метода итераций накладывают
жесткие ограничения на коэффициенты системы (2.12). Однако, если
определитель матрицы А не равен нулю, то систему (2.11) с помощью
элементарных преобразований всегда можно заменить эквивалентной
системой (2.12), для которой условия сходимости будут выполняться.
Практически поступают следующим образом. Из заданной системы
выделяют уравнения с коэффициентами, модули которых больше
суммы модулей остальных коэффициентов уравнения. Каждое выделенное
уравнение выписывают в такую строку новой системы, чтобы наибольший
по модулю коэффициент оказался диагональным. Из оставшихся
неиспользованных и выделенных уравнений системы с помощью операций
сложения уравнений и умножения уравнений на число получают новые
уравнения системы такие, чтобы один из коэффициентов по абсолютной
величине оказался больше суммы абсолютных величин остальных
коэффициентов. При этом нужно позаботиться, чтобы каждое уравнение
исходной системы участвовало в формировании новой системы.
Пример. Рассмотрим систему
37
xxxx
4321
xxxx
4321
xxxx
4321
xxxx
)1(3432
)2(252
4321
)3(1435
)4(42210

Решение. В уравнении (2) коэффициент при
)4()3(2)2()1(
2
x по модулю больше
3
суммы модулей остальных коэффициентов, поэтому можно принять это
уравнение за третье уравнение новой системы. Аналогично, уравнение (4)
можно взять в качестве первого уравнения новой системы. Для получения
уравнения (2) с максимальным по модулю коэффициентом при
x
2
достаточно составить разность уравнений (1) и (2). Получим уравнение
15
xxx . Подбором убеждаемся, что за уравнение (4) можно взять
321
линейную комбинацию
, т.е. 01093
xx . В
41
итоге получаем систему уравнений, для которой метод итерации сходится
xxx
321
xxxx
15
xxxx
xx
41
4321
.1093
42210
4321
252
2.5. Метод Зейделя
Одним из самых распространенных итерационных методов,
отличающийся простотой и легкостью программирования, является метод
Гаусса-Зейделя. Он представляет собой модификацию метода простых
итераций и состоит в следующем.
)0(
x
1
)0(
x
Пусть
X
)0(
первого приближения
2
.....
x
- нулев3ое приближение. При нахождении
)0(
n
)1(
x
1
X
)1(
.....
системы (2.12) поступаем следующим
)1(
x
n
образом:
11
21
31
)0(
1
)1(
1
)1(
1
)1(
1
)1(
2
)1(
3
)1(
)1(
1
1
То есть, для нахождения
значение
38
)1(
x , для
1
)1(
x - значения
3
12
22
32
)0(
...
2
)0(
...
2
)1(
2
...
)0(
1
nn
2
nn
3
nn
bxaxaxax
1
)0(
bxaxaxax
2
)0(
bxaxaxax
3
...................................................................
)1(
2
2
)1(
x используется только что найденное
2
)1(
x и
1
nnnnn
x и т.д. По такому же правилу
)1(
1
)1(
2
1
n
)0(
....
bxaxaxaxax
nnnn

находится второе приближение и т.д. При нахождении k-го приближения
k
948
00544
3k
6k
4k
k
)(2)(
)( k
k
1
kk
шаге неизвестные
k
m
)(
1
)()(
),...,,...,,(
xxxxX используются только что найденные на
n
)(
kk
,...,,
2
)(
k
xxx
:
1
m
-м
)(
)(
k
m
k
1
m
1
m
k
nmn
)(
k
2
2
)1(
m
mm
)(
k
1
1
m
.,...,2,1,
nmbxa
)1(
k
xaxaxaxax
nmm
......
Можно показать, что теорема о сходимости метода простых итераций
остается верной и для метода Зейделя. Обычно метод Гаусса-Зейделя дает
более быструю сходимость, чем метод простых итераций. Процесс Зейделя
может сходиться даже в том случае, если расходиться процесс итерации.
Однако, возможны случаи, когда процесс Зейделя сходится медленнее
процесса итерации или, когда процесс итерации сходится, а процесс Зейделя
расходится.
Пример. Решим предыдущую систему при том же начальном
приближении методом Зейделя.
Решение.
)1(
1.01.02.1
xxx
321
)2(
x
1
)2(
x
2
)2(
x
3
1.02.03.1
xxx
312
2.02.04.1
xxx
213
x
1
)1(
x
2
)1(
x
3
9922.0948.01.006.11.02.1
.1948.01.09992.02.03.1
и т.д.
948.00054.12.09992.02.04.1
2.101.001.02.1
06.101.02.12.03.1
.006.12.02.12.04.1
В табл. 13 помещены результаты вычислений с округлением до 4-х
знаков после запятой. Видно, что при
что и для метода простых итераций при
достигается такая же точность,
. При
получается
“точное” решение.
Таблица 13
)(1k
x
)(2k
x
)(3k
x
0
1
2
3
1.2000
1.2000
0.9992
0.9996
0.0000
1.0600
1.0054
1.0001
0.0000
0.9480
0.9991
1.0001
4
5
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
39

Задачи для самостоятельного решения
A
1. Найти решение системы линейных уравнений по формулам Крамера
xxx
xxx
421
2449
421
275
51255
xxxx
4321
xxxx
4321
.314454
2. Решить методом Гаусса систему уравнений
43
xxx
321
92
xxx
321
xxx
321
.552
3. Решить методом Гаусса систему уравнений
3234
xxxx
4321
62463
xxxx
4321
xxxx
4321
xxxx
4321
43642
.7432
4. Для матрицы A
найти обратную матрицу
5. Дана система
Проверить условия сходимости процесса итерации к точному решению
системы.
6. Решить систему методом простых итераций:
4351
A
1
55.325
xxx
321
1432
4233
6521
xxxx
4321
xxxx
4321
xxxx
4321
xxxx
4321
70.219.01.22.19.20
46.275.25.12.212.1
76.283.18.195.11.2
.72.491.323.15.29.0
xx
xxx
34.34.9
32
321
.143.7
40
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
