3237
.pdf.......................................,
где A (aij ) , X (x j ) , B |
(b j ) , |
( i, j 1,2,..., n ), |
||||
aij |
aij |
, |
b j |
b j |
. |
|
aii |
aii |
|||||
|
|
|
|
|||
В результате получается бесконечная последовательность |
||||||
приближенных решений: |
X (1) , |
X (2) ,...., X (k ) ,... . |
Если данная последовательность сходится: X lim X (k ) ,
k
то этот предел является решением системы (3.11).
Можно доказать, что процесс итераций (3.13) сходится хорошо (число приближений, необходимых для достижения заданной точности невелико), если элементы матрицы A малы по модулю. Это значит, что для успешного применения метода итераций модули диагональных элементов aii исходной
системы должны быть велики по сравнению с недиагональными элементами исходной матрицы.
Сформулируем без доказательства достаточное условие сходимости метода простых итераций в терминах оценок
элементов матрицы A : |
|
|
|
|
|||||
Теорема. |
|
Если |
для |
приведенной системы (3.12) |
|||||
выполнено одно из условий: |
|
|
|||||||
n |
|
aij2 |
1, |
|
n |
aij |
|
1 ( i 1,2,..., n ), |
|
1) |
|
2) |
|
|
|||||
i, j |
1 |
|
|
|
j 1 |
|
|
|
|
n |
|
aij |
|
1 |
|
|
|
|
|
3) |
|
|
( j |
1,2,..., n ), |
|||||
i 1 |
|
|
|
|
|
|
|
|
|
то метод итераций (простых) для данной системы сходится к единственному решению, независимо от выбора начального приближения.
Пример. Проверить условия теоремы для системы
уравнений |
x1 |
10x1 |
x2 |
1 |
|
x2 |
x1 |
5x2 |
1. |
||
|
70
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
1 |
Решение. Матрица |
A имеет вид: |
A |
1 |
5 . |
|||||||||||
Проверим условия: |
|
|
|
|
|
|
|
|
|
||||||
2 |
aij2 |
102 |
|
|
1)2 |
12 |
52 |
|
|
|
|||||
1) |
( |
127 |
1; |
|
|||||||||||
i, j |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
||
2 |
|
|
a1 j |
|
10 |
|
|
1 |
|
11 |
1 при |
|
|
|
|
2) |
|
|
|
|
|
|
i 1; |
|
|||||||
j |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
2 |
|
|
a2 j |
|
|
1 |
5 |
|
6 |
1 при i |
|
|
|
||
3) |
|
|
|
|
2 . |
|
|
||||||||
j |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Также можно проверить, что не выполняется и третье условие. Метод простых итераций применить нельзя. Но исходную систему можно переписать иначе:
x1 |
0.1x1 |
0.1x2 |
0.1 |
A |
01. |
01. |
x2 |
0.2x1 |
0.2x2 |
0.2. |
0.2 |
0.2 . |
Легко проверить, что в этом случае условия теоремы выполнены и метод применим.
Формулы (3.13) можно записать и в развернутом виде:
x(0) |
b , |
|
|
|
|
i |
i |
|
|
|
|
x(k ) |
n |
|
x(k 1) |
|
|
a |
ij |
b |
, ( i 1,2,..., n; k 1,2,... ). |
||
i |
|
j |
i |
|
j1
Спомощью этих формул организуется циклический вычислительный процесс, каждый цикл которого является одной итерацией.
Врезультате каждой итерации получено очередное приближение. Если наибольшее по модулю значение разности
неизвестных на двух последовательных итерациях не
71
превышает заданную погрешность , процесс прекращается. (Не предусмотрен случай отсутствия сходимости).
Пример. Решить систему методом простых итераций:
10x1 x2 x3 12
2x1 10x2 x3 13 2x1 2x2 10x3 14.
Решение. Приведем систему к виду (3.12):
x1 1.2 0.1x2 0.1x3 x2 1.3 0.2x1 0.1x3 x3 1.4 0.2x1 0.2x2 .
В качестве начального приближения возьмем систему
чисел x(0) |
1.2 ; |
x |
(0) |
0 ; |
x(0) |
0 . |
|
|
||
1 |
|
2 |
|
|
3 |
|
|
|
|
|
После первого шага получим: |
|
|
|
|
||||||
|
|
x |
(1) |
1.2 |
0.1 |
0 |
0.1 |
0 |
|
1.2 |
|
|
1 |
|
|
|
|
|
|
|
|
|
|
x2(1) |
1.3 |
0.2 |
1.2 |
0.1 |
0 |
1.06 |
||
|
|
x3(1) |
1.4 |
0.2 |
1.2 |
0.2 |
0 |
1.16. |
x |
(2) |
1.2 |
0.1 1.2 |
0.1 1.16 |
0.9640 |
1 |
|
|
|
|
|
После второго: x2(2) |
1.3 |
0.2 1.2 |
0.1 1.16 |
0.944 |
|
x3(2) |
1.4 |
0.2 1.2 |
0.2 1.06 |
0.948. |
В таблице 13 приведены вычисления с точностью до
четырех знаков. Точное решение |
(1; 1; 1) |
практически |
достигается на 6-ой итерации. |
|
|
72
|
|
|
Таблица 13 |
|
|
|
|
|
|
k |
(k ) |
(k ) |
(k ) |
|
|
x1 |
x2 |
x3 |
|
0 |
1.2000 |
0.0000 |
0.0000 |
|
1 |
1.2000 |
1.0600 |
1.1600 |
|
2 |
0.9640 |
0.9440 |
0.9480 |
|
3 |
1.0098 |
1.0104 |
1.0144 |
|
4 |
0.9975 |
0.9966 |
0.9960 |
|
5 |
1.0007 |
1.0009 |
1.0012 |
|
6 |
0.9998 |
0.9997 |
0.9997 |
|
Сходящийся метод итераций обладает важным свойством самоисправляемости, то есть отдельная ошибка в вычислениях не отразится на окончательном результате, так как каждое промежуточное значение неизвестных можно принять за новое начальное приближение. Если процесс итераций сходится, то окончательный результат не зависит от выбора начального приближения.
Достаточные условия сходимости метода итераций накладывают жесткие ограничения на коэффициенты системы (3.12). Однако, если определитель матрицы А не равен нулю, то систему (3.11) с помощью элементарных преобразований всегда можно заменить эквивалентной системой (3.12), для которой условия сходимости будут выполняться. Практически поступают следующим образом. Из заданной системы выделяют уравнения с коэффициентами, модули которых
больше |
суммы |
модулей остальных |
коэффициентов |
уравнения. |
Каждое |
выделенное уравнение |
выписывают в |
такую строку новой системы, чтобы наибольший по модулю коэффициент оказался диагональным. Из оставшихся неиспользованных и выделенных уравнений системы с помощью операций сложения уравнений и умножения уравнений на число получают новые уравнения системы такие, чтобы один из коэффициентов по абсолютной величине оказался больше суммы абсолютных величин остальных коэффициентов. При этом нужно позаботиться, чтобы каждое
73
уравнение исходной системы участвовало в формировании новой системы.
Пример. Рассмотрим систему
2x1 |
3x2 |
4x3 |
x4 |
3 |
(1) |
x1 |
2x2 |
5x3 |
x4 |
2 |
(2) |
5x1 |
3x2 |
x3 |
4x4 |
1 |
(3) |
10x1 |
2x2 |
x3 |
2x4 |
4 |
(4) |
Решение. В уравнении |
(2) коэффициент при x3 по |
модулю больше суммы модулей остальных коэффициентов, поэтому можно принять это уравнение за третье уравнение новой системы. Аналогично, уравнение (4) можно взять в качестве первого уравнения новой системы. Для получения уравнения (2) с максимальным по модулю коэффициентом при x2 достаточно составить разность уравнений (1) и (2).
Получим уравнение x1 5x2 x3 1 . Подбором убеждаемся, что за уравнение (4) можно взять линейную комбинацию
2 (1) (2) 2(3) (4) , т.е. 3x1 9x4 10 0 . В итоге получаем систему уравнений, для которой метод итерации сходится
10x1 |
2x2 |
x3 |
2x4 |
4 |
x1 |
5x2 |
x3 |
|
1 |
x1 |
2x2 |
5x3 |
x4 |
2 |
3x1 |
|
|
9x4 |
10. |
3.5. Метод Зейделя
Одним из самых распространенных итерационных методов, отличающийся простотой и легкостью программирования, является метод Гаусса-Зейделя. Он представляет собой модификацию метода простых итераций и состоит в следующем.
74
x1(0)
Пусть |
|
X (0) |
|
|
x2(0) |
- нулевое приближение. |
При |
||||||||||||
|
|
|
|
|
..... |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
xn(0) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x(1) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
нахождении |
|
первого |
|
приближения |
|
|
X (1) |
..... |
системы |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
xn(1) |
|
|
|
(3.12) поступаем следующим образом: |
|
|
|
|
|
|
|||||||||||||
x(1) |
a |
|
x(0) |
a |
x(0) |
... |
a |
|
x(0) |
b |
|
|
|
|
|||||
1 |
11 |
1 |
|
|
12 |
2 |
|
|
1n |
|
n |
1 |
|
|
|
|
|||
x(1) |
a |
21 |
x(1) |
a |
22 |
x(0) |
... |
a |
2n |
x |
(0) |
b |
|
|
|
|
|||
2 |
|
1 |
|
|
2 |
|
|
|
|
n |
2 |
|
|
|
|
||||
x(1) |
a |
31 |
x(1) |
a |
32 |
x(1) |
... |
a |
3n |
x(0) |
b |
|
|
|
|
||||
3 |
|
1 |
|
|
2 |
|
|
|
n |
3 |
|
|
|
|
|||||
.......... .......... .......... .......... .......... .......... ....... |
|
|
|
|
|||||||||||||||
x(1) |
a |
n1 |
x(1) |
a |
n2 |
x(1) |
... |
a |
nn 1 |
x(1) |
a |
nn |
x(0) |
b . |
|
||||
n |
|
1 |
|
|
2 |
|
|
n 1 |
|
n |
n |
|
|||||||
То есть, для нахождения |
x2(1) |
|
используется только что |
||||||||||||||||
найденное значение x |
(1) , |
для |
x(1) - значения x |
(1) |
и |
x(1) |
и т.д. |
||||||||||||
|
|
|
|
1 |
|
|
3 |
|
|
|
|
|
|
1 |
|
2 |
|
По такому же правилу находится второе приближение и т.д.
При |
|
нахождении |
|
k -го |
|
|
приближения |
|||||||
X (k) (x(k) |
,x(k) ,..., x(k) ,..., x(k) ) |
используются |
только что |
|||||||||||
|
1 |
2 |
|
m |
n |
|
|
|
|
|
|
|||
найденные на |
|
k -м шаге неизвестные x(k ) ,x(k ) |
,..., x(k ) : |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
1 |
2 |
|
m 1 |
x(k ) |
a |
m1 |
x(k ) |
a |
m2 |
x(k ) ... |
a |
mm 1 |
x(k ) |
a |
mm |
x(k 1) ... |
||
m |
|
|
1 |
|
|
2 |
|
m 1 |
|
n |
||||
|
|
a |
mn |
x(k |
1) |
b , |
m |
1,2,..., n. |
|
|
|
|||
|
|
|
|
n |
|
|
m |
|
|
|
|
|
|
Можно показать, что теорема о сходимости метода простых итераций остается верной и для метода Зейделя.
75
Обычно метод Гаусса-Зейделя дает более быструю сходимость, чем метод простых итераций. Процесс Зейделя может сходиться даже в том случае, если расходиться процесс итерации. Однако, возможны случаи, когда процесс Зейделя сходится медленнее процесса итерации или, когда процесс итерации сходится, а процесс Зейделя расходится.
Пример. Решим предыдущую систему при том же начальном приближении методом Зейделя.
Решение.
x |
|
1.2 |
0.1x |
0.1x |
|
|
x |
(1) |
1.2 |
0.1 0 |
0.1 0 |
1.2 |
|
|
|
|
|
1 |
|
|
|
|
|
||||||
1 |
|
2 |
|
3 |
|
|
|
|
|
|
|
|
|
|
x |
|
1.3 |
0.2x |
0.1x |
|
|
x |
(1) |
1.3 |
0.2 1.2 |
0.1 0 |
1.06 |
||
2 |
1.4 |
1 |
|
3 |
|
|
|
2 |
|
|
|
|
|
|
x3 |
0.2x1 |
0.2x2 |
|
|
|
(1) |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
x3 |
1.4 |
0.2 1.2 |
0.2 1.06 |
0.948 |
||
x |
(2) |
1.2 |
0.1 1.06 |
0.1 |
0.948 |
0.9922 |
|
|
|
|
||||
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x2(2) |
1.3 |
0.2 |
0.9992 |
0.1 |
0.948 |
1.00544 |
и т.д. |
|
||||||
x3(2) |
1.4 |
0.2 |
0.9992 |
0.2 |
1.0054 |
0.948 |
|
|
|
В таблице 14 помещены результаты вычислений |
с |
округлением до 4-х знаков после запятой. Видно, что при k |
3 |
достигается такая же точность, что и для метода простых
итераций при k |
6 . При k |
4 получается “точное” решение. |
||||||
|
|
|
|
|
|
Таблица 14 |
||
|
k |
|
(k ) |
|
(k ) |
|
(k ) |
|
|
|
|
x1 |
|
x2 |
|
x3 |
|
|
0 |
|
1.2000 |
|
0.0000 |
|
0.0000 |
|
|
1 |
|
1.2000 |
|
1.0600 |
|
0.9480 |
|
|
2 |
|
0.9992 |
|
1.0054 |
|
0.9991 |
|
|
3 |
|
0.9996 |
|
1.0001 |
|
1.0001 |
|
|
4 |
|
1.0000 |
|
1.0000 |
|
1.0000 |
|
|
5 |
|
1.0000 |
|
1.0000 |
|
1.0000 |
|
|
|
|
|
|
|
|
|
|
76
Задачи для самостоятельного решения
1. Найти решение системы линейных уравнений по формулам Крамера
9x1 4x2 4x4 2 5x1 7x2 x4 2
5x1 5x2 12x3 x4 5
4x1 5x2 4x3 14x4 3.
2. Решить методом Гаусса систему уравнений
3x1 x2 x3 4 x1 x2 2x3 9
2x1 5x2 x3 5.
3. |
Решить методом Гаусса систему уравнений |
|||||
|
4x1 |
3x2 |
2x3 |
x4 |
|
3 |
|
3x1 |
6x2 |
4x3 |
2x4 |
6 |
|
|
2x1 |
4x2 |
6x3 |
3x4 |
4 |
|
|
x1 |
2x2 |
3x3 |
4x4 |
|
7. |
4. |
Для матрицы A |
|
|
|
|
|
|
|
1 |
5 |
3 |
4 |
|
|
A |
2 |
3 |
4 |
1 |
|
|
3 |
3 |
2 |
4 |
|
|
|
|
|
||||
|
|
1 |
2 |
5 |
6 |
|
найти обратную матрицу A 1
5. Дана система
77
20.9x1 |
1.2x2 |
2.1x3 |
0.9x4 |
21.70 |
1.2x1 |
21.2x2 |
1.5x3 |
2.5x4 |
27.46 |
2.1x1 |
1.5x2 |
19.8x3 |
1.3x4 |
28.76 |
0.9x1 |
2.5x2 |
1.3x3 |
32.1x4 |
49.72. |
Проверить условия сходимости процесса итерации к точному решению системы.
6. Решить систему методом простых итераций:
25x1 x2 3.5x3 5
|
9.4x2 |
3.4x3 |
3 |
x1 |
x2 |
7.3x3 |
14. |
7. Решить систему методом простых итераций с точностью 0.001:
8x1 |
4x3 3x4 |
0, |
|
|
5x1 |
11x2 |
x3 |
4x4 |
4, |
3x1 |
x2 |
6x3 |
x4 2, |
|
5x1 |
3x2 |
4x3 |
13x4 |
1. |
8. Для системы
6x1 x2 x3 11.33 x1 6x2 x3 32 x1 x2 6x3 42
известны приближенные значения неизвестных, полученные методом Гаусса с тремя значащими цифрами
x1 |
4.67, |
x2 |
7.62 , x3 9.05 . |
||
Методом |
Зейделя |
|
уточнить решения так, чтобы |
||
значения неизвестных x |
(k ) |
и |
x(k 1) |
отличались не более чем |
|
|
i |
|
i |
|
|
на 5 10 4 . |
|
|
|
|
|
78
4. РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ И СИСТЕМ
4.1. Общие замечания
Общий вид нелинейного уравнения |
|
f (x) 0 . |
(4.1) |
Нелинейные уравнения можно разделить на два класса алгебраические и трансцендентные.
Алгебраическими уравнениями называются уравнения, содержащие только алгебраические функции (целые,
рациональные, иррациональные). |
|
|
|
Уравнения, |
содержащие |
другие |
функции |
(тригонометрические, логарифмические, показательные и др.), называются трансцендентными.
Методы решения нелинейных уравнений делятся на |
|
прямые и итерационные. Прямые |
методы позволяют записать |
корни в виде формулы |
(для тригонометрических, |
логарифмических, показательных, |
а также простейших |
алгебраических уравнений - из школы). |
|
Однако не все уравнения удается решить такими простыми методами. Для их решения используются итерационные методы.. Алгоритм нахождения корня уравнения с помощью этих методов состоит из двух этапов:
1.Отыскание приближенного значения корня или содержащего его отрезка;
2.Уточнения приближенного значения до некоторой заданной степени точности.
4.2.Нахождение действительных корней уравнения
Пусть дана непрерывная функция f (x) |
и требуется |
||||||
найти |
корни |
уравнения |
f (x) 0 . |
Всякое |
значение |
, |
|
обращающее функцию f (x) |
в нуль, |
т.е. такое, |
что f ( ) |
0 , |
|||
называется корнем функции |
f (x) или уравнения (4.1). Если |
||||||
f ( ) |
0 , но f |
( ) 0 , то |
- простой |
корень. |
|
|
79