- •050101 „Комп‘ютерні науки ” та 050103 „ Програмна інженерія ”
- •Передмова
- •Розділ 1. Чисельні методи розв‘язання задач. Похибки чисельного розв‘язку
- •1.1. Основні поняття
- •1.2. Поняття стійкості та коректності задачі
- •1.3. Похибки результату чисельного розв‘язання задачі
- •Контрольні питання
- •2.1. Етап 1: відокремлення коренів
- •2.2. Етап 2: уточнення коренів
- •2.2.1. Метод половинного ділення
- •2.2.2. Метод хорд
- •2.2.3. Метод січних
- •2.2.4. Метод дотичних (Ньютона)
- •2.2.5. Метод простої ітерації
- •Контрольні питання
- •Розділ 3. Прямі та непрямі методи розв’язання систем лінійних алгебраїчних рівнянь. Методи Гауса та lu-розкладу
- •3.1. Основні поняття
- •3.2 Прямі методи розв‘язання систем лінійних алгебраїчних рівнянь
- •3.2.1. Метод Гауса
- •3.2.2. Метод lu-розкладу
- •3.2.3. Зв‘язок методу Гауса з методом lu - розкладу
- •3.3 Непрямі методи розв‘язання систем лінійних алгебраїчних рівнянь
- •3.3.1. Забезпечення збіжності ітераційного процесу
- •3.3.2. Метод простої ітерації та метод Зейделя для розв‘язання систем лінійних алгебраїчних рівнянь
- •3.3.3. Метод релаксації для розв‘язання систем лінійних алгебраїчних рівнянь
- •Контрольні питання
- •Розділ 4. Розв‘язання систем нелінійних рівнянь. Метод Ньютона
- •Контрольні питання
- •Розділ 5. Інтерполяція функцій. Інтерполяційні поліноми Лагранжа. Сплайн-інтерполяція
- •5.1. Кусково-лінійна інтерполяція. Інтерполяційні поліноми вищих порядків. Інтерполяційний поліном Лагранжа
- •5.2. Сплайн-інтерполяція
- •Контрольні питання
- •Розділ 6. Апроксимація експериментальних даних. Метод найменших квадратів. Інтерполяція функцій за допомогою ортогональних поліномів
- •6.1. Апроксимація експериментальних даних. Метод найменших квадратів
- •6.2. Інтерполяція функцій ортогональними поліномами
- •Властивості ортогональних поліномів [5]
- •6.3. Базисні сплайни (в-сплайни)
- •Контрольні питання
- •Додаток а. Короткі теоретичні відомості по програмуванню в інтегрованій системі автоматизації математичних розрахунків MatLab
- •Додаток б. Пакети прикладних програм інтегрованої системи автоматизації математичних розрахунків MatLab
- •Перелік основних програмних продуктів класу matlab.
- •Список літературних джерел
- •Нові версії matlab
2.1. Етап 1: відокремлення коренів
В
ідокремлення
коренів полягає у встановленні „тісних”
проміжків, кожен з яких вміщує тільки
один корінь. Найбільш наочно про
демонструвати цей етап можливо графічно.
Враховуючи, що дійсні корені рівняння
(2.1) – це точки перетину графіка функції
F(х)
з віссю абсцис, достатньо побудувати
графік F(х)
(рис.2.1) і відмітити на осі OX
відрізки, кожен з яких вміщує лише один
корінь.
Рис. 2.1. Графічний спосіб відокремлення коренів.
Побудову графіка
вдається значно спростити, якщо замінити
рівняння (2.1) рівносильним йому рівнянням
F1(х)=
F2(х).
В цьому випадку будують графіки функцій
F1(х)
та F2(х),
потім на вісі OX
відмічають відрізки, що вміщують абсциси
точок перетину цих г
рафіків
(рис. 2.2.).
Рис. 2.2. Варіанти розв’язання рівняння при заміні функції рівносильними функціями F1(х) та F2(х) на визначеному проміжку.
З
устрічаються
випадки, коли не тільки на першому етапі
– при виділенні проміжків, що вміщують
корені рівняння, а і при подальшому
розв’язанні рівняння розрахунки
проводять не за основною функцією F(x),
а за наближеною до неї функцією
Fк
(x)
(рис. 2.3).
Рис.2.3. Реальна функція F1(і) та її наближений аналог-функція F2(і).
При написанні програми, яка виконує відокремлення коренів графічний спосіб не є зручним, тому застосовують найпростіший алгоритм відокремлення коренів:
проміжок, на якому відшукуються розв’язки, ділять рівномірно на невеликі відрізки, на кінцях кожного відрізку розраховують значення функції, якщо функція на кінцях відрізку змінює знак – відрізок містить корінь (значення початку і кінця відрізку записується для подальшої обробки), інакше – кореня на відрізку немає і відрізок ігнорується.
Величина відрізків поділу залежить від коефіцієнта гладкості функції. Для визначення відрізку, що вміщує один корінь, можемо скористатися наступною теоремою [5].
Теорема 2.1. Якщо функція у = F(х) неперервна на інтервалі [a,b] і якщо F(а) та F(b) мають протилежні знаки, тобто F(а) F(b) < 0, то F(х) має хоча б один дійсний корінь на інтервалі [a,b]. Якщо при цьому F(х) має першу похідну, що не змінює знак на інтервалі [a,b], то корінь єдиний.
2.2. Етап 2: уточнення коренів
2.2.1. Метод половинного ділення
Припустимо, що
рівняння
має на відрізку [a, b]
єдиний
корінь. Функція F(x)
на цьому відрізку неперервна. Поділимо
відрізок [a,
b]
точкою
навпіл (рис. 2.4). Якщо F(c) 0,
то вибираємо відрізок [a, с]
чи [с, b],
на якому функція змінює знак, тобто
F(а)
F(с)
< 0 чи
F(с)
F(b)
< 0. Для
подальших поділів використовуємо цей
відрізок. На кожному кроці процесу
половинного ділення відрізок зменшується
вдвічі.
Рис. 2.4. Знаходження кореня рівняння методом половинного ділення.
Ітераційний
процес продовжуємо, поки довжина відрізка
не стане менше заданої точності
:
(2.6)
При оцінюванні
похибки методу, можемо помітити, що
вибираючи в якості розв‘язку ліву (a)
чи праву (b)
границю остаточно розрахованого
проміжку, допускаємо, що розв‘язок може
знаходитись на відстані, що не перевищує
розмір проміжку, тобто меншій чи рівній
.
Якщо ж в якості відповіді обрати точку
в середині проміжку, то точний результат
не може відхилятися від неї більш ніж
на
,
тому в даному випадку при реалізації
алгоритму для досягнення заданої
точності
потрібно вийти з ітераційного процесу,
коли виконається умова
.
Метод
половинного ділення є абсолютно збіжним
до розв‘язку, оскільки його алгоритм
не залежить від виду функції
.
