5.3.1. Метод секущих: функция root



Итерационный алгоритм, реализованный в функции root, который называется методом секущих, состоит в следующем (рис. 5.7):

1. Начальное приближение принимается за 0-е приближение к корню: х0=х.

2. Выбирается шаг h=TOLх и определяется первое приближение к корню x1=x0+h. Если х=0, то принимается h=TOL.

3. Через эти две точки проводится секущая — прямая линия, которая пересекает ось х в некоторой точке х2. Эта точка принимается за второе приближение.

4. Новая секущая проводится через первую и вторую точки, тем самым определяя третье приближение, и т. д.

5. Если на каком-либо шаге оказывается, что уравнение выполнено, т. е. |f (х)|<TOL, то итерационный процесс прерывается, и х выдается в качестве решения.



Рис. 5.7. Иллюстрация метода секущих


Результат, показанный на рис. 5.7, получен для погрешности вычислений, которой в целях иллюстративности предварительно присвоено значение TOL=0.5. Поэтому для поиска корня с такой невысокой точностью оказалось достаточно одной итерации. В вычислениях, приведенных в листингах 5.13— 5.15 (см. разд. 5.2.2), погрешность TOL=0.001была установлена по умолчанию, и решение, выданное численным методом, лежало намного ближе к истинному положению корня. Иными словами, чем меньше константа TOL, тем ближе к нулю будет значение f (х) в найденном корне, но тем больше времени будет затрачено вычислительным процессором Mathcad на его поиск.

ПРИМЕЧАНИЕ

Соответствующий пример можно найти на компакт-диске, а также в Быстрых шпаргалках. Он расположен в разделе "Solving Equations" (Решение уравнений) и называется "Effects of TOL on Solving Equations" (Влияние константы TOL на решение уравнений).



Если уравнение неразрешимо, то при попытке найти его корень будет выдано сообщение об ошибке. Кроме того, к ошибке или выдаче неправильного корня может привести и попытка применить метод секущих в области локального максимума или минимума f (х). В этом случае секущая может иметь направление, близкое к горизонтальному, выводя точку следующего приближения далеко от предполагаемого положения корня. Для решения таких уравнений лучше применять другую встроенную функцию Minerr (см. разд. 6.2). Аналогичные проблемы могут возникнуть, если начальное приближение выбрано слишком далеко от настоящего решения или f (х) имеет особенности типа бесконечности.