уравнения (2.1). Сформулированное утверждение называется теоремой Больцано – Коши об обращении непрерывной на отрезке функции в нуль.
Будем считать, что интересующий нас корень c является единственным на интервале (a, b). Так будет в случае строго монотонных (возрастающих, убывающих) функций на (a, b). Последнее обеспечивается положительностью или отрицательностью производной на этом интервале.
В случае нескольких корней уравнения (2.1) выделяют промежутки монотонности функции f(x).
Итак, пусть на отрезке [a, b] функция f(x) удовлетворяет условиям сформулированной теоремы Больцано – Коши и имеет на нём единственный корень с. Тогда число x0 a можно считать приближённым значением этого корня с не-
достатком, а число x0 b – его приближённым значением с избытком.
Погрешность начального приближения х0 к с, очевидно, будет удовлетворять неравенству c x0 b a .
Перейдём к описанию нахождения корня уравнения (2.1) методом деления отрезка (методом «вилки» или дихотомии или бисекции).
Разделим отрезок [a, b] пополам и за первое приближение х1 к с возьмём
середину отрезка [a, b], т. е. x1 a b . При этом может представиться два
2
случая:
1)f x1 0 (в этом случае c x1 и искомый корень найден);
2)f x1 0 .
Во 2-м случае на одной из половин [a, x1], [x1, b] знак f x1 совпадает или со знаком f a , или со знаком f b .
На одной из этих половин функция f x будет принимать значения разных знаков. Эту половину называют «вилкой». Обозначим её [a1, b1]. Искомый корень с находится на отрезке [a1, b1]. Абсолютная погрешность первого при-
|
|
|
b a |
. |
|
ближения удовлетворяет неравенству |
c x |
|
|||
|
|||||
|
|
||||
|
1 |
|
2 |
|
|
|
|
|
|
||
С отрезком [a1, b1] поступим так же, как и с исходным отрезком [a, b] , т. е. разделим его пополам. За второе приближение x2 возьмём середину отрезка
[a |
, b |
], т. е. число |
x |
a1 b1 |
. Если |
f x |
|
0 , то процесс завершается; если |
|
2 |
|||||||
1 |
1 |
|
2 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
26
|
f x2 0 , |
то процесс продолжим. При этом выполняется неравенство |
||||
|
c x |
|
|
b a |
. |
|
|
|
|
||||
|
|
|||||
|
|
|
|
|||
|
2 |
|
22 |
|
|
|
|
|
|
|
|||
Врезультате продолжения действий будут иметь место две возможности:
1)процесс завершится в результате того, что на некотором этапе значение f(x) будет равным нулю в середине некоторой из последующих половин отрезков (искомый корень с будет найден).
2)описанный процесс будет неограниченно продолжаться.
Во второй ситуации будем иметь стягивающуюся систему отрезков [a1, b1], [a2, b2], …, [an, bn],…, причём при любом n функция f(x) имеет на концах соответствующего отрезка значения разных знаков. Известно, что стягивающаяся система отрезков имеет одну общую точку, к которой сходятся обе последовательности an и bn. Можно доказать, что эта общая точка и есть с.
Таким образом, при применении данного метода за приближённое значение к искомому корню с берут число
|
|
|
x |
|
an bn |
, |
|
|
(2.2) |
|
|
|
|
|
|
||||||
|
|
|
n 1 |
2 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
||
т. е. середину отрезка [a , b ], длина которого равна |
b a |
. За первое приближе- |
||||||||
|
||||||||||
n |
|
n |
|
|
|
2n |
|
|||
|
|
|
|
|
|
|
|
|
||
ние х1 к с берётся число |
x1 |
|
a b |
|
, которое получается из (2.2) при |
n 0 , если |
||||
|
||||||||||
|
|
2 |
|
|
|
|
|
|
|
|
считать a0 a, b0 |
b . Абсолютная погрешность приближения xn к с удовлетворя- |
||||||
ет неравенству |
|
|
|
|
|
|
|
|
|
c x |
|
|
b a |
. |
(2.3) |
|
|
|
|||||
|
|
||||||
|
|
|
|
||||
|
|
n 1 |
|
|
2n 1 |
|
|
|
|
|
|
||||
Этим очень простым по сущности методом корень уравнения (2.1) можно вычислить с какой угодно точностью. Согласно (2.3) точность приближения хn+1 к корню с имеет порядок О(2–n–1). Это означает, что метод деления отрезка требует большой вычислительной работы.
Алгоритм метода достаточно прост.
1-й шаг. Выберем отрезок a,b так, чтобы выполнялись два условия:
а) функция f x непрерывна на a,b ;
б) на концах отрезка f x принимает значения разных знаков, то есть f a f b 0 .
27
2-й шаг. Найдём c – середину a,b как c 0,5 a b и значение f c . Если f c 0 , то корень найден. Если f c 0 , то знак f c совпадает или со знаком f a , или со знаком f b .
В первом случае решение уравнения находится на отрезке c,b . Обозначив точку c как a , получим отрезок a,b вдвое меньшей длины, где продолжаем искать корень, а предыдущая точка a нас уже не интересует.
Во втором случае (знак f c совпал со знаком f b ) решение находится наa, c . Обозначив c как b , также получаем новый отрезок a,b .
В любом случае одна из границ отрезка сохраняется, а другая сдвигается в середину отрезка. Кратко сказанное можно записать так:
– пусть |
f a 0 , тогда: если |
f c 0 , то |
a c , иначе b c ; |
– пусть |
f a 0 , тогда: если |
f c 0 , то |
b c ; иначе a c . |
При переходе к новому отрезку знаки f a и f b никогда не изменятся. Проверка. Деление отрезка и сдвиг точек проводим, пока не выполняется
какое-либо из двух условий:
а) |
|
b a |
|
2 , где − необходимая точность решения; |
|
|
|||
б) |
|
f c 0 или f c . |
||
Точность может быть задана заранее или выбрана произвольно. Если ни одно из условий не выполнено, повторяем шаг 2. Если выполнено хотя бы одно,
указываем в ответе значение с=0,5 (a+b). |
|
|
|
|
|
|
|
|
|
Пример. Решим с точностью 0,01 |
уравнение x3 |
|
|
|
|
|
|
||
x 2 . |
|
|
|
|
|||||
1-й шаг. Сводим уравнение к виду x3 |
|
|
f x x3 |
|
|
|
|||
x 2 0 . Функция |
|
x 2 |
|||||||
непрерывна при всех x 0 . |
|
|
|
|
|
|
|
|
|
Найдём любые точки, в которых у функции разный знак. Замечаем, |
|
что |
|||||||
f 0 0 : |
|
|
|
|
|
|
|
|
|
f 0 03 
0 2 2 0 .
Подберём точку, где функция положительна. Подходит x 2 :
|
f 2 23 |
|
|
|
2 2 4,5858 0 . |
||
Итак, a 0, b 2 , |
f a 0, f b 0 . |
|
|
2-й шаг. Находим c 0,5 a b 0,5 0 2 1. В этой точке
28
f c f 1 13 
1 2 2 0 .
Поскольку f 0 0 , f 1 0 , f |
2 0 , выбираем a 1, b 2 . |
||||
Проверка. Поскольку |
|
2 1 |
|
|
0,01 , то действия продолжаем. |
|
|
||||
|
|
|
|
|
|
2-й шаг. Находим c 0,5 1 2 1,5. В ней
f 1,5 1,53 
3 2 0,150 3 0 .
Видим, что f 1 0 , f 1,5 0 , f 2 0 , поэтому a 1, b 1,5 .
Проверка. 1,5 1 0,01 . Продолжаем деление отрезка.
2-й шаг. Находим c 0,5 1 1,5 1,25; затем
f 1,25 1,253 
1,25 2 1,164 9 0 .
Теперь f 1 0 , f 1,25 0 , f 1,5 0 , откуда a 1,25,b 1,5 .
Проверка. 1,5 1,25 0,01. Продолжаем действия.
Дальнейшие вычисления оформим в виде таблицы. Середины считаем с до-
полнительным знаком после запятой − с точностью 0,001. |
|
|||||||
|
|
|
|
|
|
|
|
|
|
a |
f a |
c |
f c |
b |
f b |
Новый a; b |
Новая c |
|
|
|
|
|
|
|
|
|
|
1 |
–2 |
1,25 |
–1,2 |
1,5 |
0,2 |
1,25;1,5 |
1,375 |
|
|
|
|
|
|
|
|
|
|
1,25 |
–1,2 |
1,375 |
–0,6 |
1,5 |
0,2 |
1,375;1,5 |
1,438 |
|
|
|
|
|
|
|
|
|
|
1,375 |
–0,6 |
1,438 |
–0,3 |
1,5 |
0,2 |
1,438;1,5 |
1,469 |
|
|
|
|
|
|
|
|
|
|
1,438 |
–0,3 |
1,469 |
–0,04 |
1,5 |
0,2 |
1,469;1,5 |
1,484 |
|
|
|
|
|
|
|
|
|
|
1,469 |
–0,04 |
1,484 |
0,05 |
1,5 |
0,2 |
1,469;1,484 |
- |
|
|
|
|
|
|
|
|
|
Длина отрезка 1,469;1,484 меньше удвоенной точности:
|
1,484 1,469 |
|
0,015 2 0,01 0,02 , |
|
|
||
|
|
|
|
середина этого отрезка – решение уравнения с точностью 0,01. Находим c 0,5 1,484 1,469 1,476 .
Округляя до двух знаков после запятой, получаем решение x 1,48 .
Заметим, что f 1,476 0,000 7 0,01, а f 1,48 0,025 , что заметно хуже, одна-
ко в ответе приходится указывать округлённое число. |
|
|
Ответ: с точностью 0,01 решением уравнения x3 |
x 2 |
будет число x 1,48 . |
При решении сами значения функции не играют роли, если только не окажется случайно, что f c 0,01, где 0,01 – необходимая точность. Важны только знаки функции. Это удобно, поскольку знак функции в точках, достаточно уда-
29
лённых от корня, обычно очевиден, что позволяет быстро пройти первые шаги решения.
Знак функции на каждом конце отрезка не меняется в процессе сужения отрезка. А именно, если для 1-го приближения f a 0 и f b 0 , то это же будет справедливо для любого следующего приближения.
Кроме того, число шагов можно предсказать заранее.
Длина начального отрезка в примере составляла 2, и, чтобы, уменьшая её на каждом шаге в 2 раза, получить отрезок длиной менее 0,02, надо проделать не
менее |
log |
|
2 |
|
log 2 100 6,64 , то есть 7 операций деления. Общая формула чис- |
|||||
2 |
|
|
||||||||
0,02 |
||||||||||
|
|
|
|
|
|
|
|
|||
ла шагов: n |
log 2 |
b a |
, где x – целая часть числа |
x . |
||||||
|
|
|||||||||
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
||
2.2. Метод хорд
Метод хорд (метод секущих) сходится (приводит к решению) быстрее, чем метод деления отрезка, однако требует на каждом шаге большего числа действий. Приведём схему метода.
Пусть необходимо решить уравнение (2.1) с точностью . Выбираем произвольные точки x0 , x1 . Каждое следующее приближение, начиная с x2 , находим по формуле
xn 1 xn f xn |
xn xn 1 |
|
|
. |
(2.4) |
|||||
f xn f xn 1 |
|
|||||||||
|
|
|
|
|
||||||
Формула (2.4) есть расчётная формула метода хорд. |
||||||||||
Вычисления прекращаем, когда |
|
xn 1 xn |
|
или |
|
|
f xn 1 . |
|||
|
|
|
|
|||||||
В ответе указываем xn 1 . |
|
|
|
|
|
|
|
|||
При решении методом хорд выполнение условия |
f x0 f x1 0 гарантирует |
|||||||||
существование корня и получение его этим методом. Однако хорда (секущая) пересечёт ось абсцисс, даже если обе точки графика находятся с одной стороны от оси, поэтому условие не является необходимым. Но в любом случае надо, чтобы f x0 f x1 , иначе секущая параллельна оси OX, а при вычислении точки происходит деление на нуль.
Пример. Решить уравнение x2 |
|
|
|
|
x 3 0 с точностью 0,001. |
||||
Решение. 1-й шаг. В примере |
f x x2 |
|
3 . Вычисления проводим с |
|
x |
||||
дополнительным десятичным знаком, то есть с 4 знаками.
30