
Лабораторна робота №15. Алгоритми пошуку коренів рівнянь
Мета роботи : вивчити алгоритми пошуку коренів нелінійних рівнянь алгебри із заданою точністю.
15.1. Короткі теоретичні відомості
Одним з найчастіше використовуваних обчислювальних методів є метод ітерацій і різні його модифікації.
Ітераційні методи засновані на побудові такою, що сходиться до точного рішення х* нескінченної рекурентної послідовності х0, х1, ., хk х* при k ∞.
Послідовність називається рекурентною порядку m, якщо кожен наступний її член виражається через m попередніх за деяким правилом:
хk = (хk1, хk2, …, хkm). (15.1)
Такий метод називається m -шаговим. Для його реалізації вимагається задати m перших членів {х0, х1, ., хm(1}, званих початковим наближенням. Знаючи початкове наближення, по формулі (15.1) послідовно знаходять хm, хm+1, ..., хk, …. Процес отримання наступного k -го члена через попередні називається k -ою ітерацією. Ітерації виконуються до тих пір, поки черговий член хk не задовольнятиме заданої точності, тобто доки не виконається умова | хk хk1 | < , де - деяка задана мала величина. В якості шуканого рішення беруть останній член послідовності хk, при якому виконалася вказана нерівність.
Щоб використовувати ітераційний метод, початкове завдання перетворять до виду, дозволеного відносно х :
х = (х). (15.2)
При цьому точне рішення початкової задачі х* є і рішенням (15.2).
Використовуємо вираження (15.2) як рекурентну формулу (m = 1) :
хk = (хk1).
Далі, задавши одно х0 (початкове наближення), послідовно знаходимо х1, х2, ., хk. Якщо отримана таким чином послідовність сходиться до деякої кінцевої межі, то ця межа співпадає з точним рішенням х*.
Математичною моделлю багатьох фізичних процесів є функціональна залежність y = f(х). Тому завдання дослідження різних властивостей функції f(х) часто виникають в інженерних розрахунках. Одним з таких завдань є знаходження коренів цього рівняння на заданому відрізку [a, b], тобто таких значень х, при яких f(х) = 0.
На мал. 15.1 представлені три найбільш ситуації, що часто зустрічаються :
а) кратний
корінь:
б) простий
корінь:
в) вироджений
корінь:
не існує,
.
Мал. 15.1
Значення коренів х1* і х3* (назвемо їх особливими) співпадають з точкою екстремуму функції, і для їх знаходження можна використовувати або методи пошуку мінімуму функції, або алгоритм пошуку інтервалу, на якому знаходиться «особливий» корінь.
Зазвичай для знаходження коренів рівняння застосовуються чисельні методи, і цей пошук здійснюється в два етапи.
1. Наближене визначення місця розташування - етап відділення коренів (знаходження грубих коренів).
2. Обчислення вибраного кореня із заданою точністю .
Перше завдання найчастіше вирішується графічним методом: на заданому відрізку [a, b] обчислюється таблиця значень функції з деяким кроком h, будується її графік, і визначаються інтервали (i, i) - надалі [a, b] завдовжки h, на яких знаходяться корені.
Загальний алгоритм пошуку особливих коренів
1. Початок циклу для х, що змінюється від a до b з кроком h (h ).
2. Якщо f(х)< , те хn - початок відрізку, на якому ймовірно існує особливий корінь рівняння f(х), - продовжуємо цикл.
3. Якщо f(х)> , те хk - кінець шуканого відрізку.
4. Виводимо на екран отриманий інтервал.
5. Кінець циклу.
Загальний алгоритм пошуку простих коренів
1. Початок циклу для х, що змінюється від a до b з кроком h.
2. Якщо f(х) f(х + h) < 0, то на відрізку [х, х + h] існує простий корінь рівняння f(х).
3. Звертаємося до створеної функції, що реалізовує вибраний алгоритм, параметрами якої є: інтервал [х, х + h], на якому існує корінь, вид функції f(х), задана точність .
4. Виводимо на екран отримане значення.
5. Кінець циклу.
Пошук простого кореня із заданою точністю ( здійснюється одним з ітераційних методів. Відповідно до загальної методики, на знайденому інтервалі вибирається m початкових значень (наближень) х0, х1, ., хm(1, після чого послідовно виконуються обчислення до тих пір, поки не виконається нерівність |х1 - х0| < (х0 - значення, знайдене на попередньому кроці, х1 - знайдене значення). Значення х1, при якому |х1 - х0| > ( приймається як наближене значення кореня.
Розглянемо основні ітераційні методи пошуку коренів.