Uploaded by tschernecowa

lektsiya 3

advertisement
Лекция 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;
Download