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

8.5. Уточнение корней уравнения в окрестности начального приближения. Сканирование с переменным шагом

В отличие от уточнения корня на доверительном отрезке, в данном случае исходными данными помимо функции f(x) и необходимой точности решения  является только одна начальная приближенная точка x0, достаточно близкая к искомому корню уравнения x*. Требуется построить последовательность приближенных решений {xi} (i=1,2,...), сходящуюся к точному корню уравнения x*, который будет ближайшим к начальному приближению x0. Корень x* будет ближайшим к x0 сверху, если функция f(x)>0 и убывает в точке x0, и, наоборот, если функция f(x)<0 и возрастает в точке x0. В других случаях искомый корень x* будет ближайшим к x0 снизу.

Наиболее распространенными методами уточнения корней в окрестности начального приближения являются:

1) сканирование с переменным шагом,

2) метод простой итерации,

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

У метода 1) сканирования с переменным шагом точность определения корня задается длиной итогового доверительного отрезка . У методов простой итерации (2) и касательных (3) условием завершение итерационного процесса является, как и в методе хорд, уменьшение величины приращения значения приближенных значений корня до заданной предельной величины : | xi - xi - 1| < .

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

8.5.1. Сканирование с переменным шагом

Поиск корня в окрестности приближенной точки x0 по методу сканирования с переменным шагом заключается в начальном просмотре (сканировании на первой итерации) значений функции f(x) в направлении точного значения корня x* с крупным шагом h1 в результате которого определяется доверительный отрезок [a1,b1] длины h1, внутри которого находится x*. Затем шаг сканирования уменьшается в заранее заданное число раз k (k>1) и просмотр значений функции f(x) производится, начиная с последней точки, в обратном направлении (h2:= -h1/k) с определением доверительного отрезка [a2,b2] сокращенной длины h2. Процесс уменьшения и смены направления сканирования (hi:= -hi-1/k) продолжается до тех пор, пока корень x* не будет локализован на доверительном отрезке длины (bi - ai) = hi, не превышающей заданной точности . Длина шага на последней итерации равна модулю hi= h0/ki-1 .

Начальное значение шага сканирования h1 и коэффициент сокращения шага k для максимального сокращения вычислений функции f(x) должны быть приняты по возможности достаточно большими, но, в то же время, таким, чтобы не допустить при сканировании пропуска рядом расположенной пары корней функции или слияния трех близко расположенных корней в одно решение. Очевидно, в общем случае величины h1 и k должны выбираться с учетом особенностей функции f(x) и необходимой точности решения .

После задания h1 и k выполнение метода не учитывает особенности функции f(x). Как и в методе половинного деления, при случайном попадании в корень имеется возможность неправильного определения знака функции f(x) в очередном узле при малом значении f(x) и потери соответствующего корня. Поэтому для корректной работы метода во всех случаях необходимо учитывать точность f расчета функции f(x) и производить проверку f(xi)< f, как и в методе половинного деления.

С учетом вышесказанного полная постановка задачи уточнения корня по методу сканирования с переменным шагом должна содержать следующие исходные данные:

1) начальное приближение корня x0,

2) необходимую точность определения корня ,

3) точность f расчета функции f(x),

4) начальное значение шага сканирования h1,

5) коэффициент сокращения шага k.

Зависимость hi= h1/ki-1 ≤  может быть использована для задания связи между параметрами задачи (h1,k,i). Например, при заданном коэффициенте k и числе итераций i длину начального шага h1на первой итерации можно задать равной h1=ki-1.

Корректная расширенная постановка задачи с учетом возможного попадания в корень означает численное определение: 1) либо нового итогового доверительного отрезка [,] длины, не превышающей (8.5а), 2) либо приближенного значения корня xпр, у которого f(xi)< f (8.5б).

С учетом расширенной постановки задачи уточнения корня (8.5а)-(8.5б) численный алгоритм ее решения на каждой итерации i при известном последнем расчетном узле сi-1 - одной из крайних точек доверительного отрезка [ai-1,bi-1] и значении шага hi-1 (hi-1>) на предыдущей итерации (i -1) должен вначале содержать расчет длины и направления шага hi-1 на текущей итерации i: hi:= -hi-1/k. Затем производится расчет значений функции в узлах вида di,j = сi-1 + jhi: (j = 1,2,...), в каждом узле di,j производятся проверки условий:

а) f(di,j)≤ f - если оно выполнено, то имеет место попадание в корень, di,j принимаем в качестве его искомого уточненного значения и выходим из алгоритма,

б) иначе проверяем условие постоянства знака функции на последнем расчетном шаге f(di,j)f(di,(j-1)) >0 - если оно выполнено, продолжаем проход по узлам,

