Метод Риддера (Ridder’s method) является итерационным численным методом решения нелинейного уравнения непрерывной функции. Данный метод относится к методам интервалов локализации корня.
В соответствии с методом задача поиска корня в уравнении сводится к задаче:
- создание уникальной экспоненциальной функции вида ;
- поиска корня уравнения экспоненциальной функции , который будет являться приближением корня функции .
Параметр выбирается из условия, чтобы экспоненциальная функция проходила через точки , и таким образом, чтобы значения функции в данных точках лежали на прямой линии. Следует отметить, что точки и - это левая и правая граница интервала локализации корня функции , а точка - это середина интервала локализации корня, которая определяется по формуле .
Рис.1. Метод Риддера.
Значение функции в трех точках определяется в следующем виде:
› В точке значение функции определяется ;
› В точке значение функции определяется ;
› В точке значение функции определяется .
В представленных формулах используется параметр h, который определяется по формуле .
В связи с тем, что значение функции в рассматриваемых трех точках лежат на прямой линии, то значение функции в средней точки может быть определено по формуле:
Задача поиска корня уравнения f(x) сводится к поиску значения корней квадратного уравнения относительно переменной . Корень квадратного уравнения определяется по формуле:
Используя математические преобразования данное уравнение можно привести к виду:
Рассматриваемая экспоненциальная прямая пересекает ось абсцисс в точке, которая находится границах рассматриваемого отрезка (основные положения по получению следующей формулы можно посмотреть в методе хорд):
В результате подстановки переменной в данное уравнение получим формулу для определения точки пересечения функции с осью абсцисс.
В дальнейших расчетах вместо используемого знака «±» применяется математическое выражение . В результате приближенное значение корня функции определяется следующим выражением:
,
где функция определена следующим образом:
.
В качестве нового интервала для прохождения итерационного процесса выбираем один из двух или , на концах которого функция принимает значения разных знаков. Противоположность знаков значений функции на концах отрезка можно определить множеством способов. Один из множества этих способов — умножение значений функции на концах отрезка и определение знака произведения путём сравнения результата умножения с нулём:
или .
Итерационный процесс уточнения корня заканчивается, когда условие близости двух последовательных приближений станет меньше заданной точности, т.е.
.
Данный метод решения нелинейного уравнения характеризуется определёнными свойствами:
- приближенное значение корня на любой итерации всегда оказывается внутри интервала локализации корня [a,b];
- метод обладает сверхлинейной сходимостью с порядком сходимости √2. Вычисленная на основании него последовательность приближений сходится довольно быстро. Каждое последующее приближение будет в среднем на две значимые цифры более точным по сравнению с предыдущем значением.
Алгоритм нахождения корня нелинейного уравнения по методу Риддера
1. Найти начальный интервал неопределенности одним из методов отделения корней, задать малое положительное число . Положить .
2. Определить среднюю точку в рассматриваемом интервале и найти значения функции в трех точках: по краям рассматриваемого интервала , и в середине интервала.
3. Выполнить расчет приближенного значения корня функции в соответствии с формулой:
4. Определяем новый интервал неопределенности на котором находится искомых корень уравнения. При выборе данного интервала исходим из того, что функция на концах интервала должна принимать значение разных знаков. В соответствии с данным методом нахождения корня уравнения получается два возможных интервала неопределенности:
1 интервал: если , то новый интервал
2 интервал: если , то новый интервал
5. Проверяем значение корня на предмет заданной точности, в случае:
- если разность двух последовательных приближений станет меньше заданной точности , то итерационный процесс заканчивается.
- если разность двух последовательных приближений не достигает необходимой точности , то необходимо продолжить итерационный процесс и перейти к п.2 рассматриваемого алгоритма.
Пример решения уравнений методом Риддера
В качестве примера, рассмотрим решение нелинейного уравнения методом Риддера. Корень необходимо найти в рассматриваемом диапазоне с точностью .
Вариант решения нелинейного уравнения в программном комплексе MathCAD.
Результаты расчетов, а именно динамика изменения приближенного значения корня, а также погрешности расчета от шага итерации представлены в графической форме (см. рис.2).
Рис.2. Результаты расчета по методу Риддера
Для обеспечения заданной точности при поиске уравнения в диапазоне необходимо выполнить 5 итерации. На последнем шаге итерации приближенное значение корня нелинейного уравнения будет определяться значением: .