Методы Ньютона и простых итераций
.docГЛАВА 1. РЕШЕНИЕ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ
1. Метод Ньютона (метод касательных) 1
2. Метод простых итераций 3
1. Метод Ньютона (метод касательных)
Рассмотрим графическую иллюстрацию метода (рис. 1.4). Предположим, что графическим методом определено начальное приближение х0 к корню. В точке x0 вычислим левую часть решаемого уравнения f0 = f(x0), а также производную в этой точке f'(x0). За следующее приближение к корню возьмем точку x1, где касательная к функции f(x), проведенная из точки (x0, f0), пересекает ось абсцисс.
Уравнение прямой линии, проходящей через точку f0 = f(x0) и имеющей касательную f'(x0), можно записать в виде:
у(х) = f(x0)+f'(x0)(x- x0)
Чтобы найти x1, необходимо решить уравнение y(x1)=0:
у(х1) = f'(x0)(x1- x0)+ f(x0)=0
Решая это уравнение, получим основную формулу метода Ньютона
Затем считаем точку х1 в качестве начальной и продолжаем итерационный процесс. В общем виде для k+1-го шага итерационного процесса последнее соотношение принимает вид
(1.12)
Из рис. 1.4 видно, что таким способом можно приближаться к корню х*. При этом с каждой итерацией расстояние между очередным xk+1 и предыдущим хk приближениями к корню будет уменьшаться. Процесс уточнения корня закончим, когда выполнится условие
|xk+1-xk|< (1.13)
где - допустимая погрешность определения корня.
Рис. 1.4. Метод Ньютона
Алгоритм Ньютона можно получить другим способом с помощью разложения в ряд Тейлора левой части уравнения f(x) вблизи корня xk.
f(х) = f'(xk)( x- xk)+ f(xk)+…
Пренебрегая вкладами второго и более высоких порядков и из условия, чтобы в результате следующей итерации функция была равна нулю:
f(xk+1)=0
получим уравнение
f(xk+1) = f'(xk)( xk+1- xk)+ f(xk)=0
Откуда получим решение в виде (1.13).
Метод Ньютона обладает высокой скоростью сходимости. Обычно относительная погрешность решения 10-5 - 10-6 достигается через 5-6 итераций.
Недостатком метода является необходимость вычисления на каждой итерации не только левой части уравнения, но и ее производной.
Можно, несколько уменьшив скорость сходимости, ограничиться вычислением производной f'(x) только на первой итерации, а затем вычислять лишь значения f(x), не изменяя производной f'(x). Это алгоритм так называемого модифицированного метода Ньютона (рис. 1.5).
(1.14)
Рис. 1.5. Модифицированный метод Ньютона
Метод Ньютона (1.13) - (1.14) можно использовать для уточнения корней в области комплексных значений х, что необходимо при решении многих прикладных задач, в частности при численном моделировании электромагнитных колебательных и волновых процессов с учетом временной и пространственной диссипации энергии. В этом случае начальное приближение корню х0 необходимо выбирать комплексным.
2. Метод простых итераций
Исходное уравнение (1.1)
f(x)=0
всегда можно преобразовать к эквивалентному уравнению
х = (х) (1.24)
Пусть известно начальное приближение к корню x0, тогда подставим его в правую часть уравнения (1.24) и получим новое приближение x1 = (х0), затем аналогичным образом получим x2 = (х1) и так далее. Таким образом, итерационное уравнение метода простых итераций имеет вид:
xk+1 = (хk) (1.25)
Необходимо установить, при каких условиях итерационный процесс (1.25) будет сходиться к корню уравнения х*.
Построим графики двух функций:
y1(x)=x
y2(x)=(x)
Координаты пересечения графиков этих функций и дадут корень исходного уравнения (1.24) х*.
а) - односторонний сходящийся процесс |
б) - односторонний расходящийся процесс |
в) - двухсторонний сходящийся процесс |
г) - двухсторонний расходящийся процесс |
Рис. 1.7. Метод простых итераций:
Рассмотрим процесс графически (рис. 1.7). Из графиков видно, что при ’(х)> 0 и при ’(х) < 0 возможны как сходящиеся, так и расходящиеся итерационные процессы. Скорость сходимости зависит от абсолютной величины производной ’(х). Чем меньше |’(х)| вблизи корня, тем быстрее сходится процесс.
Установим теперь критерий сходимости математически. Пусть х* - корень уравнения (1.26), т.е. имеем
х*=( х*)
Пусть k и k+1 - отклонения k и k+1 приближения корня от точного значения корня х*:
хk=х*+k
хk+1=х*+k+1
Если процесс уточнения осуществляется вблизи корня х*, то функцию (х) можно приближенно представить двумя членами ряда Тейлора:
( хk)=( х*+k)=( х*)+’( х*)k
. Тогда итерационная формула (1.25) примет вид
Учитывая, что х* является корнем уравнения: х* = (х*), получим:
или
(1.26)
Для того чтобы итерационный процесс был сходящимся, должно выполняться условие
(1.27)
или
(1.28)
Из (1.26) видно, что максимальная сходимость будет в случае, если .
Переход от уравнения (1.1) к уравнению (1.24) можно осуществить различными способами в зависимости от вида функции f(x) . При таком переходе необходимо построить функцию такую (х), чтобы выполнялось условие сходимости (1.26). Рассмотрим один из общих алгоритмов перехода от уравнения (1.1) к уравнению (1.24). Умножим левую и правую части уравнения (1.1) на произвольную константу b и добавим к обеим частям неизвестное х. При этом корни исходного уравнения не изменятся
x+bf (х) = х +0b (1.27)
Введем обозначение
(х)=x+bf(x) (1.28)
и перейдем от соотношения (1.27) к уравнению (1.24).
Произвольный выбор константы b позволит обеспечить выполнение условия сходимости (1.26). Необходимо выбрать величину b такой, чтобы , тогда сходимость итерационного процесса будет двухсторонней (рис. 1.11, в). В этом случае в наиболее простом виде можно представить критерий окончания итерационного процесса
|xk+1-xk|< (1.29)
где - заданная абсолютная погрешность вычисления корня.
Если функция (х) выбрана в виде (1.28), то производная по х от этой функции будет
’(х) = 1+bf’(х)
Т.е. условие (1.26) имеет вид:
или
Или
Поэтому константу b необходимо выбирать из интервала:
А) если f’(х)>0
-2/f’(х*)<b<0
Б) если f’(х)<0
0<b<-2/f’(х*)
Наибольшую скорость сходимости получим при ’(х*)=0, тогда
b = -1/f’(х*)
и итерационная формула (125) переходит в формулу Ньютона
xk+1 =xk - f(хk)/f’(хk)
Таким образом, метод Ньютона имеет самую высокую скорость сходимости из всех итерационных процессов.