Для решения уравнений, которые не удается решить аналитическими методами, используются численные методы. Алгоритм нахождения корня уравнения с помощью численного метода состоит из двух этапов: 1) отделение или локализация корня, т. е. установление промежутка [а; b], в котором содержится один корень; 2) уточнение значения корня методом последовательных приближений [4, с. 26].
Для численного решения уравнений f(x)=0 существует множество методов. Среди итерационных методов уточнения корня с заданной точностью наиболее известными являются метод итераций, метод Ньютона, метод хорд, и, конечно, метод бисекций (метод половинного деления). Любой из данных методов является приближенным и уточняющим значение корня вплоть до точности, заданной нами.
Для решения методом бисекций в начале необходимо определить, является ли функция непрерывной и принимает ли значения противоположных знаков на отрезке [a; b]. Если значения функции на данных концах отрезка имеют противоположные знаки, то корень лежит в пределе отрезка [a; b]. Определить знак можно путем умножения значений функции на концах отрезка, сравнения результата умножения с нулём. После этого делим пополам отрезок [a; b] и дальше будем рассматривать ту половину, на концах которых функция принимает значения разных знаков. Смещаем в середину отрезка ту границу центра [a; b], у которой знак функции совпадает со знаком функции в центральной точке. Продолжаем этот процесс деления и смещения границ до тех пор, пока длина очередного отрезка, на котором находится корень, не будет меньше требуемой величины погрешности.
Алгоритм метода половинного деления:
Найдем середину отрезка [a; b]: x=(a+b)/2; f(x);
Если значение функции f(x)=0, то переходим к пункту 5;
Если произведение значений функций в точках x и a меньше 0, т.е. f(x)*f(a)<0, то теперь точкой b станет x ( b=x); иначе точкой a станет x (a=x);
Вычислим модуль разность b и a: если |b-a| > ε, то переходим к пункту 1;
Выводим значение x;
Конец.
Геометрическая иллюстрация метода бисекций представлена на рис. 1.
Рис. 1. Метод бисекций
Уточним методом бисекций с точностью до ε =0,01 корень уравнения x2+5x-1=0, принадлежащий отрезку [0,1; 1,5]. Функция y = x2+5x-1 является непрерывной на всей числовой прямой. Определяем половину отрезка x=(a+b)/2 и вычисляем f(x).
Проверяем следующие условия:
1. Если f(x)f(a)<0, то корень лежит на отрезке [a; x].
2. Если f(x)f(b)<0, то корень лежит на отрезке [x; b].
3. Если f(x)=0 или |b-a|<ε, то x – корень (ε - заданная точность).
Так как f(0,1)*f(1,5)<0, то корень лежит в пределах отрезка [0,1; 1,5].
Итерация 1:
1. Находим середину отрезка: x = (0,1 + 1,5)/2 = 0,8;
2. f(x) = 3,64; f(a) = - 0,49;
3. Так как f(x)*f(a) < 0, то b = 0,8;
4. |b-a| = 1,4 > ε
Поступаем аналогично с другими итерациями:
Итерация 2:
1. x = (0,1 + 0,8)/2 = 0,45;
2. f(x) = 1,453; f(a) = - 0,49;
3. f(x)*f(a) < 0, b = 0,45;
4. |b-a|=0,7 > ε
Итерация 3:
1. x= (0,1 + 0,45)/2 = 0,275;
2. f(x) = 0,451; f(a) = - 0,49;
3. f(x)*f(a) < 0, b=0,275;
4. |b-a|=0,35 > ε
Итерация 4:
1. x = (0,1+0,275) / 2 = 0,1875;
2. f(x) = - 0.0273; f(a) = - 0.49
3. f(x)*f(a) > 0, a = 0,1875;
4. |b-a| = 0,175 > ε
Итерация 5:
1. x = (0,1875 + 0,275)/2 = 0,23125;
2. f(x) = 0,02072; f(a) = - 0,0273;
3. f(x)*f(a)<0, b = 0,23125;
4. |b-a| = 0,0875 > ε
Итерация 6:
1. x = (0,1875 + 0,23125)/2 = 0,209375;
2. f(x) = 0,0907; f(a) = - 0,0273
3. f(x)*f(a) < 0, то b = 0,209375;
4. |b-a| = 0,04375 >ε
Итерация 7:
1. x = (0,1875 + 0.209375)/2 = 0,1984375;
2. f(x) = 0,0316; f(a)= - 0,0273.
3. f(x)*f(a) < 0, то b = 0,1984375;
4. |b-a| = 0,21875 > ε
Итерация 8:
1. x = (0,1875 + 0.1984375)/2 = 0,19296875;
2. f(x) = 0,0316; f(a)= - 0.0273;
3. f(x)*f(a) < 0, то b = 0,19296875;
4. |b-a| = 0,0109375 > ε
Итерация 9:
1. x=(0,1875 + 0,19296875)/2 = 0,190234375;
2. f(x)= - 0,0126; f(a)= - 0,0273;
3. f(x)*f(a) > 0, тоa = 0,190234375;
4. |b-a| = 0,00546875 < ε=0,01
Результаты расчетов приведены в таблице 1 в программе Excel.
Таблица 1
Результаты расчетов
В последнем столбце таблицы 1 проверяем значение длины интервала b-a. Если значение меньше 0,01, то в данной строке найдено приближенное значение корня с заданной погрешностью. Так как b-a=0,00546875 < ε = 0,01, то в качестве корня можно принять x = (0,1875 + 0,19296875)/2 = 0,190234375.
Потребовалось 9 итераций для достижения требуемой точности. Приближенное значение корня с точностью до 0,01 после округления до трех знаков равно x ≈ 0,19.
Метод бисекций является достаточно популярным, т.к. вычисления очень простые и цикличные. Он обладает достаточно быстрой сходимостью [3, с.191]. Его погрешность за каждую итерацию уменьшается в два раза. Существенным недостатком метода бисекций является то, что он не обобщается на системы нелинейных уравнений.
Список литературы
Бахвалов, Н. С. Численные методы / Н. С. Бахвалов, Н. П.Жидков, Г. М. Кобельков. – М.: БИНОМ. Лаборатория знаний, 2012. – 636с.
Васильев А. Н. Финансовое моделирование и оптимизация средствами Excel 2007. – СПб.: Питер, 2009. – 320с.
Волков Е. А. Численные методы. – СПб.: Лань, 2008. – 256с.
Практикум по вычислительной математике / Б.В. Соболь, Б.Ч. Месхи, И.М. Пешхоев. – Ростов н/Д : Феникс, 2008. – 342с.
Шевченко А.С. Лабораторный практикум по численным методам: Практикум / – М.: НИЦ ИНФРА-М, 2018. – 199с.: 60x90 1/16. – (Высшее образование) [Электронный ресурс]. – Режим доступа: http://znanium.com/catalog/product/966104 (дата обращения 14.12.2018)