Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Met_Lab_Nelineynye_uravnenia_2012.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
390.14 Кб
Скачать

Уточнение корней

Задача уточнения корня формулируется следующим образом: пусть на интервале [а, b] имеется действительный корень и причем единственный. Необходимо найти этот корень с заданной степенью точности .

Существует большое разнообразие вычислительных методов, реализующих поставленную задачу, однако последовательность основных этапов решения задачи одинакова для всех методов и может быть представлена в виде блок-схемы (рис. 2).

Р ис. 2. Этапы отделения корней

Все существующие вычислительные методы уточнения корней нелинейного уравнения условно делятся на 3 группы:

  • методы деления отрезка;

  • методы, основанные на информации о значении 1-й производной;

  • методы, использующие рекуррентные выражения.

В данной лабораторной работе рассматриваются методы, относящиеся к разным группам.

Метод деления отрезка пополам (вилки, дихотомии)

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

[a, x], если sign (f(x)) sign (f(а)), т.е. f(x) f(a) < 0, (4)

[ x, b], если sign (f(x))=sign (f(а)), т.е. f(x) f(a) > 0. (5)

Рис. 3. Метод дихотомии

Таким образом получается последовательность вложенных отрезков, левые границы которых образуют неубывающую последовательность аk, правая – невозрастающую последовательность bk. При неограниченном увеличении числа итерации k эти последовательности сходятся к общему пределу: последовательность ak слева и последовательность bk – справа. Значение предела является точным значением корня х*.

Сужение исходного отрезка до размеров требуемой точности bk - ak 2 позволяют определить приближенное значение корня

. (6)

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

Метод Ньютона (метод касательных)

Общая стратегия метода состоит в замене на каждой итерации функции f(x) приближенной линейной зависимостью.

Замена функции прямой, т. е. ее линеаризация проводится следующим образом. Пусть имеется такое приближение х(k-1) к корню уравнения, что оно отличается от точного решения на достаточно малую величину h(k):

x*=x(k-1) + h(k) , (7)

тогда функция f(x) в окрестности точки х(k-1) может быть разложена в ряд Тейлора

. (8)

Т. к. f(x*)0, то, ограничиваясь линейными членами разложения, можно получить формулу для приближенного расчета h(k):

. (9)

Значение h(k) не точно. Тем не менее, оно дает новое приближение

х(k)=x(k-1) + h(k) , (10)

которое расположено ближе к корню, чем предыдущее. Тогда из новой точки x(k) можно сделать еще один шаг для дальнейшего уточнения значения корня по той же методике. В результате организуется итерационный алгоритм поиска корня уравнения из выбранной некоторым образом точки начального приближения х(0). Вычисления заканчиваются тогда, когда два последовательных приближения различаются на величину, не превышающую заданной точности , т.е.

. (11)

В геометрической интерпретации производная определяет угол наклона касательной к функции.

Как видно из приведенного рисунка, очередным приближением к решению оказывается точка пересечения оси х с касательной, проведенной к графику функции в точке с координатами (k-1)), f(x(k-1)).

Однако если касательные проводить из точки a, то уточнение корня не будет происходить.

Р ассмотрим другой возможный график функции (рис. 6). В этом случае проводить касательные нужно из точки a.

Из приведенных рисунков видно, что для уточнения корня функции f(x) на [a, b] нужно определить с какого конца интервала необходимо начинать итерационный процесс поиска.

Если f’(x)* f (x) > 0 или f(b)* f(x) > 0, где x [a, b], то процесс поиска начинается с точки b.

Если f’(x)* f (x) < 0 x или f(а)* f(x) > 0, то процесс поиска начинается с точки а.

Метод Ньютона требует информации о значении функции ее первой и второй производной, т.е. большей чем метод дихотомии. Но метод Ньютона теоретически обладает самой высокой скоростью сходимости. Кроме того, метод Ньютона не требует выполнения каких-либо условий сходимости последовательности xk.

Блок-схема реализации метода приведена на рис. 7.

Метод простых итераций

Для решения методом простых итераций уравнение f(x)=0 надо привести к каноническому виду: х=(x), т. е. графически решением уравнения, является точка х=х* (рис. 8), в которой совпадают значения абсциссы и ординаты функции (x).

Стратегия метода заключается в том, что выбирается некоторое начальное приближение х(0)  [a,b] и строится последовательность приближений {x(n)} по рекуррентной формуле:

x(k)=(x(k-1)) k=1,2 …

Для того, чтобы таким образом получить решение уравнения, должны выполняться три условия:

  • каждый член последовательности должен принадлежать отрезку [a,b];

  • последовательность x(k) должна быть сходящейся;

  • пределом последовательности {x(k)} должно быть значение х*.

Для выполнения первого условия достаточно соблюдение неравенства:

a (x) bx [a, b]. (12)

Для выполнения второго условия должно соблюдаться следующее неравенство

x(k+1)x(k)  < x(k)x(k-1), (13)

но, поскольку

x(k+1)=(x(k)) и x(k)=(x(k-1)), (14)

тогда неравенство будет выглядеть:

(x(k) )– (x(k-1) ) < x(k)x(k-1) (15)

или

. (16)

В соответствии с теоремой Коши для сходящейся последовательности

. (17)

Тогда по определению производной:

. (18)

Получаем достаточное условие сходимости приближений к корню уравнения

(х)  1 хa, b. (19)

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

x(k) - x(k+1)  . (20)

Преобразование уравнения f(x)=0 к виду х=(x) неоднозначно, поэтому для одной и той же функции f(x) могут быть получены различные выражения (х). При выполнении преобразований следует иметь в виду, что условие сходимости может не выполняться. В этом случае надо подобрать другое каноническое выражение х=(x). Рекомендуется преобразовать к виду:

xmf(x), т.е.(х)=х-mf(x), (21)

где m – отличная от нуля константа.

Дифференцируя (х), получим:

(х)=1mf(x). (22)

Для того, чтобы выполнялось условие

(х)=1mf(x)<1, (23)

достаточно подобрать m так, чтобы для  х1,1.5 выполнялось неравенство 0 < mf(x) < 2.

ПРИМЕР.

Требуется уточнить корень уравнения sin(2x) ln(x)=0 на интервале a, b.

Тогда

f(x)=sin(2x) ln(x). (24)

Представим это уравнение в виде:

x=x m(sin(2x) ln(x). (25)

В этом случае

(x)=x m(sin(2x) ln(x)), (26)

(x)=1 m(2cos(2x) 1/x). (27)

Подберем константу m так, чтобы выполнялось условие 0< mf(x) < 1. Для этого на интервале 1,1.5 (рис.9) постоим функцию f(x) = 2cos(2x) 1/x.

Очевидно, что если принять m=-0.1 например, то условия 0 < -0.1 f(x) < 2 (рис.10) и соответственно (х)  1 выполняются  х1,1.5 (рис. 11).

Рис. 9. График функции f(x) = 2cos(2x) 1/x

Рис. 10. График функции mf(x) = m(2cos(2x) 1/x)

Рис. 11. График функции (x) = 1-m(2cos(2x) 1/x)

П осле подбора канонического выражения можно приступить к реализации алгоритма поиска, приведенного на рис. 12.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]