называется корнемуравнения (1) или нулем функции f(x).
Задача нахождения корня уравнения f(x) = 0 итерационным методом состоит из двух этапов:
1. отделение корней - отыскание приближенного значения корня или содержащего его отрезка;
2. уточнение приближенных корней - доведение их до заданной степени точности.
Процесс отделения корней начинается с установления знаков функции f(x) в граничных x = a и x = b точках области ее существования.
Пример 1. Отделить корни уравнения:
|
f(x)є x3 - 6х + 2 = 0. |
(2) |
Составим приблизительную схему:
|
x |
-? |
-3 |
-1 |
0 |
1 |
3 |
+? |
|
|
f(x) |
- |
- |
+ |
+ |
- |
+ |
+ |
Следовательно, уравнение (2) имеет три действительных корня, лежащих в интервалах [-3, -1], [0, 1] и [1, 3].
Приближенные значения корней (начальные приближения) могут быть также известны из физического смысла задачи, из решения аналогичной задачи при других исходных данных, или могут быть найдены графическим способом.
В инженерной практике распространен графический способ определения приближенных корней.
Принимая во внимание, что действительные корни уравнения (1) - это точки пересечения графика функции f(x) с осью абсцисс, достаточно построить график функции f(x) и отметить точки пересечения f(x)с осью Ох, или отметить на оси Ох отрезки, содержащие по одному корню. Построение графиков часто удается сильно упростить, заменив уравнение (1) равносильным ему уравнением:
|
, |
(3) |
где функции f1(x) и f2(x) - более простые, чем функция f(x). Тогда, построив графики функций у = f1(x) и у = f2(x), искомые корни получим как абсциссы точек пересечения этих графиков.
Рисунок 2.
Пример 2.Графически отделить корни уравнения (Рисунок 2):
|
x lg x = 1. |
(4) |
Уравнение (4) удобно переписать в виде равенства:
lg x=.
Отсюда ясно, что корни уравнения (4) могут быть найдены как абсциссы точек пересечения логарифмической кривой y = lg x и гиперболы y = . Построив эти кривые, приближенно найдем единственный корень уравнения (4) или определим его содержащий отрезок [2, 3].
Итерационный процесс состоит в последовательном уточнении начального приближения х0. Каждый такой шаг называется итерацией. В результате итераций находится последовательность приближенных значений корня х1, х2, ..., хn. Если эти значения с увеличением числа итераций n приближаются к истинному значению корня, то говорят, что итерационный процесс сходится.
Метод простой итерации
Для использования метода итерации исходное нелинейное уравнение f(х) = 0 заменяется равносильным уравнением
|
x = j(x). |
(8) |
Пусть известно начальное приближение корня х = х0. Подставляя это значение в правую часть уравнения (8), получим новое приближение:
|
х1 = j(х0). |
Далее, подставляя каждый раз новое значение корня в (8), получаем последовательность значений:
|
(9) |
Геометрически метод итерации может быть пояснен следующим образом. Построим на плоскости хОу графики функций у = х и у = j(х). Каждый действительный корень уравнения (8) является абсциссой точки пересечения М кривой у = ?(х) с прямой у = х (Рисунок 6, а).
Рисунок 6.
Отправляясь от некоторой точки А0[x0,j(x0)], строим ломаную А0В1А1В2А2... (“лестница”), звенья которой попеременно параллельны оси Ох и оси Оу, вершины А0, А1, А2, ...лежат на кривой у=j(х), а вершины В1, В2, В3, …, - на прямой у = х. Общие абсциссы точек А1 и В1, А2 и В2, ..., очевидно, представляют собой соответственно последовательные приближения х1, х2, ... корня .
Возможен также другой вид ломаной А0В1А1В2А2 ... - “спираль” (Рисунок 6, б). Решение в виде “лестницы” получается, если производная j' (х) положительна, а решение в виде “спирали”, если j' (х) отрицательна.
На Рисунке 6, а, б кривая у = j (х) в окрестности корня - пологая, то есть <1, и процесс итерации сходится. Однако, если рассмотреть случай, где >1, то процесс итерации может быть расходящимся (Рисунок 7).
Рисунок 7.
Поэтому для практического применения метода итерации нужно выяснить достаточные условия сходимости итерационного процесса.
Теорема: Пусть функция? (х) определена и дифференцируема на отрезке [a, b], причем все ее значения? (х) [a, b].
Тогда, если существует правильная дробьqтакая, что
q < 1
при a < x < b,то: 1) процесс итерации
сходится независимо от начального значения х0 ?[a, b];
2) предельное значениеявляется единственным корнем уравнениях = j(х) на отрезке [a, b].
Пример 5. Уравнение
|
f(x) =--x3 - x- 1 = 0 |
(10) |
имеет корень x--[1, 2], так как f(1) = - 1 < 0 и f(2) = 5 > 0.
Уравнение (10) можно записать в виде
|
х = х3 - 1. |
(11) |
Здесь
j (х) = х3 - 1 и j' (х) = 3х2;
поэтому
j' (х) 3 при 1 х2
и, следовательно, условия сходимости процесса итерации не выполнены.
Если записать уравнение (10) в виде
|
(12) |
то будем иметь:
.
Отсюда при 1 х2 и значит, процесс итерации для уравнения (12) быстро сойдется.
Найдем корень ? уравнения (10) с точностью до 10-2. Вычисляем последовательные приближения хnс одним запасным знаком по формуле
Найденные значения помещены в Таблицу 1:
Таблица 1. Значения последовательных приближений xi.
|
i |
0 |
1 |
2 |
3 |
4 |
|
|
xi |
1 |
1,260 |
1,312 |
1,322 |
1,3243 |
С точностью до 10-2 можно положить ? = 1,324.
3. Метод Зейделя
3.1 Приведение системы к виду, удобному для итераций
Для того чтобы применить метод Зейделя к решению системы линейных алгебраических уравнений
Ax = b
с квадратной невырожденной матрицей A, необходимо предварительно преобразовать эту систему к виду
x = Bx + c.
Здесь B - квадратная матрица с элементами bij (i, j = 1, 2, …, n), c - вектор-столбец с элементами cij(i = 1, 2, …, n).
В развернутой форме записи система имеет следующий вид:
x1 = b11x1 + b12x2 + b13x3 + … + b1nxn + c1
x2 = b21x1 + b22x2 + b23x3 + … + b2nxn + c2
. . . . . . . . . . . . . . . . .
xn = bn1x1 + bn2x2 + bn3x3 + … + bnnxn + cn
Вообще говоря, операция приведения системы к виду, удобному для итераций, не является простой и требует специальных знаний, а также существенного использования специфики системы.
Самый простой способ приведения системы к виду, удобному для итераций, состоит в следующем. Из первого уравнения системы выразим неизвестное x1:
x1 = a11-1 (b1 - a12x2 - a13x3 - … - a1nxn),
из второго уравнения - неизвестное x2:
x2 = a21-1 (b2 - a22x2 - a23x3 - … - a2nxn),
и т. д. В результате получим систему
x1 = b12x2 + b13x3 + … + b1,n-1xn-1 + b1nxn+ c1 ,
x2 = b21x1 + b23x3 + … + b2,n-1xn-1 + b2nxn+ c2 ,
x3 = b31x1 + b32x2 + … + b3,n-1xn-1 + b3nxn+ c3 ,
. . . . . . . . . . . . . . . . . . . . . . .
xn = bn1x1 + bn2x2 + bn3x3 + … + bn,n-1xn-1 + cn ,
в которой на главной диагонали матрицы B находятся нулевые элементы. Остальные элементы выражаются по формулам
bij = -aij / aii, ci = bi / aii (i, j = 1, 2, …, n, j ? i)
Конечно, для возможности выполнения указанного преобразования необходимо, чтобы диагональные элементы матрицы A были ненулевыми.
3.2. Описание метода
Введем нижнюю и верхнюю треугольные матрицы
0 0 0 … 0 0 b12 b13 … b1n
b21 0 0 … 0 0 0 b23 … b2n
B1 = b31 b32 0 … 0 , B2 = 0 0 0 … b3n
. . . . . . . . . . . . . .
bn1 bn2 bn3 … 0 0 0 0 … 0
Заметим, что B = B1+ B2 и поэтому решение x исходной системы удовлетворяет равенству
x = B1x + B2 x + c .
Выберем начальное приближение x(0) = [x1(0), x2(0), …, xn(0)]T. Подставляя его в правую часть равенства при верхней треугольной матрице B2и вычисляя полученное выражение, находим первое приближение
x(1) = B1x(0) + B2x(1)
Подставляя приближение x(1), получим
x(2) = B1x(1) + B2x(2)
Продолжая этот процесс далее, получим последовательность x(0), x(1), …, x(n), … приближений к вычисляемых по формуле
x(k+1) = B1(k+1) + B2(k) + c
или в развернутой форме записи
x1(k+1) = b12x2(k) + b13x2(k) + … + b1nxn(k) + c1 ,
x2(k+1) = b21x1(k+1) + b23x3(k) + … + b2nxn(k) + c2 ,