Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется

Пусть корень уравнения f(x)=0 отделен на отрезке Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru[a;b], то есть на этом отрезке имеется единственный корень, а функция на данном отрезке непрерывна.

Метод половинного деления позволяет получить последовательность вложенных друг в друга отрезков [a1;b1], [a2;b2], …,[ai;bi],…, [an;bn], таких что f(ai).f(bi) < 0, где i=1,2,…,n, а длина каждого последующего отрезка вдвое меньше длины предыдущего:

Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru

Рис.1.2.3-1

Последовательное сужение отрезка вокруг неизвестного значения корня Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru обеспечивает выполнение на некотором шаге n неравенства |bn - an| < e. Поскольку при этом для любого хÎ[an;bn] будет выполняться неравенство | Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru - х| <Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru, то с точностью Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ruлюбое

Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru может быть принято за приближенное значение корня, например его середину отрезка Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru

В методе половинного деления от итерации к итерации происходит последовательное уменьшение длины первоначального отрезка [a0;b0]в два раза (рис. 1.2.3-1). Поэтому на n-м шаге справедлива следующая оценка погрешности результата:

Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru (1.2.3-1)

где Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru - точное значение корня, хnÎ [an;bn] – приближенное значение корня на n-м шаге.

Сравнивая полученную оценку погрешности с заданной точностью Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru, можно оценить требуемое число шагов:

Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru (1.2.3-2)

Из формулы видно, что уменьшение величины e (повышение точности) приводит к значительному увеличению объема вычислений, поэтому на практике метод половинного деления применяют для сравнительно грубого нахождения корня, а его дальнейшее уточнение производят с помощью других, более эффективных методов.

Рис. 1.2.3-2. Схема алгоритма метода половинного деления

Схема алгоритма метода половинного деления приведена на рис. 1.2.3-2. В приведенном алгоритме предполагается, что левая часть уравнения f(x)оформляется в виде программного модуля.

Пример 1.2.3-1. Уточнить корень уравнения x3+x-1=0 с точностью Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru =0.1, который локализован на отрезке [0;1].

Результаты удобно представить с помощью таблицы 1.2.3-3.

Таблица 1.2.3-3

k a b f(a) f(b) (a+b)/2 f((a+b)/2) a k b k
-1 0.5 -0.375 0.5
0.5 -0.375 0.75 0.172 0.5 0.75
0.5 0.75 -0.375 0.172 0.625 -0.131 0.625 0.75
0.625 0.75 -0.131 0.172 0.688 0.0136 0.625 0.688


После четвертой итерации длина отрезка |b4-a4| = |0.688-0.625| = 0.063 стала меньше величины e, следовательно, за приближенное значение корня можно принять значение середины данного отрезка: x = (a4+b4)/2 = 0.656.

Значение функции f(x) в точке x = 0.656 равно f(0.656) = -0.062.

Метод итерации

Метод итераций предполагает замену уравнения f(x)=0 равносильным уравнением x=j(x). Если корень уравнения отделен на отрезке [a;b], то исходя из начального приближения x0Î[a;b], можно получить последовательность приближений к корню

x1 = j(x0), x2 = j(x1), …,Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru , (1.2.3-3)

где функция j(x) называется итерирующей функцией.

Условие сходимости метода простой итерации определяется следующей теоремой.

Пусть корень х* уравнения x=j(x) отделен на отрезке [a;b]и построена последовательность приближений по правилу xn=j(xn-1). Тогда, если все члены последовательности xn=j(xn-1) Î [a;b] и существует такое q (0<q<1), что для всех х Î [a; b]выполняется |j’(x)| = q<1, то эта последовательность является сходящейся и пределом последовательности является значение корня x*, т.е. процесс итерации сходится к корню уравнения независимо от начального приближения.

Таким образом, если выполняется условие сходимости метода итераций, то последовательность x0, x1, x2, …, xn,…, полученная с помощью формулы xn+1 = j(xn), сходится к точному значению корня Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru :

если Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru

Условие j(x)Î[a;b] при xÎ[a;b] означает, что все приближения x1, x2, …, xn,…, полученные по итерационной формуле, должны принадлежать отрезку [a;b], на котором отделен корень.

Для оценки погрешности метода итерации справедливо условие

Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru (1.2.3-4)

За число q можно принимать наибольшее значение |j'(x)|,а процесс итераций следует продолжать до тех пор, пока не выполнится неравенство

Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru (1.2.3-5)

