Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
О.О.П / Лабораторні роботи / Лабораторна робота 15.doc
Скачиваний:
14
Добавлен:
30.05.2020
Размер:
207.36 Кб
Скачать

Лабораторна робота №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| > ( приймається як наближене значення кореня.

Розглянемо основні ітераційні методи пошуку коренів.