3. Методы решения алгебраических и трансцендентных уравнений.
3.1 Приближённое решение уравнения f(x) = 0 методом деления пополам (методом бисекций).
Пусть задана непрерывная функция f(x) и требуется найти корень уравнения f(x) = 0. Предположим, что найден отрезок [a, b], такой, что f(a)f(b)<0. Тогда согласно теореме Больцано-Коши внутри отрезка [a, b] существует точка c, в которой значение функции равно нулю, т. е. f(с) = 0, сÎ(a, b). Итерационный метод бисекций состоит в построении последовательности вложенных отрезков.{[an, bn]| [an, bn]Ì [an-1,bn-1]Ì [a, b]}, на концах которых функция принимает значения разных знаков. Каждый последующий отрезок получают делением пополам предыдущего. Процесс построения последовательности отрезков позволяет найти нуль функции f(x) (корень уравнения f(x) = 0) с любой заданной точностью [10].
Опишем один шаг итераций. Пусть на (n-1)-м шаге найден отрезок [an-1,bn-1]Ì[a, b], такой, что f(an-1)f(bn-1) < 0. Делим его пополам точкой x = (an-1 + bn-1)/2 и вычисляем f(x). Если f(x) = 0, то x = (an-1 + bn-1)/2 – корень уравнения. Если f(x) ¹ 0, то из двух половин отрезка выбираем ту, на концах которой функция имеет противоположные знаки, так как один из корней лежит на этой половине. Таким образом,
an = an-1, bn = x, если f(x)f(an-1) < 0,
an = x, bn = bn-1, если f(x)f(an-1) > 0.
Если требуется найти корень с точностью до e, то деление пополам продолжается до тех пор, пока длина отрезка не станет меньше 2e. Тогда координата середины отрезка и есть значение корня с требуемой точностью e.
Метод бисекций – простой и надежный метод поиска простого корня (корень x = c называют простым корнем дифференцируемой функции f(x), если f(c) = 0 и f¢(c) ¹ 0) уравнения f(x) = 0. Он сходится для любых непрерывных функций f(x), в том числе и недифференцируемых. Скорость сходимости невелика. Для достижения точности e необходимо совершить N итераций, где N » log2((b-a)/e).
Это означает, что для получения каждых трёх верных десятичных знаков необходимо совершить около 10 итераций.
Если на отрезке [a, b] находится несколько корней уравнения f(x) = 0, то процесс сходится к одному из них. Метод неприменим для отыскания кратных корней чётного порядка. В случае корней нечётного порядка он менее точен.
Используя данный алгоритм легко написать функцию Bisect (f, a, b, eps, k) вычисления корня уравнения f(x) = 0, используя пакет MathCAD 2000.
f – искомая функция,
a, b – начало и конец интервала [a, b] соответственно,
eps – погрешность,
k – количество итераций.
3.2 Метод простых итераций.
Метод простых итераций (метод последовательных приближений) решения уравнения f(x) = 0 состоит в замене исходного уравнения эквивалентным ему уравнением x = j(x) и построении последовательности xn+1 = j(xn), сходящейся при n®¥ к точному решению. Сформулируем достаточные условия сходимости метода простых итераций.
Теорема. Пусть функция j(x) определена и дифференцируема на [a, b], причём все её значения j(x)Î[a, b]. Тогда, если существует число q, такое, что |j¢(x)| £ q < 1 на отрезке [a, b], то последовательность xn+1 = j(xn), n = 0, 1, 2, …, сходится к единственному на [a, b] решению уравнения x = j(x) при любом начальном значении x0Î [a, b], т. е.
,
, xÎ [a, b].
При этом, если на отрезке [a, b] производная j¢(x) положительна, то
,
если j¢(x) отрицательна, то
![]()
Опишем один шаг итераций. Исходя из найденного на предыдущем шаге значения xn-1, вычисляем y = j(xn-1). Если |y – xn-1| > e, полагают xn = y и выполняют очередную итерацию. Если же |y – xn-1| < e, то вычисления заканчивают и за приближённое значение корня принимают величину xn = y. Погрешность полученного результата зависит от знака производной j¢(x). При j¢(x) > 0 корень найден с погрешностью
, если j¢(x) < 0, то погрешность не превышает e.


а) б)
Рис. 3.1.
Метод допускает простую геометрическую интерпретацию. Построим графики функций y = x и y = j(x). Корнем x уравнения x = j(x) является абсцисса точки пересечения кривой y = j(x) с прямой y = x (рис. 2.3). Взяв в качестве начальной произвольную точку x0Î[a, b], строим ломаную линию (рис. 3.1, а, б). Абсциссы вершин этой ломаной представляют собой последовательные приближения корня x. Из рисунков видно, что если j¢(x) < 0 на отрезке [a, b], то последовательные приближения xn = j(xn-1) колеблются около корня x, если же производная положительна, то последовательные приближения сходятся к корню монотонно.
При использовании метода простых итераций основным моментом является выбор функции j(x) в уравнении y = j(x), эквивалентном исходному. Два метода итераций следует подбирать функцию j(x) так, чтобы |j¢(x)|£q<1. При этом следует помнить, что скорость сходимости последовательности {xn} к корню x тем выше, чем меньше число q.
3.3 Приближённое решение уравнения методом Ньютона.
Если известно хорошее начальное приближение решения уравнения f(x) = 0, то эффективным методом повышения точности является метод Ньютона (метод касательных). Метод состоит в построении итерационной последовательности xn+1 = xn – f(xn)/f¢(xn), сходящейся к корню уравнения f(x) = 0. Сформулируем достаточные условия сходимости метода.
Теорема. Пусть f(x) определена и дважды дифференцируема на [a, b], причём f(a)f(b)<0, а производные f¢(x), f²(x) сохраняют знак на отрезке [a, b]. Тогда, исходя из начального приближения x0Î[a, b], удовлетворяющего неравенству f¢(x0)f²(x0)>0, можно построить последовательность
, n = 0,1,2,…,
сходящуюся к единственному на [a, b] решению x уравнения f(x) = 0.
Рис. 3.2.
Метод Ньютона допускает простую геометрическую интерпретацию. Если через точку с координатами (xn;f(xn)) (рис. 3.2) провести касательную, то абсцисса точки пересечения этой касательной с осью Ox и есть очередное приближение xn+1 корня уравнения f(x) = 0.
Для оценки погрешности n-го приближения корня можно воспользоваться неравенством
,
где M2 – наибольшее значение модуля второй производной |f²(x)| на отрезке [a, b]; m1 –наименьшее значение модуля первой производной |f¢(x)| на отрезке [a, b]. Таким образом, если |xn – xn-1|<e, то |x - xn|£M2e2/(2m1). Последнее соотношение означает, что при хорошем начальном приближении корня после каждой итерации число верных десятичных знаков в очередном приближении удваивается, т. е. процесс сходится очень быстро. Значит, если необходимо найти корень с точностью e, то итерационный процесс можно прекратить, когда
![]()
Опишем один шаг итераций. Если на (n – 1)-м шаге очередное приближение xn-1 не удовлетворяет условию окончанию процесса, то вычисляем величины f(xn-1), f¢(xn-1) и следующее приближение корня xn = xn-1 – f(xn-1)/f¢(xn-1). При выполнении условия
![]()
величину xn принимаем за приближённое значение корня x, вычисленное с точностью e.
Метод Ньютона эффективен, если известно хорошее начальное приближение для корня и в окрестности корня график функции имеет большую крутизну. В этом случае процесс быстро сходится.


