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