ЭВМ_Семестр3_МетодПособие
.pdf2.Проверка полученного решения
а) Отсылаем по частям записанную в ячейках листа Excel расширенную матрицу в MatLab. Для этого сначала выделяем ячейки с матрицей и потом копируем матрицу в буфер обмена. Затем, переходим в окно рабочего пространства и вставляем из буфера обмена содержащиеся в нѐм данные. В окне Import Wizard MATLAB просматриваем данные. Если данные скопированы правильно, нажимаем кнопку Next. Затем, встав указателей мышки в поле с именем переменной и кликнув правой кнопкой мыши, задаѐм нужное имя (A) вставляемой матрицы. Таким же образом копируем в MATLAB вектор правой части b. (кнопкой связи или из контекстного меню), выбираем «Send data to MATLAB» и указываем имя матрицы для MatLab, например, «A» (латинское) и щѐлкаем по «OK». Потом таким же образом отсылаем в MatLab вектор правых частей, в переменную «b».
Затем набиваем в поле окна ввода команду x=A\b (или x=linsolve(A, b) ) и даѐм Enter.
б) Для проверки в Excel можно написать обычный макрос, который прочитает расширенную матрицу с листа и обратится к процедуре KGAUSS. А можно использовать функцию, определѐнную пользователем, xCdGauss, как это описано в разделе «Программное обеспечение».
Варианты СЛАУ
|
|
1 |
1 |
2 |
|
|
|
4 |
|
|
0 |
1 |
3 |
2 |
|
|
|||||||||||
|
b |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
1. |
A |
3 |
|
1 1 |
13 |
|
16. |
A |
1 |
1 |
2 |
|
b |
5 |
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
2 |
3 1 |
|
1 |
|
4 |
1 |
2 |
7 |
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
1 |
|
3 2 |
|
|
|
7 |
|
|
|
3 |
1 1 |
|
b |
|
7 |
|
|
||||||||
2. |
A 2 |
|
6 |
1 |
|
b |
3 |
|
17. |
A |
2 |
5 |
3 |
7 |
|
|
|||||||||||
|
|
|
5 |
|
1 4 |
|
|
|
7 |
|
|
|
1 |
1 |
1 |
|
|
|
1 |
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
5 8 |
|
1 |
|
|
4 |
|
|
|
2 1 |
3 |
|
|
|
|
11 |
|
|||||||||
3. |
A |
1 |
|
2 |
|
3 |
|
|
b |
6 |
|
18. |
A |
0 2 |
3 |
|
b |
|
9 |
|
|||||||
|
|
2 |
|
3 2 |
|
|
|
3 |
|
|
|
1 3 |
2 |
|
|
|
12 |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
51
|
|
0 |
1 |
1 |
|
3 |
||||||
4. |
A |
|
3 1 2 |
|
|
|
|
|
||||
|
|
|
|
b 15 |
|
|||||||
|
|
|
1 |
3 |
2 |
|
|
|
9 |
|
||
|
|
1 |
|
1 |
1 |
|
|
|
|
7 |
|
|
5. |
A |
3 |
2 |
0 |
|
|
b |
5 |
|
|||
|
|
2 |
1 6 |
|
|
|
14 |
|
||||
|
|
|
|
|
|
|||||||
|
A |
|
2 |
|
1 |
1 |
b |
|
1 |
|||
6. |
|
1 |
1 |
1 |
|
|
6 |
|
||||
|
|
|
3 |
|
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
0 |
2 |
7 |
|
3 |
7. |
A |
2 |
1 |
3 |
b |
3 |
|
|
3 |
4 |
|
|
|
|
|
5 |
|
7 |
|
2 |
1 |
|
1 |
|
|
7 |
|
||||
8. |
|
|
|
|
|
|
|
|
|
|
|
|
A 1 |
3 |
2 |
|
|
b |
4 |
|
|||||
|
|
3 |
1 |
|
4 |
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|||||
9. |
|
2 |
3 |
|
4 |
|
|
11 |
|
|||
|
A |
1 |
2 |
|
3 |
|
b |
|
2 |
|
||
|
|
3 |
2 |
5 |
|
|
9 |
|
||||
|
|
|
|
|
||||||||
|
|
1 |
|
2 |
|
1 |
|
|
3 |
|
||
10. |
A |
3 |
5 3 |
|
b |
|
2 |
|
||||
|
|
1 |
7 |
|
2 |
|
|
12 |
|
|||
|
|
|
|
|
|
|
A |
|
2 |
3 |
1 |
|
|
2 |
|
|
11. |
|
2 |
1 |
3 |
b |
6 |
|
|||
|
|
|
3 |
2 |
|
|
|
|
5 |
|
|
|
|
1 |
|
|
|
||||
|
|
1 |
|
2 |
4 |
|
|
5 |
|
|
12. |
A |
5 |
|
1 |
2 |
|
b |
7 |
|
|
|
|
3 |
1 |
1 |
|
|
|
|
||
|
|
|
|
2 |
|
|
2 |
5 |
3 |
0 |
|
||||||
13. |
A |
4 |
3 |
2 |
|
|
b 11 |
|
||||
|
|
5 |
6 |
2 |
|
|
|
|||||
|
|
|
10 |
|
||||||||
|
|
2 |
1 |
1 |
|
b |
0 |
|
||||
14. |
A |
3 |
4 |
|
2 |
|
16 |
|
||||
|
|
3 |
2 |
4 |
|
|
|
|
|
|
||
|
|
|
|
|
4 |
|
||||||
|
|
1 |
1 |
2 |
|
|
|
|
5 |
|
|
|
15. |
A |
2 |
1 |
2 |
|
|
|
b |
7 |
|
||
|
|
4 |
1 |
4 |
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
4 |
|
2 |
|
|
5 |
|
||
19. |
A |
1 |
5 |
|
1 |
|
b |
6 |
|
||
|
|
2 |
1 |
|
|
|
|
9 |
|
||
|
|
|
3 |
|
|
||||||
|
|
2 |
1 |
3 |
|
5 |
|
||||
20. |
A |
3 |
4 |
|
5 |
b |
|
4 |
|
||
|
|
2 |
1 |
|
4 |
|
|
8 |
|
||
|
|
|
|
|
|
||||||
|
|
1 |
5 |
|
1 |
|
7 |
|
|
||
21. |
A |
2 |
1 |
|
1 |
b |
5 |
|
|
||
|
|
3 |
2 |
|
4 |
|
|
|
|
|
|
|
|
|
|
18 |
|
|
|||||
|
2 |
5 |
5 |
|
3 |
|
|||||
22. |
|
|
|
|
|
|
|
|
|
|
|
A 11 3 |
1 |
|
b 14 |
|
|||||||
|
|
|
|||||||||
|
|
1 |
1 |
|
|
|
|
6 |
|
|
|
|
|
|
1 |
|
|
|
|
|
|
1 |
1 |
1 |
|
b |
|
0 |
|
|
|
|
|||||||
23. |
A |
1 |
|
1 |
2 |
|
|
|
8 |
|
|
|
|
||||||
|
|
7 |
|
5 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
12 |
|
|
|
||||||||||
|
|
2 |
|
|
3 |
1 |
|
|
|
|
4 |
|
|
|
|
||||
24. |
A |
1 |
|
|
0 |
1 |
|
|
b |
6 |
|
|
|
|
|||||
|
|
1 |
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|||
|
|
|
1 1 |
|
|
|
|
|
|
|
|
||||||||
25. |
|
|
|
3 |
1 |
5 |
|
|
10 |
|
|
||||||||
A |
|
|
2 |
3 4 |
|
b |
8 |
|
|||||||||||
|
|
|
|||||||||||||||||
|
|
|
|
5 |
3 |
4 |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
5 |
|
|||||||||||
|
A |
1 |
2 |
2 |
|
|
|
1 |
|
|
|||||||||
26. |
1 |
1 |
2 |
|
b 16 |
|
|
||||||||||||
|
|
|
|
|
|
1 |
1 |
|
|
|
2 |
|
|
||||||
|
|
|
1 |
|
|
|
|
|
|||||||||||
|
A |
|
2 |
1 3 |
|
b |
|
1 |
|||||||||||
27. |
|
1 |
3 |
|
1 |
|
5 |
|
|||||||||||
|
|
|
|
5 |
2 |
|
1 |
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
2 |
||||||||||
|
A |
|
|
3 |
1 |
2 |
|
|
|
5 |
|
||||||||
28. |
|
|
2 |
3 |
1 |
|
|
b |
17 |
|
|
||||||||
|
|
|
|
5 |
1 |
|
3 |
|
|
|
|
19 |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
A |
|
8 3 |
4 |
|
|
|
|
9 |
|
|
|
|||||||
29. |
|
3 4 |
|
1 |
b 3 |
|
|||||||||||||
|
|
|
|
4 5 |
8 |
|
|
|
|
5 |
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
2 1 3 |
b |
|
|
9 |
|
||||||||||
30. |
A |
1 |
2 |
|
1 |
|
|
|
13 |
|
|||||||||
|
|
|
|
3 1 |
|
|
|
|
|
|
|
|
6 |
|
|
||||
|
|
|
|
1 |
|
|
|
|
|
|
52
3РАСЧЕТНО-ГРАФИЧЕСКАЯ РАБОТА №3 Решение СЛАУ итерационными методами
3.1Краткие теоретические сведения
3.1.1Об итерационных методах
Вряде случаев для решения СЛАУ удобно использовать итерационные методы (или методы последовательного приближения). В них вектор x0 начального приближения корректируется на после-
дующих k шагах приближения (до xk ) и в случае сходимости позволяет приблизиться к точному решению x* , к которому стремится xk при бесконечном увеличении числа k точно выполненных шагов. Реально вычисления прекращают при достижении требуемой точности; из-за этого в решение и при абсолютно точных вычислениях образуется погрешность метода. Этой погрешности нет в прямых методах (поэтому их также называют точными), но в результатах присутствует накопленные ошибки округлений.
Для решения СЛАУ Ax=b методом последовательных приближений сначала необходимо представить систему в подходящей для итераций форме. Общий вид преобразованной системы
x Cx d , |
(3.1) |
позволяет получить итерационную формулу, например, для разбираемого далее метода простых итераций:
x(k 1) Cx(k ) d , |
(3.2) |
где надстрочные (k+1) и (k) здесь - номера приближений (итераций). Преобразование к виду (3.1) можно выполнить по разным схемам; здесь будет рассмотрена одна часто встречаемая схема.
3.1.2 Метод простых итераций
Для получения итерационной формулы используем специальную схему преобразования системы: выразим неизвестные, расположенные на главной диагонали, следующей системы:
53
|
6x1 4x2 |
1x3 |
3 |
(I) (II) |
|
2x1 5x2 |
3x3 |
11 |
(II) (III) |
|
||||
|
|
|
10 |
(III) (I) |
0x1 3x2 4x3 |
x1(k 1)x2(k 1)x3(k 1)
0x1(k )
2x1(k )
0x1(k )
4x2(k ) 1x3(k ) 6 36
0x3(k ) 3x3(k ) 5 115
3x2(k ) 0x3(k ) 4 104
Выберем какой-то вектор x(0) начального приближения, например, x(0) 36 11 5 104 T 0.5 2.2 2.5 T , и найдѐм последующие приближения x(1) ,…, x(15) :
x1(1) |
0x1(0) 4 2.2 1 2.5 |
6 0.5 1.38 |
|
|
1.14 |
|
|
|
1.11 |
||||
|
|
|
|
|
|
|
|
|
|
|
|||
(1) |
(0) |
|
5 2.2 0.5 |
|
x(13) |
|
|
|
x(15) |
|
|
||
|
x2 |
2 0.5 |
0x2 1 2.5 |
,…, |
1.77 |
,..., |
1.82 |
||||||
|
x(1) |
0 0.5 3 |
2.2 0 x(0) |
|
4 2.5 0.85 |
|
|
|
|
|
|
||
|
|
0.89 |
|
|
|
0.91 |
|
||||||
|
3 |
|
3 |
|
|
|
|
|
|
|
|
|
|
В этом методе, называемом методом простых итераций или мето-
дом Якоби, на каждом шаге все компоненты вектора x(k ) использовались для вычисления вектора нового приближения x(k 1) . Можно заметить, что значения компонент вектора x(k ) постепенно приближаются к решению x* 1 2 1 T системы уравнений (с номерами I, II, III) из раздела 2, в которой здесь предварительно было выполнено преобразование, обозначенное в нумерации уравнений. Это предварительное преобразование исходной системы из раздела 2 выполнено с целью обеспечить сходимость итерационного процесса. Рассмотрим этот важный для итерационных методов вопрос.
Условия сходимости метода
Усматривая аналогию в решении СЛАУ Ax=b, x=? с методом простой итерации для одного скалярного уравнения a·x=b, x=?, запишем для них итерационные формулы:
x(k 1) c x(k ) d (x(k ) ) , |
x(k 1) |
Cx(k ) d . |
(3.3) |
x * x(k 1) c (x * x(k ) ) , |
x* x(k 1) C(x* x(k ) ) . |
(3.4) |
|
Для указанного слева одного |
линейного |
уравнения неравенство |
c 1 является достаточным условием сходимость к корню при любом начальном x(0) . Если ввести скалярную меру x , называемую нормой вектора, характеризующую размер вектора, применить
54
еѐ к векторам в (3.4) и записать |
x * x(k 1) |
и |
|
C(x * x( k ) ) |
|
, то урав- |
нение в (3.4) приобретѐт скалярный вид и сходство в строке (3.3) усилится.
Обобщая длину вектора как меру сразу всех его компонент, записы-
вают норму |
|
|
|
x |
|
|
|
|
вектора в виде: |
|
|
|
|
|
|
|
x1 |
|
|
|
|
|
|
|
|
|
|
|
p 1 p . |
|
||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
|
|
|
|
|
p |
p |
|
|
x1 |
|
p |
|
xn |
|
p |
p |
|
xn |
(3.5) |
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||
Практически используют нормы при p, равном 1, 2 и , то есть: |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
max |
|
|
|
|
|
|||||||||||||||||||||||||
|
|
x |
|
|
|
|
|
xi |
|
; |
|
|
x |
|
|
|
|
|
|
x |
|
|
x12 xn |
2 ; |
|
x |
|
|
|
|
xi |
|
. |
(3.6) |
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||
|
|
|
|
1 |
i 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
Рассматривая вместо Cx вектор Ce с произвольным единичным вектором e , вводят матричную норму C , подчинѐнную соответствующей векторной норме, как
C |
|
|
|
|
|
|
|
C |
|
p |
max |
|
|
|
Ce |
|
|
|
p . |
(3.7) |
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
e |
|
|
|
|
|
|
|
|
|
Она характеризует наибольшее растяжение вектора при умножении на C . Для итерационной формулы в (3.4) с учѐтом (4.7) можно записать:
x* x(k 1) |
|
|
|
C(x* x(k ) ) |
|
|
|
C |
|
|
|
(x* x(k ) ) |
|
. |
(3.8) |
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Из (3.8) по аналогии с условием c 1 можно заключить, что
для сходимости метода простых итераций при любом x(0) достаточно, чтобы матричная норма была бы меньше 1, то есть C 1.
Матричные нормы вычисляются по формулам:
|
|
|
n |
|
|
|
|
|
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
C |
|
1 maxj |
i 1 |
ci, j |
; |
|
C |
|
maxi |
j 1 |
ci, j |
. |
(3.9) |
|
|
|
|
|
|
|
|
|
|
Вторая норма матрицы, равная арифметическому корню из наибольшего собственного значения матрицы CTC , трудно вычисляема и для практической оценки сходимости не применяется. По аналогии с методом итераций для одного уравнения можно записать формулу для завершения итераций, гарантирующих абсолютную погрешность при достижении x(k 1) не больше, чем :
55
|
|
x(k 1) x(k ) |
|
|
1 |
|
|
|
|
|
Delta . |
(3.10) |
||||||||
|
|
|
|
C |
|
|
||||||||||||||
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
C |
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
C |
|
|
|
|
|
|
|
|
|
|
|||||
Для бесконечной нормы |
|
|
|
с величиной Delta |
сравнивают наи- |
|||||||||||||||
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
большую из разностей между компонентами x для итераций (k+1) и (k). По назначенной в расчѐтах величине Delta оценку гарантированной точности полученного решения можно определить по этой же формуле.
Достаточное условие сходимости (его называют диагональным преобладанием) сформулируем для специальной схемы получения итерационной формулы, использованной в численном примере.
Для сходимости метода простых итераций при решении СЛАУ Ax=b при любом начальном приближении x(0) достаточно, чтобы:
или абсолютная величина элемента на главной диагонали для любого столбца матрицы была больше суммы абсолютных величин всех дру-
|
|
n |
|
, j 1, , n , |
|
|
|
||
гих элементов этого столбца, то есть |
a j, j |
i 1 |
ai, j |
|
|
|
i j |
|
|
или абсолютная величина элемента на главной диагонали для любой строки матрицы была больше суммы абсолютных величин всех дру-
|
|
n |
|
|
, i 1, , n . |
|
|
|
|
||
гих элементов этой строки, то есть |
ai,i |
j 1 |
ai, j |
||
|
|
j |
i |
|
|
Заметим, что это достаточное условие – его выполнение гарантирует сходимость, но если оно не выполнено, то итерации могут как сходиться, так и расходиться. Например, для рассмотренного числового
|
|
|
|
|
|
|
|
|
|
|
|
|
5 2 3 |
|
a2,1 |
|
|
|
a2,3 |
|
, или для 2-го |
|
примера, |
|
для 2-ой строки: |
a2,2 |
|
|
|
|
|||||||||||||||
столбца |
|
a2,2 |
|
5 4 3 |
|
a1,2 |
|
|
|
a3,2 |
|
, |
а расчѐты показывают сходимость. |
|||||||||
|
|
|
|
|
|
Необходимые и достаточные условия требуют, чтобы все собственные значения матрицы C были по абсолютной величине меньше 1.
3.1.3 Метод Зейделя
Для рассмотренной в разделе 3 системы уравнений (I, II, III) выразим неизвестные, расположенные на главной диагонали,
56
|
2x1 |
1x2 |
1x3 |
|
1 |
(I) |
||
|
4x1 |
3x2 |
|
0x3 |
|
2 |
(II) |
|
|
|
|
||||||
2x |
2x |
2 |
3x |
3 |
9 |
(III) |
||
|
1 |
|
|
|
|
x(k 1)
x(k 1)
2
x3(k 1)1
0x1(k ) 1x2(k ) 1x3(k )
4x1(k 1) 0x3(k ) 0x3(k )
2x1(k 1) 2x2(k 1) 0x3(k )
2 123 233 93
То есть, применим такую же специальную схему преобразования системы, как и в методе простых итераций, однако, вычисляемые компоненты неизвестных здесь сразу используем в последующих уравнениях – на это указывают номера итераций (k+1) компонент, расположенных правее знаков равенства. В этом и состоит характерное отличие стационарного метода Зейделя, называемого ещѐ методом Зей-
деля-Гаусса.
Таким же образом (как в методе простых итераций) выберем век-
тор |
x(0) |
начального приближения, например, |
x(0) |
1 2 |
2 3 9 3 T |
||||||||
0.5 0.67 |
3 T , и найдѐм последующие приближения: |
|
|
|
|
|
|
||||||
|
x1(1) 0x1(0) 1 0.67 1 3 2 0.5 1.33 |
|
|
0.96 |
|
|
1.00 |
||||||
x(1) |
4 ( 1.33) 0x(0) 1 2.5 3 0.67 2.44 |
, |
x(2) |
|
1.95 |
|
, |
x(3) |
|
2.01 |
|
||
|
2 |
|
2 |
|
|
|
|
|
|
|
|
||
x(1) |
2 ( 1.33) 2 2.44 0 x(0) 3 3 0.48 |
|
|
|
1.06 |
|
|
|
|
0.99 |
|
||
|
3 |
|
3 |
|
|
|
|
|
|
|
|
|
|
Последовательность векторов x(k ) быстро сходится к решению x* 1 2 1 T .
Метод Зейделя во многом похож на метод простых итераций, для обоих методов справедливо сформулированное выше достаточное условие сходимости (для метода Зейделя допустимы не строгие неравенства и хотя бы одно строгое). Структура формулы (см. [1]) для завершения итераций при выполненном достаточном условии подобна
(3.10).
|
|
|
|
|
|
|
|
x(k 1) |
x(k ) |
|
|
1 |
Delta |
, |
|
|
|
|
(3.11) |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
но в качестве можно использовать вместо |
|
|
|
C |
|
|
величину |
|
||||||||||||||||||||||
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
n |
|
ci, j |
|
|
|
|
|
|
|
|
|
n |
ai, j |
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
max |
|
|
j i |
|
|
|
|
|
|
|
|
|
max |
|
|
|
|
|
j i 1 |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
i 1 |
|
|
|
|
|
|
или |
|
|
|
|
|
|
|
i 1 |
|
|
, |
(3.12) |
|||||||||
i |
1 |
|
ci, j |
|
|
|
i |
|
|
ai,i |
|
|
|
|
ai, j |
|||||||||||||||
|
|
j 1 |
|
|
|
|
|
|
|
|
|
|
|
|
j 1 |
|
|
|
||||||||||||
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
57
где формула, указанная слева, относится к преобразованной системе общего вида (3.1), а справа - к специальной схеме преобразования исходной системы.
Однако метод Зейделя и метод простых итераций имеют свои не одинаковые необходимые и достаточные условия сходимости. Поэтому можно привести примеры, для которых один из методов сходится, а другой нет. По условиям сходимости методов можно сказать, что для матриц СЛАУ с диагональным преобладание хорошо сходится метод простых итераций, а для быстрой сходимости метода Зейделя матрица должна быть близка к нижней треугольной. Заметим, что для строго нижней треугольной матрицы метод Зейделя даѐт решение после первой «итерации». Отметим, что нормализация системы (см. в разделах 3.2 и 5) делает еѐ теоретически сходящейся по методу Зейделя.
3.1.4 О применении итерационных методов
Для систем линейных уравнений с плотно заполненной матрицей итерационные методы не имеют преимуществ перед прямыми методами. Модификации прямых методов хорошо работают и с ленточными положительно-определѐнными матрицами (они часто встречаются в технических расчѐтах) – при решении ширина ленты не увеличивается и не занимает дополнительной памяти. Но для систем уравнений с редко заполненными матрицами больших размеров прямые методы, которые в процессе решения заполняют числами прежде «нулевые» элементы матрицы, требуют огромные объѐмы памяти. А вот итерационные методы не изменяют коэффициенты в матрице системы в процессе вычислений. Более того, для многих СЛАУ, встречающихся в приложениях, коэффициенты в уравнениях составляют небольшие наборы чисел, например, числа: 4; 2;-1, которые вообще не нужно хранить в матрице – они просто записываются в операторах расчѐтной программы. Если коэффициенты легко вычисляются, то также можно обойтись без матрицы. Для таких СЛАУ итерационные методы весьма эффективны. Заметим, что при хорошей сходимости (о чѐм в итерационных методах приходится особо заботиться) требуется мало итераций для получения результата с небольшой инженерной точностью – это сокращает время решения задачи.
58
Отметим, что в пакетах для математических расчѐтов нет универсальной подпрограммы для эффективного решения СЛАУ итерационными методами. Отдельные программы тесно связаны со спецификой своих задач и успешно решают только их. Поэтому обычно программируют итерационное решение СЛАУ, ориентируясь на особенности структуры матрицы коэффициентов своей конкретной системы.
3.2 Задание к расчетно-графической работе №3
3.2.1 Текст задания
Задание 1. Решить СЛАУ из раздела 2.2 методом Зейделя; для этого:
a.Проверить и, при необходимости, обеспечить сходимость мето-
да. (Для обеспечения сходимости возможно потребуется преобразовать Ax b Hx f систему: Ax b к сходящейся Hx f .
см. далее «Способы приведения исходной СЛАУ…»).
b. Вычислить вектор начального приближения для системы H x f ,
у которой обеспечивается условие сходимости. Рекомендуется |
|
этот вектор вычисляется по формуле: x(0) f1 / h1,1 f2 / h2,2 |
f3 / h3,3 T . |
c. Привести систему Hx f к итерационной форме, |
выразив xi |
из i -го уравнения (для всех уравнений). Затем, используя вектор начального приближения x0 , выполнить по методу Зейделя необходимое число итераций для получения совпадения 2-ой после запятой значащей цифры во всех компонентах вектора решения.
Представить в отчѐте СЛАУ Ax b; Hx f с пояснением выполненного преобразования, программу расчета и результаты двух первых ( x(0) , x(1) ) и последнего приближений.
Задание 2. Решить СЛАУ (см. далее «Варианты задания 2») методом простых итераций или методом Зейделя. Компоненты вектора решения вычислять с абсолютной погрешностью не более 0.001.
3.2.2 Пример выполнения задания 1
а. Сходимость метода Зейделя гарантируется при выполнении како- го-либо условия, например, диагонального преобладания (способ 1) или преобладания нижней левой треугольной части матрицы (способ 2), нормализация системы также достаточна для теоретической схо-
59
димости метода (способ 3). Далее на примерах поясняются эти способы приведения Ax b к Hx f и проверки условий сходимости метода для системы Hx f .
Отметим, что при приведении исходной системы Ax b к сходящейся Hx f по способам 1 и 2 используют равносильные преобразования системы: складывают, вычитают, переставляют уравнения, предварительно умножают их на ненулевые коэффициенты; переставляют столбцы матрицы системы (т.е. меняют порядок неизвестных) и стремятся получить диагональное преобладание или (по способу 2) большие по абсолютной величине числа в нижней треугольной части матрицы. В способе 2 целесообразно проверить реализованное для системы из трѐх уравнений необходимое и достаточное условие сходимости метода Зейделя. При этом вычисляются коэффи-
циенты , 1 , 2 , 3 , |
4 , , , и для 2 |
4 убеждаются, что 2 4 2 и |
||
sign (α) (α γ) |β | , |
а при 2 4 |
сходимость |
имеет место при |
|
sign() ( ) 0 . Нормализация системы Ax b |
, которая заключа- |
|||
ется в умножении правой и левой еѐ частей на матрицу AT |
, теоре- |
тически гарантирует сходимость, но она может оказаться очень медленной.
Для рассмотренной в разделе 2.1 системы уравнений можно выполнить следующие (указанные в нумерации уравнений) преобразования
A x b |
2x1 |
1x2 |
1x3 |
1 |
(I) |
|
|
2x1 1x2 |
1x3 |
1 |
(I) |
||||||
|
4x1 |
3x2 |
0x3 |
|
2 |
(II) |
|
2x1 |
5x2 |
3x3 |
11 (II ) (II) (III) |
||||||
|
|
|
|
|
|||||||||||||
|
2x |
2x |
2 |
3x |
|
9 (III) |
|
|
0x |
3x |
2 |
4x |
3 |
9 |
(III ) (III) (I) |
||
|
|
1 |
|
3 |
|
|
|
|
1 |
|
|
|
|
то есть почленно сложить II-е и III-е уравнения и записать результат на место второго, а также сложить почленно I-е и III-е уравнения.и записать результат на место третьего уравнения. Результирующая система имеет нестрогое диагональное преобладание по строкам (в третьей строке – строгое), а также нестрогое диагональное преобладание по столбцам (во втором столбце – строгое). По каждому из этих признаков обеспечивается сходимость метода Зейделя. Однако в дальнейшем решении будет использовано преобладание нижней треугольной части исходной матрицы.
60