Геометрическая интерпретация метода представлена на рис. 3.8.
Пусть корень С уравнения f(x) = 0 отделен на [a, b]. Функция f(x) непрерывна на отрезке и на его концах имеет разные знаки. Точки А и В имеют координаты соответственно (a, f(a)) и (b, f(b)).
Искомым корнем С будет пресечение f(x) с осью х. В начале итераций вместо С ищется приближение x1 как результат пересечения оси х с хордой АВ.
Рис. 3.8
Уравнение прямой АВ запишем в виде .
Полагая у = 0, находим , что можно записать в следующем виде:
, или . (3.14)
Если x1 оказывается недостаточно точным, находят второе приближение:
. (3.15)
На основании (3.14) и (3.15) можно записать рекуррентную последовательность:
, если, (3.16)
и
, если. (3.17)
Заметим, что на выделенном интервале [a, b] имеют место четыре типа расположения кривой f(x).
Для I f '(x) > 0, f "(x) > 0 (рис. 3.9, а), для II f '(x) < 0, f "(x) < 0 (рис. 3.9, б), для III f '(x) > 0, f "(x) < 0 (рис. 3.9, в), для IV f '(x) < 0, f "(x) > 0 (рис. 3.9, г).
Тогда для I и II типов расположения кривой используется (3.16), т. е. х0 = а. Для III и IV типов используется (3.17), т. е. х0 = b.
В заключение заметим, что во всех методах для определения функции f(x) и ее производных целесообразно использовать схему Горнера.
Рассмотрим реализацию двух этапов решения нелинейных уравнений:
1) программа должна сначала выдать таблицу значений y = f(x) (отделение корней);
2) далее делается запрос на ввод начального приближения (это a, b, или (a + b)/2) и точности решения e.
Расчет функции и вычислительный алгоритм обычно выполняются в виде отдельных подпрограмм.
Рис. 3.9
Примерный алгоритм данных процедур представлен на рис. 3.10.
Значение m выбираем по усмотрению, но с соблюдением принципа «половинного деления», рассмотренного в п. 3.3.4.