в) иначе (f(di,j)f(di,(j-1))<0) проверяем условие окончания работы алгоритма hi ≤ , если оно выполнено, отрезок [di,(j-1), dij] принимаем в качестве искомого итогового доверительного отрезка и выходим из алгоритма, иначе принимаем сi:= di,j и переходим к выполнению следующей итерации.

В качестве искомого решения принимаем последний доверительный отрезок [di,(j-1), dij] или приближенное узловое значение di,j, если произошло попадание в корень.

При учете погрешности расчета значений функции метод сходится всегда, поскольку после выполнения каждой итерации i точное значение корня x* удерживается на доверительном отрезке [ai,bi] уменьшающейся длины. Скорость сходимости невысока из-за переборного характера применяемого алгоритма поиска уточнения.

Пример 1. Уточнить по методу сканирования с переменным шагом корень уравнения f(x) = x3 - 6х + 2 = 0 из примера 1 п.8.2 с точностью = 0,01 в окрестности приближенного значения x0 = 3. Точность вычисления функции f = 0,0001.

Решение. Примем коэффициент сокращения шага k=10, число итераций i=2. Тогда из зависимости hi= h1/ki ≤  получим, что длина начального шага h1на первой итерации может быть принята равной h1=ki-1 = 0,0110 = 0,1.

Так как f(3) = 11 > 0, то знак h0 должен быть выбран в направлении убывания функции (приближения ее к нулю). Пробные расчеты дают: f(3 - 0,1) = (2,9)3 - 6(2,9) + 2 = 8,989 <11 = f(3), f(3 + 0,1) = (3,1)3 - 6(3,1) + 2 = 13,191>11. Поэтому задаем: h1 = - 0,1.

Итерация 1. С учетом найденного значения f(2,9) = 8,989 >0 продолжаем вычисления значений функции до получения отрицательной величины (или попадания в корень с точностью f):

f(2,8) = 7,152>0; f(2,7) = 5,483>0; f(2,6) = 3,976>0; f(2,5) = 2,625>0; f(2,4)=1,424>0; f(2,3) = 0,367>0; f(2,2) = -0,552<0.

Так как во всех точках f(di,j) >f и h1 = 0,1>, то принимаем сi:= 2,2 и переходим к следующей итерации.

Итерация 2. Принимаем: h2 = - h1/10 = 0,01. С учетом f(2,2)<0 вычисляем значения функции с шагом h2 до получения положительной величины (или попадания в корень с точностью f):

f(2,21) = -0,4661<0; f(2,22)= -0,379>0; f(2,23)= -0,2904<0; f(2,24)= -0,2006<0; f(2,25) = -0,1094<0; f(2,26) = -0,0168<0; f(2,27) = 0,0771>0.

Так как во всех точках f(di,j) >f , то после смены знака функции проверяем длину полученного доверительного интервала. Так как h1 = 0,01=, то в качестве решения принимаем последний доверительный отрезок [2,26; 2,27].

Как видно из примера, метод не оптимален по числу вычислений функции - на поиск решения потрачено: 2 пробных расчета, 7 расчетов на итерации 1 и 7 расчетов на итерации 2 - всего 16 расчетов значения функции, что значительно превышает даже число расчетов в методе половинного деления.

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

Вопросы для проверки знаний.

1. Чем отличается уточнение корня в окрестности приближенной точки от уточнения на доверительном отрезке ?

2. Какие методы уточнения корней в окрестности начального приближения являются наиболее употребительными ?

3. Как задают точность решения в методах уточнения корней в окрестности начального приближения ?

4. Какой порядок имеют методы уточнения корней в окрестности начального приближения ?

5. В чем заключается основная идея уточнения корня в окрестности начального приближения при помощи метода сканирования с переменным шагом ?

6. Почему при корректной реализации метода сканирования с переменным шагом необходимо учитывать возможность попадания в корень?

7. Какой полный набор исходных данных должна содержать полная постановка задачи уточнения корня в окрестности начального приближения при помощи метода сканирования с переменным шагом ?

8. В каком виде может быть получено решение задачи уточнения корня в окрестности начального приближения при помощи метода сканирования с переменным шагом ?

9. Каковы достоинства и недостатки метода уточнения корня в окрестности начального приближения при помощи сканирования с переменным шагом ?

Практические задания.

1. Уточнить по методу сканирования с переменным шагом корень уравнения f(x) = x4 - х - 14 = 0 с точностью = 0,2 на отрезке [1,5;3].

2. Отделить положительный корень уравнения f(x) = x3 - 0,2 x2 - 0,2 х - 1,2 = 0 и уточнить его с точностью = 0,05.

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