На практике часто используется упрощенная формула оценки погрешности. Например, если 0<q£½ то

|xn-1 - xn| £ Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru .

Использование итерационной формулы xn+1= j(xn) позволяет получить значение корня уравнения f(x)=0 с любой степенью точности.

Геометрическая иллюстрация метода итераций. Построим на плоскости X0Y графики функций y=x и y=j(x). Корень уравнения х=j(x) является абсциссой точки пересечения графиков функции y = j(x) и прямой y=x. Возьмем некоторое начальное приближение x0 Î [a;b]. На кривой y = j(x) ему соответствует точка А0 = j(x0). Чтобы найти очередное приближение, проведем через точку А0 прямую горизонтальную линию до пересечения с прямой y = x (точкаВ1) и опустим перпендикуляр до пересечения с кривой (точкаА1), то есть х1=j(x0). Продолжив построение аналогичным образом, имеем ломаную линию А0, В1, А1, В2, А2…, для которой общие абсциссы точек представляют собой последовательное приближение х1, х2, …, хn («лестницу») к корню х*. Из рис. 1.2.3-3а видно, что процесс сходится к корню уравнения.

Рассмотрим теперь другой вид кривой y = j(x) (рис. 1.2.6b). В данном случае ломаная линия А0, В1, А1, В2, А2…имеет вид “спирали”. Однако, и в этом случае наблюдается сходимость.

Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru

a) b)

Рис. 1.2.3-3

Нетрудно видеть, что в первом случае для производной выполняется условие 0< j’(x)< 1, а во втором случае производная j’(x)<0иj’(x)>-1. Таким образом, очевидно, что если |j’(x)|<1, то процесс итераций сходится к корню.

Теперь рассмотрим случаи, когда |j’(x) |> 1. На рис. 1.2.3-4а показан случай, когда j’(x)>1, а на рис. 1.2.3-4b – когда j’(x) < -1. В обоих случаях процесс итерации расходится, то есть, полученное на очередной итерации значение х все дальше удаляется от истинного значения корня.

Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru

a) b)

Рис. 1.2.3-4

Способы улучшения сходимости процесса итераций. Рассмотрим два варианта представления функции j(x) при переходе от уравнения f(x)кx=j(x).

1.Пусть функция j(x) дифференцируема и монотонна в окрестностях корня и существует числоk £ |j‘(x)|, где k ³ 1 (т.е. процесс расходится). Заменим уравнение х=j(x) эквивалентным ему уравнением х=Y(х), где Y(х) = 1/j(x)(перейдем к обратной функции). Тогда

Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru а значит q=1/k < 1 и процесс будет сходиться.

2.Представим функцию j(x) как j(x) = х - lf(x), где l - коэффициент, не равный

нулю. Для того чтобы процесс сходился, необходимо, чтобы
0<|j¢(x)| = |1 - lf¢(x)| < 1. Возьмем l= 2/(m1+M1), где m1 и M1 – минимальное и максимальное значения f’(x) (m1=min|f’(x)|, M1=max|f’(x)|) для хÎ[a;b], т.е. 0£ m1 £ f¢(x) £ M1£1. Тогда

Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru

и процесс будет сходящимся, рекуррентная формула имеет вид

Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru

Если f¢(x) < 0, то в рекуррентной формуле f(x) следует умножить на -1.

Параметр λ может быть также определен по правилу:

Если Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru , то Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru , а если Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru , то Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru , где Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru .

Схема алгоритма метода итерации приведена на рис. 1.2.3-5.

Исходное уравнение f(x)=0преобразовано к виду, удобному для итераций: Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru Левая часть исходного уравнения f(x) и итерирующая функция fi(x) в алгоритме оформлены в виде отдельных программных модулей.

Рис. 1.2.3-5. Схема алгоритма метода итерации

Пример 1.2.3-2. Уточнить корень уравнения 5x – 8∙ln(x) – 8 =0 с точностью 0.1, который локализован на отрезке [3;4].

Приведем уравнение к виду, удобному для итераций:

Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru

Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru

Метод половинного деления. Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], то есть на этом отрезке имеется - student2.ru

Следовательно, за приближенное значение корня уравнения принимаем значение x3=3.6892, обеспечивающее требуемую точность вычислений. В этой точке f(x3)=0.0027.

Наши рекомендации