Применение метода бисекции для решения уравнения - Студенческий научный форум

XI Международная студенческая научная конференция Студенческий научный форум - 2019

Применение метода бисекции для решения уравнения

Гуреев Е.И. 1, Кузин А.Д. 1, Фирсова Е.В. 1
1Коломенский институт (филиал) Московского политехнического университета
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Для решения уравнений, которые не удается решить аналитическими методами, используются численные методы. Алгоритм нахождения корня уравнения с помощью численного метода состоит из двух этапов: 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)

Просмотров работы: 2905