2.3 Метод деления отрезка пополам (метод дихотомии, метод бисекции)
Метод деления отрезка пополам является самым простым и надежным способом решения нелинейного уравнения.
Пусть из предварительного анализа известно, что корень уравнения (2.1) находится на отрезке [a0, b0], т. е. x*[a0, b0], так, что f(x*) = 0.
Пусть функция f(x) непрерывна на отрезке [a0, b0] и принимает на концах отрезка значения разных знаков, т.е.
f(a0)f(b0) < 0. (2.2)
Разделим отрезок [a0, b0] пополам. Получим точку x0 = . Вычислим значение функции в этой точке: f(x0). Если f(x0) = 0, то x0 - искомый корень, и задача решена. Если f(x0)0, то f(x0) - число определенного знака: f(x0) > 0, либо f(x0) < 0. Тогда либо на концах отрезка [a0, x0], либо на концах отрезка [x0, b0] значения функции f(x) имеют разные знаки. Обозначим такой отрезок [a1, b1]. Очевидно, что x*[a1, b1], и длина отрезка [a1, b1] в два раза меньше, чем длина отрезка [a0, b0]. Поступим аналогично с отрезком [a1, b1]. В результате получим либо корень x*, либо новый отрезок [a2, b2], и т.д. (рис. 2.2).
Рис. 2.2
Середина n-го отрезка xn = . Очевидно, что длина отрезка [an, bn] будет равна , а т. к. x*[an, bn], то
| xn - x*| . (2.3)
Погрешность метода. Оценка (2.3) характеризует погрешность метода деления отрезка пополам и указывает на скорость сходимости: метод сходится со скоростью геометрической прогрессии, знаменатель которой q = 1/2. Заметим, что оценка (2.3) является априорной.
Критерий окончания. Из соотношения (2.3) следует, что при заданной точности приближения вычисления заканчиваются, когда будет выполнено неравенство bn - an < 2 или неравенство n > log2((b0 - a0)/) - 1. Таким образом, количество итераций можно определить заранее. За приближенное значение корня берется величина xn.
Пример 2.1.
Найдем приближенно x = с точностью ??= 0.01. Эта задача эквивалентна решению уравнения x5 - 2 = 0, или нахождению нуля функции f(x) = x5 - 2. В качестве начального отрезка [a0, b0] возьмем отрезок [1, 2]. На концах этого отрезка функция принимает значения с разными знаками: f(1) < 0, f(2) > 0.
Найдем число n делений отрезка [1, 2], необходимых для достижения требуемой точности. Имеем:
| xn - x*| = 10-2,
n6.
Следовательно, не позднее 6-го деления найдем с требуемой точностью, 1.1484. Результаты вычислений представлены в таблице 2.1.
Таблица 2.1
n |
0 1 2 3 4 5 6 |
|
an |
1.0000 1.0000 1.0000 1.1250 1.1250 1.1406 1.1406 |
|
bn |
2.0000 1.5000 1.2500 1.2500 1.1875 1.1875 1.1562 |
|
xn |
1.5000 1.2500 1.1250 1.1875 1.1406 1.1562 1.1484 |
|
Зн f(an) |
- - - - - - - |
|
Зн f(bn) |
+ + + + + + + |
|
f(xn) |
5.5938 0.7585 -0.2959 0.1812 -0.0691 0.0532 -0.0078 |
|
bn - an |
1.0000 0.5000 0. 2500 0.1250 0.0625 0.0312 0.0156 |
- Введение
- 1.1 Погрешность
- 1.2 Корректность
- 1.3 Вычислительные методы
- Тема 2. Решение нелинейных уравнений
- 2.1 Постановка задачи
- 2.2 Основные этапы отыскания решения
- 2.3 Метод деления отрезка пополам (метод дихотомии, метод бисекции)
- 2.4 Метод простых итераций
- 2.5 Метод Ньютона (метод касательных)
- 2.6 Метод секущих (метод хорд)
- 2.7 Метод ложного положения
- 3.1 Постановка задачи