Метод бисекции (половинного деления): как это работает

Метод бисекции (половинного деления) - самый простой и при этом самый надёжный способ численно найти корень уравнения . Идея предельно наглядна: если на концах отрезка функция имеет разные знаки, то где-то внутри она обращается в ноль; делим отрезок пополам, оставляем ту половину, где знак по-прежнему меняется, и повторяем, пока отрезок не станет достаточно коротким. Метод бисекции не требует ни производной, ни хорошего начального приближения - достаточно непрерывности функции и отрезка, на котором она меняет знак. За это приходится платить скоростью: сходимость медленная, зато гарантированная. Разберём условие применимости, формулы, оценку числа шагов и подводные камни.
Идея и условие применимости
Пусть функция непрерывна на отрезке и на его концах принимает значения разных знаков: . По теореме Больцано–Коши (теореме о промежуточном значении) внутри отрезка обязательно найдётся хотя бы одна точка , в которой . Это и есть корень, который ищет метод половинного деления.
Алгоритм на каждом шаге сокращает отрезок локализации корня вдвое. Берём середину и смотрим на знак . Если , корень лежит в левой половине - заменяем на . Иначе корень в правой половине - заменяем на . В обоих случаях новый отрезок вдвое короче и по-прежнему содержит корень. Условие смены знака на концах - единственное требование метода бисекции, и именно оно делает его таким устойчивым.
Пошаговый расчёт корня
Прежде чем разбирать формулы вручную, удобно прогнать конкретное уравнение через сам алгоритм и посмотреть, как сужается отрезок. Ниже - небольшая форма: задаёшь уравнение , отрезок локализации и точность , а в ответ получаешь проверку смены знака, оценку числа итераций и пошаговую таблицу половинного деления.
После того как видно, как отрезок схлопывается к корню, разберём, что именно гарантирует сходимость и сколько шагов она требует.
Алгоритм половинного деления по шагам
Формально метод бисекции записывается так:
- Проверить, что . Если нет - метод неприменим, нужен другой отрезок.
- Вычислить середину и значение .
- Если или длина отрезка - принять за корень и остановиться.
- Если , положить , иначе .
- Вернуться к шагу 2.
Каждая итерация требует ровно одного нового вычисления функции - в точке . Знаки и уже известны с предыдущего шага, пересчитывать их не нужно. Это делает половинное деление дешёвым по числу обращений к , что важно, когда вычисление функции дорогое.
На практике сравнивают именно знаки, а не вычисляют произведение $f(a)\cdot f(c)$: для функций с большими значениями произведение может переполнить разрядную сетку. Достаточно проверить, совпадают ли знаки $f(a)$ и $f(c)$.
Скорость сходимости и оценка числа итераций
После итераций длина отрезка локализации равна
Если в качестве приближения корня брать середину текущего отрезка , то погрешность ограничена половиной его длины:
Отсюда сразу следует оценка числа итераций для заданной точности . Потребовав и прологарифмировав, получаем
Например, чтобы уточнить корень на отрезке единичной длины до , нужно около итераций. Это линейная сходимость с множителем : каждый шаг добавляет примерно верного десятичного знака, то есть один новый знак - за каждые три-четыре итерации. Метод бисекции медленнее метода Ньютона (квадратичная сходимость) и метода секущих, но в отличие от них он сходится всегда, как бы плохо ни вело себя начальное приближение. Тесно связан с ним и метод простой итерации, где скорость, наоборот, целиком зависит от свойств итерационной функции.
Критерий остановки
Остановку метода половинного деления задают одним из трёх условий или их комбинацией:
- По длине отрезка: - гарантирует, что корень локализован с точностью .
- По значению функции: - приближение достаточно близко к нулю по вертикали.
- По числу итераций: жёсткий лимит как страховка от зацикливания при численных артефактах.
Самый надёжный - критерий по длине отрезка: он не зависит от того, насколько круто или полого функция пересекает ось. Критерий обманчив для пологих функций: значение может быть малым далеко от корня. Поэтому на практике комбинируют первый критерий с лимитом числа шагов.
Достоинства, недостатки и где применять
Сильные стороны метода бисекции - безусловная сходимость при выполнении , отсутствие требований к производной и предсказуемое число шагов, которое известно заранее по формуле через . Слабые стороны - медленная линейная скорость, неспособность находить корни чётной кратности (где функция касается оси, но не меняет знак) и работа только с одним корнем на отрезке за раз.
На практике половинное деление часто используют как надёжный стартовый этап: им грубо локализуют корень за несколько шагов, а затем переключаются на быстрый метод Ньютона или секущих для финального уточнения. Такая гибридная схема (например, метод Брента) объединяет гарантию сходимости бисекции со скоростью методов высокого порядка.
Частые ошибки
- Запуск без проверки смены знака. Если , теорема Больцано–Коши неприменима и метод бисекции работать не обязан - корня на отрезке может не быть либо их чётное число.
- Попытка найти корень чётной кратности. Там, где функция касается оси ( не меняет знак, например ), половинное деление бессильно - знаки на концах одинаковы.
- Критерий остановки только по . Для пологой функции малое не означает близость к корню; надёжнее контролировать длину отрезка.
- Вычисление произведения напрямую. При больших значениях функции возможно переполнение - сравнивайте знаки.
- Несколько корней на отрезке. Метод сойдётся лишь к одному из них (или к границе между парами), остальные потеряются - отрезок нужно дробить заранее.
FAQ
Чем метод бисекции отличается от метода Ньютона? Бисекция использует только знаки функции и сходится линейно, но безусловно - достаточно непрерывности и смены знака. Метод Ньютона требует производной и хорошего начального приближения, зато сходится квадратично. Часто их комбинируют: бисекция локализует, Ньютон уточняет.
Сколько итераций нужно для заданной точности? Число шагов оценивается заранее: . Для отрезка длины 1 и точности это около 20 итераций - независимо от вида функции.
Можно ли применять метод к разрывной функции? Формально теорема о промежуточном значении требует непрерывности. У разрывной функции смена знака может означать не корень, а скачок через ось - метод выдаст точку разрыва вместо нуля. Перед применением проверяйте непрерывность на отрезке.
Коротко
Метод бисекции (половинного деления) находит корень уравнения на отрезке , где функция меняет знак (): отрезок последовательно делится пополам, и оставляется половина со сменой знака. Погрешность убывает как , число итераций для точности известно заранее из . Метод медленный (линейная сходимость), но абсолютно надёжный и не требует производной - поэтому его ценят как устойчивый старт перед быстрыми методами Ньютона или секущих.
Читайте также

Метод касательных Ньютона для корня уравнения
Метод касательных Ньютона для корня уравнения : вывод итерационной формулы, геометрический смысл касательной, условие и квадратичная скорость сходимости, выбор начального приближения и типичные ошибки.

Метод стрельбы для краевой задачи: алгоритм и пример
Метод стрельбы для краевой задачи: сведение к задаче Коши, подбор недостающего начального условия, функция невязки, секущие и метод Ньютона, нелинейный случай и устойчивость.

Метод конечных разностей для уравнений: схемы и устойчивость
Метод конечных разностей для уравнений: разностные схемы, аппроксимация производных, явная и неявная схема, устойчивость, сходимость и краевые задачи на сетке.