Материал: 5544

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
f (x)

уравнения (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

xn+1

 

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 к корню с имеет порядок О(2n–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

Источник: https://studfile.net/preview/16711204/