Метод секущих
Задача: Найти один корень заданного уравнения с относительной точностью 0.1%. f(x)=x5-3x2+1=0. Рассчитать предельно-точное значение корня уравнения ? (с погрешностью 10-12). В процессе решения уравнения методом простой итерации с погрешностью 10-4 — 10-5 рассчитать порядок сходимости метода секущих:
, n=0,1,2,…
Имеем уравнение f(x)=0, приведем его к удобному виду ?(x)=0, проделав, например, такие операции: f(x)=0?x+f(x)=x, где x+f(x)=?(x), получим, что ?(x)=x.
Для поиска корня следует выбрать два начальных приближений x0, x1 таких, чтобы они лежали как можно ближе к искомому корню ?. Последующие приближения вычисляются по итерационной формуле: xn+1=?(xn, xn+1), где
.
Итерационная формула получается из итерационной формулы метода Ньютона:
подставим получившуюся формулу в (1) и получим итерационную формулу для метода секущих.
Порядок сходимости вычисляется по формуле приведенной выше, выразив ? из следующей формулы:![]()
Критерий окончания расчета:
|xn+1-xn|? ?, где ? — заданная точность.
Подготовка и решение задачи
Алгоритм:

Описание входной информации: xs, xt — первое/второе начальные приближения, e — относительная погрешность (по условию задачи e=0.001).
Описание выходной информации: xn — корень, который удовлетворяет условию, f(xn) — значение функции в найденном корне, n — количество проведенных приближений (итераций), ? — предельно-точное значение корня, ? — порядок сходимости метода.
Решение задачи:
После выполнения программы сгенерировалось окно:

При точности e=0.001, был найден корень x=1,35=?, за 8 итераций, при начальных приближениях x0=2, x1=3, f(x)=0,000016.
Заметим, что ??1,62, так как для поиска мы использовали формулу (2), значит ? — это ни что иное как порядок сходимости метода. Из полученного значения следует, что метод секущих имеет сверхлинейную скорость сходимости.
Ссылки для скачивания:
Метод секущих на MatLab7