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

8.3.1. Метод половинного деления уточнения корней на доверительном отрезке

Допустим, для уравнения f(x)=0 заданы:

1) доверительный отрезок [a,b], на котором непрерывная функция f(x) меняет знак: f(a) f(b) < 0,

2) точность , с которой необходимо найти корень f(x),

3) допустимая погрешность вычисления значения функции f.

Необходимо найти приближенное значение корня xпр с точностью f либо новый доверительный отрезок для него с точностью .

Обозначим начальные значения границ отрезка через a0 и b0, на каждой очередной итерации i (=1,2,...) - через ai и bi.

Рассмотрим итерацию метода с номером i (=1,2,...). К началу ее известен доверительный отрезок [ai-1,bi-1] предыдущей итерации (i-1), на котором функция f(x) меняет знак: f(ai-1) f(bi-1) < 0. На итерации i рассчитываем значение функции в средней точке отрезка [ai-1,bi-1], имеющей координаты: xi = (ai-1+bi-1)/2. Для значения функции f(xi) выполняем следующие проверки.

1. Если f(xi)< f, то искомое приближенное значение корня считаем найденным (xпр = xi) и выходим из алгоритма; иначе вычисления продолжаем;

2. Если выполнено условие f(ai-1) f(xi) < 0, то это означает, что искомый корень содержится между точками ai-1 и xi, корректируем доверительный отрезок: ai:= ai-1; bi:=xi;

иначе (f(ai-1) f(xi)  0) искомый корень лежит между точками xi и bi-1, корректируем доверительный отрезок: ai:=xi; bi:= bi-1.

3. Если bi - ai ≤ , то найден доверительный интервал требуемой длины , вычисления завершаем; иначе (bi - ai>) - переходим к новой итерации (i +1).

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

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

Скорость сходимости метода. Она не зависит от вида функции Поскольку на каждом шаге длина доверительного отрезка уменьшается ровно в два раза, то число шагов n равно числу делений числа (b-a) на 2, при котором результат окажется меньше либо равен :(b-a)/2n ≤ . Отсюда следует: 2n  (b-a)/; n  log2((b-a)/);

n = n(f(x),(b - a),) = ]log2((b-a)/)[ = ]log2M[, (8.7)

где ]x[ - ближайшее целое сверху к значению x.

Пример 1. Уточнить по методу половинного деления корень уравнения f(x) = x3 - 6х + 2 = 0 из примера 1 п.8.2 с точностью = 0,01 на отрезке [2;3].

Решение. Масштаб задачи равен: М=(b - a)/ =1/0,01 = 100. Следовательно, из (8.5) следует, что число необходимых итераций равно n = ]log2(100)[ = 7. Из примера 1 п.8.2 следует, что f(2)<0; f(3)>0. Точность расчетов примем равной 0,0001. Рассмотрим выполнение итераций с номерами 1-7.

Итерация 1. х1=(2+3)/2=2,5. f(2,5)= x3 - 6х + 2 = 15,625 - 15 + 2 = 2,625 > 0. f(2,5) f, f(2,5)f(2)<0, поэтому корень находится на отрезке [2;2,5], который принимаем в качестве нового доверительного. Длина его равна 0,5 >.

Итерация 2. х2=(2+2,5)/2=2,25. f(2,25)= x3 - 6х + 2 11,3906 - 13,5 + 2 = -0,1094<0. Так как f(2)f(2,25)>0, то корень находится на отрезке [2,25;2,5], который принимаем в качестве нового доверительного. Длина его равна 0,25 >.

Итерация 3. х3=(2,25+2,5)/2=2,375. f(2,375)= x3 - 6х + 2 13,3965 - 14,25 + 2 = 1,1465>0. Так как f(2,25)f(2,375)<0, то корень находится на отрезке [2,25;2,375], который принимаем в качестве нового доверительного. Длина его равна 0,125 >.

Итерация 4. х4=(2,25+2,375)/2=2,3125. f(2,3125)= x3 - 6х + 2 13,3665 - 13,875 + 2 = 1,4915>0. Так как f(2,25)f(2,375)<0, то корень находится на отрезке [2,25;2,3125], который принимаем в качестве нового доверительного. Длина его равна 0,0625 >.

Итерация 5. х5=(2,25+2,3125)/22,2825. f(2,2825)= x3 - 6х + 2 11,8914 - 13,6950 + 2 = 0,1964>0. Так как f(2,25)f(2,3125)<0, то корень находится на отрезке [2,25;2,2825], который принимаем в качестве нового доверительного. Длина его равна 0,03125 >.

Итерация 6. х6=(2,25+2,2825)/22,2663. f(2,2663)= x3 - 6х + 2 11,6400 - 13,5978 + 2 = 0,0422>0. Так как f(2,25)f(2,2663)<0, то корень находится на отрезке [2,25; 2,2663], который принимаем в качестве нового доверительного. Длина его равна 0,0015625 >.

Итерация 7. х7=(2,25+2,2663)/22,2582. f(2,2582)= x3 - 6х + 2 11,5156 - 13,5492 + 2 = - 0,0336<0. Так как f(2,25)f(2,2663)>0, то корень находится на отрезке [2,2582; 2,2663], который принимаем в качестве нового доверительного. Длина его равна 0,00078125 < . Следовательно, вычисления заканчиваем и последний доверительный отрезок [2,2582; 2,2663] принимаем в качестве решения задачи.

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

Основной недостаток - невысокая скорость сходимости по сравнению с другими методами. Также относительным недостатком является возможность случайного попадания в корень, из-за чего приходится проверять дополнительное условие f(xi)< f.

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

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

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

3. Что называют сходимостью метода уточнении корня уравнения на доверительном отрезке и скоростью сходимости ?

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

5. Как в методе половинного деления вычисляется очередное приближенное значение корня ?

6. Всегда ли сходится метод половинного деления и какова его скорость сходимости ?

7. Укажите достоинства и недостатки метода половинного деления уточнения корня уравнения на доверительном отрезке.

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

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

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