Лекция 3 «Метод половинного деления решения алгебраических и трансцендентных уравнений» 1. Постановка задачи решения уравнений Пусть имеется уравнение вида f(x)=0 , (2.1) где f(x) - алгебраическая или трансцендентная функция. Решить такое уравнение – значит установить, имеет ли оно корни, сколько корней, и найти значения корней (с указанной точностью). 2. Отделение корней алгебраических и трансцендентных уравнений Решение указанной задачи начинается с отделения корней, т.е. с установления: - количества корней; - наиболее «тесных» промежутков, каждый из которых содержит только один корень. Чтобы выяснить имеет ли уравнение корень: 1) Строят график функции y=f(x) для уравнения вида f(x)=0. Значения действительных корней уравнения являются абсциссами точек пересечения графиков функций y=f(x) с осью Ох. y=f(x) кривая трижды пересекает ось абсцисс, следовательно уравнение f(x)=0 имеет три простых корня если кривая касается оси абсцисс, то уравнение имеет двукратный корень если кривая имеет точку перегиба, следовательно уравнение имеет трехкратных действительных корень. 2) представляют уравнение в виде f(x)=g(x) и стоят графики функции y=f(x) и y=g(x). Значения действительных корней уравнения являются абсциссами точек пересечения графиков функций у=f(х) и y=g(x). По графику определяются два числа а и b, между которыми заключен корень. кривые y=f(x) и y=g(x) пересекаются в двух точках, абсциссы которых х1 и х2 являются корнями уравнения f(x)=g(x) При решении задачи об отделении корней бывают полезными следующие очевидные положения: 1. Если непрерывная на отрезке [a;b] функция f(x) принимает на его концах значения разных знаков (т.е. f(a). f(b)<0), то уравнение (2.1) имеет на этом отрезке, по меньшей мере, один корень. 2. Если функция f(x) к тому же еще и монотонна, то корень на отрезке [a;b] единственный. Пример: Для графического отделения корней уравнения sin 2x ln x 0 преобразуем его к равносильному уравнению sin 2x ln x и отдельно построим графики функций sin 2 x и ln x . Из рисунка видно, что графики пересекаются в одной точке, то есть уравнение имеет единственный корень х=Е и этот корень находится на отрезке [1;1,5]. Вычислим для проверки значения функции f ( x) sin 2 x ln x на концах отрезка [1;1,5]: f(1)=0.909298; f(1,5)= -0,264344, на концах отрезка значения функции имеют разные знаки, тогда корень на отрезке [1;1,5] действительно имеется. Для уточнения корней можно пользоваться различными методами. Рассмотрим некоторые из них. 3. Метод половинного деления Пусть уравнение (2.1) имеет на отрезке [a;b] единственный корень, причем функция f(x) на этом отрезке непрерывна. 1) Разделим отрезок [a;b] пополам точкой с=(a+b)/2. 2) Если f(c)=0, то корень найден. 3) Если f(c)≠ 0(что практически наиболее вероятно), то нужно выбрать отрезок, на котором расположен корень. Возможны два случая: f(x) меняет знак либо на отрезке [a;с] (рис 2.1), либо на отрезке [с;b] (рис 2.2). Рис 2.1. – функция f(x) меняет знак Рис 2.2. – функция f(x) на отрезке [a;c] меняет знак на отрезке [c;b] Выбирая отрезок, на котором функция меняет знак, мы выбираем отрезок, содержащий корень. 4) Этот отрезок снова делим пополам и повторяем шаги 1)-3) Тогда, либо через конечное число делений отрезка пополам найдём точное значение корня, либо построим бесконечную последовательность вложенных отрезков: [a; b] [a1; b1] ... [an; bn], длины которых стремятся к нулю. Как только |bn–an|/2 < E, где Е - заданная точность, то в качестве приближённого значения корня можно взять середину этого отрезка: х=(an+bn)/2. Метод половинного деления требует утомительных ручных вычислений, однако он легко реализуется с помощью программы на компьютере. 4. Пример решения уравнений методом половинного деления Пример: Найти корень уравнения sin 2x ln x 0 на отрезке [1,3;1,5] с точностью до Е=10-4=0,0001. Решение: Уравнение sin 2x ln x 0 имеет единственный корень на отрезке [1,3;1,5]. a b 1.3 1.5 1.4 . 2 2 Определим, на каком из полученных отрезков [1,3;1,4] и [1,4;1,5] функция f ( x) sin 2 x ln x 1) Уточним корень уравнения: Найдем середину отрезка [1,3;1,5]: c меняет свой знак. 1) [1,3;1,4]: 2) [1,4;1,5]: f (1,3) sin 2 1,3 ln 1,3 0; f (1,4) sin 2 1,4 ln 1,4 0. f (1,4) sin 2 1,4 ln 1,4 0; f (1,5) sin 2 1,5 ln 1,5 0. Значит, корень уравнения находится на отрезке [1,3;1,4]. Проверим, достигается ли заданная точность решения 10-4: 1,4 1,3 0,05 10 4 , точность не достигнута. 2 2) Продолжаем c процесс a b 1.3 1.4 1.35 . 2 2 разделим отрезок [1,3;1,4] пополам точкой Определим, на каком из полученных отрезков [1,3;1,35] и [1,35;1,4] функция f ( x) sin 2 x ln x меняет свой знак. f (1,3) sin 2 1,3 ln 1,3 0; 1) [1,3;1,35]: f (1,35) sin 2 1,35 ln 1,35 0. f (1,35) sin 2 1,35 ln 1,35 0. 2) [1,35;1,4]: f (1,4) sin 2 1,4 ln 1,4 0. Значит, корень уравнения находится на отрезке [1,35;1,4]. Проверим, достигается ли заданная точность решения 10-4: 1,4 1,35 0,025 10 4 , точность не достигнута. 2 3) Снова разделим отрезок [1,35;1,4] пополам точкой c a b 1.35 1.4 1.375 . 2 2 Определим, на каком из полученных отрезков [1,35;1,375] и [1,375;1,4] функция f ( x) sin 2 x ln x меняет свой знак. f (1,35) sin 2 1,35 ln 1,35 0; 1) [1,35;1,375]: f (1,375) sin 2 1,375 ln 1,375 0. 2) [1,375;1,4]: f (1,375) sin 2 1,375 ln 1,375 0. f (1,4) sin 2 1,4 ln 1,4 0. Значит, корень уравнения находится на отрезке [1,375;1,4]. Проверим, достигается ли заданная точность решения 10-4: 1,4 1,375 0,0125 10 4 , точность не достигнута. 2 4) Продолжая делить отрезок пополам и проверять знаки функции на новых промежутках, до тех пор, пока не будет достигнута нужная точность решения (сделайте самостоятельно), получим: Решение уравнения с точностью 10-4: х=1,3994. Алгоритм метода половинного деления 1) Найдем середину отрезка [a; b]: c=(a+b)/2; 2) Вычислим значения функции в точках a и c и найдем произведение полученных значений: d=f(c)*f(a); 3) Если d>0, то теперь точкой a станет c: a=c; Если d<0, то точкой b станет c: b=c; 4) Вычислим разность a и b, сравним ее с точностью ε: если |a-b|> ε или |a-b|/2> ε , то идем в пункт 1) если нет, то корень с нужной нам точностью найден, и он равен: x=(a+b)/2;