Метод Ньютона-Рафсона, также известный как Метод Ньютона, представляет собой обобщенный метод поиска корня уравнения
(1) |
Примем x = xj в качестве j-го приближения к корню уравнения (1). Предположим, что xj не является решением. Следовательно, . Предположим также, что мы получили разложение в ряд Тейлора для уравнения (1) относительно точки x = xj:
(2) |
Если примем в качестве следующего члена x = xj+1, то уравнение (2) будет иметь вид:
(3) |
Теперь предположим, что справедливо необязательное допущение того, что предыдущее приближение xj было удовлетворительным, так что xj+1 - xj мало. Если это предположение верно, мы можем пренебречь членами более высокого порядка в уравнении (3), так как n-я степень малой величины значительно меньше, чем малая величина для n>=2. В этом случае уравнение (3) может быть аппроксимировано следующим образом:
(4) |
Нашей целью является выбор такого xj+1, чтобы оно стало решением уравнения (1). Следовательно, если наше предыдущее предположение справедливо, xj+1 должно быть выбрано таким, что. Приравняв уравнение (4) к нулю и решив относительно xj+1, получим:
(5) |
Уравнение (5) называется уравнением Ньютона - Рафсона. Если наше предположение, приведшее к выводу уравнения (5), справедливо, этот алгоритм будет сходящимся, но только в том случае, если точка начального приближения достаточно близка к точке решения. Геометрическая интерпретация сходящегося метода Ньютона - Рафсона приведена на рис. 1а.
а) метод сходится | б) метод не сходится |
Рис.1. Геометрическая интерпретация метода Ньютона - Рафсона
Однако, если точка начального приближения далека от точки решения, то метод Ньютона - Рафсона может не сходиться совсем. Геометрическая интерпретация не сходящегося метода Ньютона - Рафсона приведена на рис. 1б.
Назначение: поиск решения уравнения (1)
Вход:
Начальное приближение x0
Точность (число итераций I)
Выход:
xI - решение уравнения (1)
Инициализация:
calculate f’(x0)
Шаги:
1. repeat:
2. calculate xi using (5)
3. let i=i+1
4. if i>I then break the cycle
end of repeat
Модификация алгоритма Ньютона для решения системы нескольких уравнений заключается в линеаризации соответствующих функций многих переменных, т. е. аппроксимации их линейной зависимостью с помощью частных производных. Например, для нулевой итерации в случае системы двух уравнений:
Чтобы отыскать точку, соответствующую каждой новой итерации, требуется приравнять оба равенства нулю, т.е. решить на каждом шаге полученную систему линейных уравнений.