Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Численным методам.docx
Скачиваний:
152
Добавлен:
18.04.2015
Размер:
812.14 Кб
Скачать

1. Метод деления отрезка пополам (метод бисекций или дихотомия).

Простейшим и надежным алгоритмом уточнения корня на отрезке [a, b], если f(x) - непрерывная функция и f(a)f(b)<0, является метод деления отрезка пополам.

Очевидно, что середина отрезка служит приближением к корню уравнения (1) с точностью e<(b-a)/2. В середине отрезка x1=(a+b)/2 определяется знак функции f(x), затем выбирается та половина отрезка [a, (a+b)/2] или [(a+b)/2,b], на концах которой функция f(x) принимает значения разных знаков, и деление повторяется.

Если требуется найти корень с точностью e, то деление отрезка продолжается до тех пор, пока длина отрезка не станет меньшей 2e.

Тогда середина последнего отрезка даст значение корня с требуемой точностью. В этом методе можно не вычислять значения функции f(x), достаточно лишь определить знак функции.

  1. Метод хорд (метод линейной интерполяции).

В этом методе нелинейная функция f(x) на отделенном интервале [a, b] заменяется линейной, в качестве которой берется хорда – прямая , стягивающая концы нелинейной функции. Эта хорда определяется как прямая, проходящая через точки с координатами (a, f(a)) и (b, f(b)), т.е. делит отрезок [a, b] пропорционально величинам ординат ,f(a) и ,f(b),.

Имея уравнение хорды y=cx+d, можно легко найти точку ее пересечения с горизонтальной осью, подставив в уравнение хорды y=0 и найдя из него х. Естественно, в полученной таким путем точке х1 не будет решения, ее принимают за новую границу отрезка, где содержится корень. Через эту точку с координатами 1, f(х1)) и соответствующую границу предыдущего интервала опять проводят хорду, находят х2, и т. д. несколько раз, получая последовательность х3, х4, х5, , сходящуюся к корню.

Метод применим только для монотонных функций.

Алгоритм метода зависит от свойств функции f(x) .

Если f(b)f’’(b)>0, то строящаяся на каждом этапе хорда имеет правый фиксированный (закрепленный) конец. Для определенности f’’(x)>0 (обратный случай сводится к первому, если записать уравнение –f(x)=0). Тогда кривая y=f(x) будет выпукла вниз, т. е. расположена ниже своей хорды (см. рис.1).

Рис.1

Итак, если f(b)>0, то алгоритм выглядит следующим образом:

Применяя этот прием к тому из отрезков [a, x1] или [x1, b], на концах которого функция f(x) имеет противоположные знаки, получим второе приближение корня x2 и т. д. При этом последовательность x1, x2, будет приближаться к корню слева, (в качестве x0 можно выбрать начало отрезка точку а).

Если f(a)f’’(a)>0, то строящаяся на каждом этапе хорда имеет левый фиксированный конец и алгоритм выглядит следующим образом:

При этом последовательность x1, x2, будет приближаться к корню справа, в качестве x0 можно выбрать точку b)

Приведем формулу оценки абсолютной погрешности приближенного значения хi , если известны два последовательных значения xi и xi+1.

Теоретически доказано, что если первые производные на концах интервала при монотонной и выпуклой функции f(x) не различаются более, чем в два раза, то справедливо соотношение |x* - xi | < |xi - xi-1| и условием прекращения итераций может быть |xi - xi-1 | £ e, а в качестве корня принято xi+1 (можно также окончить процесс и при достижении f(xi) £e). Таким образом, как только будет обнаружено, что

|xi - xi-1 | £ e, где e - заданная погрешность, то гарантировано, что |x - xi | £ e.