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

2.3. Уточнення коренів. Метод проб

Попередній підрозділ був присвячений першому з етапів наближеного розв’язання алгебраїчних і трансцендентних рівнянь – відділенню коренів.

Другий етап – уточнення коренів, тобто доведення їх до заданого ступеня точності.

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

Вважатимемо, що корінь відділений і знаходиться на відрізку [аb], тобто має місце нерівність Числа а і b є наближеними значеннями кореня відповідно з недостачею і з надлишком. Похибка цих наближень не перевищує довжини відрізка b а. Якщо , то бажана точність обчислень досягнута, і за наближене значення кореня можна прийняти або а, або b. Але якщо , то бажана точність обчислень не досягнута і необхідно звузити інтервал, в якому знаходиться корінь , тобто підібрати такі числа і , щоб виконувалася нерівність і При обчислення треба зупинити і за наближене значення кореня з точністю до ε прийняти або або Треба відмітити, що значення кореня буде більш точним, коли за наближене значення кореня прийняті не кінці відрізка і а середина цього відрізка, тобто Помилка при цьому не буде перевищувати величину

Метод проб. Нехай дано рівняння , де – неперервна функція, і корінь відділений на відрізку [аb], тобто , при чому . Треба знайти корінь цього рівняння з точністю до ε (рис. 8).

Н а відрізку [аb] вибирають довільним чином точку а1, яка розділить його на два відрізки [а, а1] і [а1b]. З цих двох відрізків вибирають той, на кінцях якого функція приймає значення з протилежними знаками. У нашому прикладі і , тому вибирають відрізок [а1,  b]. Потім на цьому звуженому відрізку знову довільним чином беруть точку а2 і знаходять знаки добутків і Оскільки то вибирають відрізок [а2b]. Цей процес продовжують до тих пір, поки довжина відрізка, на якому знаходиться корінь, не стане меншою ε. Корінь ξ отримують як середньоарифметичне значення кінців найденого відрізка, причому помилка кореню не перевищуватиме

Метод половинного ділення. Метод проб у такому вигляді, як описаний вище на ЕОМ не застосовується. Для складання програми і проведення розрахунків на ЕОМ метод проб застосовується у вигляді так званого метода половинного ділення, який в літературі з числових методів можна знайти під назвою "метод дихотомії".

Нехай корінь ξ рівняння , де – неперервна функція, і корінь відділений на відрізку [аb], тобто , при чому . Треба знайти корінь цього рівняння з точністю до ε.

Як і раніше, візьмемо на відрізку [аb] проміжну точку а1, однак не довільним чином, а так щоб вона знаходилася в середині відрізка, тобто Ця точка розділить [аb] на два відрізки [а, а1] і [а1b], довжина яких дорівнює (рис. 9). Якщо , то а1 буде коренем рівняння . Якщо ж , то з двох відрізків [а, а1] і [а1b], що утворилися, вибирають той, на кінцях якого функція приймає значення протилежних знаків. Ітераційний процес продовжують за схемою, розглянутою вище, до тих пір поки не буде знайдено корінь рівняння з заданою точністю, або інакше – поки відрізок [аb] не стане меншим за ε.

Треба відмітити, що функція розраховується з деякою похибкою ε1. З цих двох відрізків вибираємо той, на кінцях якого функція приймає значення з протилежними знаками. У нашому прикладі і , тому вибираємо відрізок [а1,  b].

Процес ділення відрізка навпіл продовжують до тих пір, коли на якомусь n-му етапі або середина буде коренем рівняння (випадок, який рідко зустрічаються на практиці), або буде отриманий відрізок такий, що і (число n вказує на кількість проведених ділень). Числа an і bn – корні рівняння з точністю до ε. За наближене значення кореня треба взяти , причому похибка не буде перевищувати

Зазначимо, що при практичній програмній реалізації методу половинного ділення (методу дихотомії) замість розрахунку добутку , пов’язаного з визначенням однаковості або різниці знаків функції в точках a і b, доцільно скористатися стандартною підпрограмою-функцією SIGN(X) , яка в тому чи іншому вигляді присутня в усіх алгоритмічних мовах. Значення, що видається цією підпрограмою-функцією, відповідає наступному математичному визначенню:

Подібна заміна в алгоритмі методу половинного ділення обґрунтовується тим, що при наближенні точок a і b до кореню рівняння при розрахунку добутку може статися зникнення порядку внаслідок малості співмножників. Тому використання знакової функції є переважним.

Оскільки при зменшенні інтервалу в процесі половинного ділення точка а завжди залишається зліва від шуканого кореня, то, не дивлячись на її переміщення, знак не буде змінюватися. Тому знак визначається тільки один раз, а в процесі ділення вихідного інтервалу узнають знак тільки в середній точці і порівнюють його на збіг або розходження зі знаком . При збігу точку а переміщують в середину відрізка, в протилежному випадку переміщують точку b.

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