Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

МатМод2Г / Самостоятельно / Метод хорд

.doc
Скачиваний:
22
Добавлен:
18.04.2015
Размер:
890.88 Кб
Скачать

Метод хорд

Пусть уравнение

f(x)=0

имеет на отрезке [a,b] единственный корень c, значение которого необходимо найти с заданной точностью , >0.

Заменим уравнение (1) эквивалентным ему уравнением

x=x-(x)f(x)

где (x) – непрерывна на отрезке [a,b] и не имеет корней на этом отрезке. Выберем в качестве функции (x) функцию

, где x*[a,b] и не является корнем уравнения (1).

Тогда (2) примет вид:

Построим последовательность

, n=0, 1, 2, …

Воспользовавшись условием сходимости итерационных методом, аналогично тому как это было сделано для метода Ньютона можно доказать, что существует такая окрестность X корня c, что выбрав x0X, получим итерационную последовательность (3), сходящуюся к корню c. И опять возникает проблема выбора начального приближения x0, для разрешения которой рассмотрим геометрическую интерпретацию метода, выделив при этом четыре случая поведения функции f(x) на отрезке [a,b]:

    1. f’(x)>0, f”(x)>0;

    2. f’(x)<0, f”(x)>0;

    3. f’(x)>0, f”(x)<0;

    4. f’(x)<0, f”(x)<0.

Остановимся на первом из них. Пусть f(x)>0 и f(x)>0, то есть функция монотонно возрастает и выпукла вниз (вогнута вверх)

Выберем x* справа от корня c, а x0 слева от корня c, то есть c<x*b, ax0<c. Через точки (x0, f(x0)) и (x*, f(x*)) проведем прямую и точку пересечения ее с осью Ox обозначим x1. Через точки (x1, f(x1)) и (x*, f(x*)) снова проведем прямую, точку пересечения которой с осью Ox обозначим x2 и так далее.

Уравнение прямой, проходящей через точки (xn, f(xn)) и (x*, f(x*)), n=0, 1, 2,… имеет вид:

Тогда для точки пересечения этой прямой с осью Ox (xn+1,0) имеем

Откуда

.

То есть получили формулу (3).

Таким образом, геометрически метод хорд состоит в замене на каждой итерации дуги кривой y=f(x) отрезком прямой (хордой), соединяющей некоторую фиксированную точку (x*, f(x*)) с точкой (xn, f(xn)), n=0, 1, 2,… Точка пересечения ее с осью Ox xn+1, n=0, 1, 2,… является очередным (n+1)-ым приближением к корню. При этом, если x*выбрать справа от корня c, а x0 слева от корня c, то есть c<x*b, ax0<c, то последовательность (3) монотонно возрастает и ограничена снизу, а значит сходится. Если же x*выбрать слева от корня c, а x0 справа от корня c, то есть ax*<c, c<x0b, то последовательность (3) может расходиться, что демонстрирует приведенный ниже рисунок

Докажем это.

Выясним, как точка x1 располагается относительно точки x0, то есть определим знак разности x1-x0. Из (3) имеем

то есть

и если c<x*b ( f(x*)>0) и ax0<c (f(x0)>0), то x1>x0, а если ax*<c ( f(x*)<0) и c<x0b ( f(x0)>0), то x1<x0

Выясним, как точка x1 располагается относительно точки c, то есть определим знак разности x1-с. Используя (3), найдем

Добавим в правую часть равенства f(c), равное нулю,

Применим к разностям значений функции f(x) и ее производной теорему Лагранжа о среднем1

Окончательно имеем

,

где 1 находится между x0 и c, 2 находится между x* и c, 3, 4[a,b] (так как находятся между точками x0, x* и 1, 2 соответственно). И так как f(x)>0 и f(x)>0, x0 и x* располагаются по разные стороны от корня и1 располагается по отношению к 2 также как x0 по отношению к x*, то x1<c.

Таким образом, если c<x*b и ax0<c, то x0<x1<c<x*.

Если же ax*<c и c<x0b, то x1<x0 и x1<c и в этом случае необходимо выяснить, как точка x1 располагается относительно точки x*, то есть определить знак разности x1-x*. Используя (3), найдем

.

Окончательно имеем

Таким образом, если ax*<c ( f(x*)<0) и c<x0b ( f(x0)>0), то x*<x1<c<x0.

Далее доказательство проведем по индукции.

Выясним, как точка x2 располагается относительно точек x1 и c, то есть определить знаки разностей x2-x1 и x2-с. Выполнив преобразования, аналогичные приведенным выше, получим

и так как ax1<c (f(x1)>0), то x2>x1,

,

где 5 находится между x1 и c, 6 находится между x* и c, 7, 8[a,b] (так как находятся между точками x1, x* и 5, 6 соответственно).

Таким образом, если c<x*b и ax0<c, то x0<x1<x2<c<x*.

Если же ax*<c и c<x0b, то x1<c<x2 и исходя из графических соображений может оказаться, что x2> x0.

Пусть ax0<x1<x2<…< xn-1<c<x*b. Докажем, что xn-1< xn<c., то есть выясним, как точка xn располагается относительно точек xn-1 и c. Выполнив преобразования, аналогичные приведенным выше, получим

и так как axn-1<c (f(xn-1)>0), то xn>xn-1,

, где 4n-3(xn-1,c), 4n-2(c,x*), 4n-1(xn-1,x*), 4n-3(4n-3, 4n-2), и так как xn-1<c<x*, то xn-1<xn<c.

Таким образом, если f(x)>0 и f(x)>0 и x*выбрать справа от корня c, а x0 слева от корня c, то ax0<x1<x2<…<xn…<c<x*b, то есть последовательность (3) монотонно возрастает и ограничена снизу, а значит сходится.

Проведя в случаях II-IV аналогичные рассуждения, приходим к выводу:

Если функция f(x) непрерывна на отрезке [a,b] вместе со своими первой f(x) и второй f(x) производными, сохраняющими постоянный знак на этом отрезке, то выбрав x*[a,b] и x0[a,b] так, что f(x*) f(x0)<0 и f(x1) f(x0)>0 получим монотонную итерационную последовательность (3), сходящуюся к корню уравнения (1).

Для оценки погрешности метода хорд можно использовать полученную выше общую формулу оценки погрешностей итерационных методов, но для этого необходимо подобрать q, что в данном случае сделать затруднительно. Поэтому получим формулу для оценки погрешности метода хорд другим способом.

Из (3) имеем

Прибавим к левой части равенства f(c), равное нулю, а к дроби справа применим теорему Лагранжа о среднем

, где 1 находится между xn и x*

Применив теорему Лагранжа о среднем к левой части равенства, получим

, где 2 находится между xn и с

К разности в скобках левой части равенства прибавим и вычтем xn+1

;

.

Откуда

и

,

и так как f(x) сохраняет знак на отрезке [a,b] и 1, 2[a,b], то |f(1)-f(2)|M1-m1, где , и

,

то есть требуемая точность будет достигнута, если

или

1 Теорема Лагранжа о среднем. Если функция f(x)=0 непрерывна на отрезке [a,b] и в каждой точке интервала (a,b) имеет конечную или бесконечную определенного знака производную, то существует, по крайней мере, одна точка (a,b) такая, что f(b)– f(a)= f()(ba).