Метод половинного деления

Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется единственный корень, а функция на данном отрезке непрерывна.

Метод половинного деления позволяет получить последовательность вложенных друг в друга отрезков [a1;b1], [a2;b2], …,[ai;bi],…, [an;bn], таких что f(ai).f(bi) < 0, где i=1,2,…,n, а длина каждого последующего отрезка вдвое меньше длины предыдущего:

Рис.6.2.3-1

Последовательное сужение отрезка вокруг неизвестного значения корня обеспечивает выполнение на некотором шаге n неравенства |bn - an| < e. Поскольку при этом для любого хÎ[an;bn] будет выполняться неравенство | - х| < , то с точностью любое

может быть принято за приближенное значение корня, например его середину отрезка

В методе половинного деления от итерации к итерации происходит последовательное уменьшение длины первоначального отрезка [a0;b0]в два раза (рис. 6.2.3-1). Поэтому на n-м шаге справедлива следующая оценка погрешности результата:

( 6.2.3-1 )

где - точное значение корня, хnÎ [an;bn] – приближенное значение корня на n-м шаге.

Сравнивая полученную оценку погрешности с заданной точностью , можно оценить требуемое число шагов:

(6.2.3-2)

Из формулы видно, что уменьшение величины e (повышение точности) приводит к значительному увеличению объема вычислений, поэтому на практике метод половинного деления применяют для сравнительно грубого нахождения корня, а его дальнейшее уточнение производят с помощью других, более эффективных методов.

Рис. 6.2.3-2. Схема алгоритма метода половинного деления

Схема алгоритма метода половинного деления приведена на рис. 6.2.3-2. В приведенном алгоритме предполагается, что левая часть уравнения f(x)оформляется в виде программного модуля.

Пример 6.2.3-1. Уточнить корень уравнения x3+x-1=0 с точностью =0.1, который локализован на отрезке [0;1].

Результаты удобно представить с помощью таблицы 6.2.3-3.

Таблица 6.2.3-3

k a b f(a) f(b) (a+b)/2 f((a+b)/2) a k b k
      -1   0.5 -0.375 0.5  
  0.5   -0.375   0.75 0.172 0.5 0.75
  0.5 0.75 -0.375 0.172 0.625 -0.131 0.625 0.75
  0.625 0.75 -0.131 0.172 0.688 0.0136 0.625 0.688

После четвертой итерации длина отрезка |b4-a4| = |0.688-0.625| = 0.063 стала меньше величины e, следовательно, за приближенное значение корня можно принять значение середины данного отрезка: x = (a4+b4)/2 = 0.656.

Значение функции f(x) в точке x = 0.656 равно f(0.656) = -0.062.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: