Text
                    С.М. Шахно, А.Т. Дудикевич, С.М. Левицька
з чисельних
шах



Міністерство освіти і науки, молоді та спорту України Львівський національний університет імені Івана Франка М. ШАХНО, А.Т. ДУДИКЕВИЧ, С.М. ЛЕВИЦЬКА ПРАКТИКУМ З ЧИСЕЛЬНИХ МЕТОДІВ Навчальний посібник Рекомендовано Міністерством освіти і науки, молоді та спорту України Львів ЛНУ імені Івана Франка 2013
УДК 519.6(075.8) ББК В 22.192я73 Ш 81 Рецензенти: д-р фіз.-мат. наук, ст. наук, співроб. О.М. Хіміч (Інститут кібернетики НАН України); д-р фіз.-мат. наук, проф. Я.М.Чабанюк (Національний університет “Львівська політехніка”); канд. фіз.-мат. наук, доц. 8.0. Оніщук (Луцький національний технічний університет) Рекомендовано Міністерством освіти і науки, молоді та спорту України як навчальний посібник для студентів вищих навчальних закладів (Лист № 1/11-6147 від 03.05 2012 року) Шахно С.М. Ш 81 Практикум з чисельних методів навч. посібник / Шахно С.М., Дудикевич А.Т., Левицька С.М. - Львів ЛНУ імені Івана Франка, 2013.-432 с. ІБВМ 978-617-10-0036-0. Розглян/го головні чисельні методи розв’язування задач лінійної алгебри, математичного аналізу, звичайних диференціальних рівнянь, рівнянь у частинних похідних, інтегральних рівнянь та різні аспекти їхнього практичного використання. Наведено результати тестових розрахунків та набори завдань для самостійної роботи. Для студентів вищих навчальних закладів, які вивчають чисельні методи. УДК 519.6(075.8) ББК В 22.192я73 © Шахно С.М., Дудикевич А.Т., Левицька С.М., 2013 © Львівський національний університет імені Івана Франка, 2013 ІБВМ 978-617-10-0036-0
Зміст Вступ 7 Розділ 1. УРАХУВАННЯ ПОХИБОК НАБЛИЖЕНИХ ОБЧИСЛЕНЬ..9 1.1. Елементи теорії похибок 9 1.2. Абсолютна та відносна похибки 10 1.3. Пряма задача теорії похибок 11 1.4. Обернена задача теорії похибок 18 Завдання до розділу 1 20 Розділ 2. ПРЯМІ МЕТОДИ РОЗВ’ЯЗУВАННЯ СИСТЕМ ЛІНІЙНИХ АЛГЕБРИЧНИХ РІВНЯНЬ 24 2.1. Метод Гаусса розв’язування систем лінійних алгебричних рівнянь 24 2.2. Розв’язування систем лінійних алгебричних рівнянь за допомогою Ш-розкладу 29 2.3. Метод квадратних коренів 34 2.4. Метод ортогоналізації 37 2.5. Метод прогонки розв’язування СЛАР з тридіагональною матрицею 41 2.6. Метод поворотів розв’язування СЛАР 43 РОЗДІЛ 3. ІТЕРАЦІЙНІ МЕТОДИ РОЗВ’ЯЗУВАННЯ СИСТЕМ ЛІНІЙНИХ АЛГЕБРИЧНИХ РІВНЯНЬ 49 3.1. Принципи побудови ітераційних процесів 49 3.2. Метод простих ітерацій 51 3.3. Метод Зейделя 57 3.4. Метод релаксації 65 3.5. Ітераційні методи варіаційного типу 68 3.5.1. Метод мінімальних відхилів 68 3.5.2. Метод мінімальних поправок 71 3.5.3. Метод спряжених градієнтів 74 Завдання до розділів 2,3 78 Розділ 4. МЕТОДИ РОЗВ’ЯЗУВАННЯ ЗАДАЧ НА ВЛАСНІ ЗНАЧЕННЯ 95 4.1. Класичний спосіб 96 4.2. Степеневий метод знаходження максимального за модулем власного значення і відповідного йому власного вектора 99 4.3. Метод скалярних добутків 103 4.4. Метод зворотних ітерацій 107 4.5. Зворотні ітерації зі змінними зсувами. /?0/-алгоритм 111 4.6. Метод поворотів Якобі для знаходження власних пар симетричної матриці 117 4.7 Ш-алгоритм для несиметричних задач 122 З
4.8. ОЯ-алгоритм з використанням перетворень Хаусхолдера 128 4.9. ОЯ-алгоритм з використанням плоских поворотів Гівенса 134 4.10. Метод Ланцоша зведення симетричної матриці до тридіагонального вигляду 140 4.11. Метод бісекцій 143 4.12. 0/.-метод знаходження власних значень симетричної тридіагональної матриці 147 Завдання до розділу 4 153 Розділ 5. МЕТОДИ РОЗВ’ЯЗУВАННЯ ОДНОГО НЕЛІНІЙНОГО РІВНЯННЯ З ОДНІЄЮ ЗМІННОЮ 158 5.1. Методи відокремлення коренів 158 5.1.1. Табуляція функції 159 5.1.2. Графічний спосіб 161 5.1.3. Аналітичний метод відділення коренів 162 5.2. Ітераційні методи розв’язування алгебричних і трансцендентних рівнянь 164 5.2.1. Метод дихотомії (половинного ділення) 164 5.2.2. Метод ітерацій (послідовних наближень). Принцип стискальних відображень 166 5.2.3. Метод хорд 173 5.2.4. Метод дотичних (Ньютона) 177 5.2.5. Комбінований метод хорд і дотичних 180 5.3. Ітерації вищих порядків 184 5.3.1. Метод Чебишова 185 5.3.2. Метод Ейткена 186 Завдання до розділу 5 193 РОЗДІЛ 6. ІТЕРАЦІЙНІ МЕТОДИ РОЗВ’ЯЗУВАННЯ СИСТЕМ НЕЛІНІЙНИХ РІВНЯНЬ 197 6.1. Формулювання задачі 197 6.2. Метод простої ітерації 200 6.3. Градієнтний метод розв’язування систем нелінійних рівнянь 202 6.4. Метод Ньютона та аспекти його практичної реалізації.204 £.5. Локальна збіжність методу Ньютона 206 6.6. Модифікації методу Ньютона 208 6.7. Методи зі скінченнорізницевими похідними 209 6.8. Інші різницеві аналоги методу Ньютона 212 6.9. Квазіньютонівські методи для розв’язування систем нелінійних рівнянь 213 6.10. Числова апробація методів 216 6.11. Тестові завдання 224 Завдання до розділу 6 226 4
Розділ 7 ПОЛІНОМІАЛЬНЕ ІНТЕРПОЛЮВАННЯ 228 7.1. Інтерполяційний багаточлен Лагранжа 229 7.2. Схема Ейткена 231 7.3. Інтерполяційний багаточлен Ньютона 233 7.4. Інтерполяційний багаточлен Ерміта 237 7.5. Найліпше наближення і поліноми Чебишова, що найменше відхиляються від нуля 240 7.6. Обернене інтерполювання 242 Завдання до розділу 7 245 РОЗДІЛ 8. МЕТОД НАЙМЕНШИХ КВАДРАТІВ І НАЙЛІПШІ СЕРЕДНЬОКВАДРАТИЧНІ НАБЛИЖЕННЯ 249 8.1. Просте опрацювання емпіричних даних методом найменших квадратів 249 8.2. Середньоквадратичне наближення за допомогою тригонометричних багаточленів 255 Завдання до розділу 8 259 РОЗДІЛ 9. ІНТЕРПОЛЯЦІЙНІ СПЛАЙНИ 264 9.1. Кусково-поліноміальна апроксимація 264 9.2. Інтерполяційний сплайн 266 9.3. Базисні сплайни 270 9.4. Ермітові (локальні) сплайни 273 Завдання до розділу 9 277 РОЗДІЛ 10. ЧИСЕЛЬНЕ ІНТЕГРУВАННЯ 278 10.1. Задача чисельного інтегрування. Квадратурні формули інтерполяційного типу 278 10.2. Квадратурні формули Ньютона-Котеса 279 10.3. Принцип Рунге практичної оцінки похибки чисельного інтегрування 282 10.4. Квадратурна формула Гаусса 284 10.5. Квадратурні формули з ваговими функціями 287 10.6. Квадратурна формула Чебишова 288 10.7. Формули Ейлера-Маклорена 290 10.8. Обчислення невласних інтегралів 293 10.9. Наближене обчислення кратних інтегралів 302 10.9.1. Кубатурні формули 302 10.9.2. Метод Монте-Карло 304 Завдання до розділу 10 307 Розділ 11. МЕТОДИ РОЗВ’ЯЗУВАННЯ ЗАДАЧІ КОШІ ДЛЯ ЗВИЧАЙНИХ ДИФЕРЕНЦІАЛЬНИХ РІВНЯНЬ 315 11.1. Формулювання задачі 315 11.2. Метод Ейлера та його модифікації 316 11.3. Методи Рунге-Кутта 317 11.4. Методи Адамса 320 5
11.5. Розв’язування задачі Коші для систем звичайних диференціальних рівнянь 325 11.6. Оцінка похибки наближеного розв’язку задачі Коші..327 Завдання до розділу 11 330 Розділ 12. МЕТОДИ РОЗВ’ЯЗУВАННЯ ЛІНІЙНИХ КРАЙОВИХ ЗАДАЧ ДЛЯ ЗВИЧАЙНИХ ДИФЕРЕНЦІАЛЬНИХ РІВНЯНЬ.341 12.1. Методи зведення крайової задачі до задачі Коші 342 12.1.1.Метод варіації сталих 342 12.1.2. Метод стрільби 343 12.1.3. Метод диференціальної прогонки 345 12.2. Сіткові методи 346 12.2.1 Метод сіток розв’язування крайових задач для звичайних диференціальних рівнянь 346 12.2.2. Метод різницевої прогонки 349 12.3. Варіаційні методи 351 12.3.1. Метод Рітца 351 12.3.2. Метод найменших квадратів 356 12.4. Проекційні методи 359 12.4.1. Метод колокації 359 12.4.2. Метод моментів. Метод Гальоркіна 362 Завдання до розділу 12 368 РОЗДІЛ 13. ЧИСЕЛЬНЕ РОЗВ’ЯЗУВАННЯ ДИФЕРЕНЦІАЛЬНИХ РІВНЯНЬ У ЧАСТИННИХ ПОХІДНИХ 371 13.1. Метод сіток розв’язування задачі Діріхле для рівняння Пуассона 374 13.2. Метод сіток розв’язування змішаної задачі для рівняння теплопровідності 381 13.3. Метод сіток розв’язування змішаної задачі для рівняння коливань струни 389 Завдання до розділу 13 400 Розділ 14. МЕТОДИ НАБЛИЖЕНОГО РОЗВ’ЯЗУВАННЯ ІНТЕГРАЛЬНИХ РІВНЯНЬ 411 14.1. Формулювання задачі 411 14.2. Метод послідовних наближень розв’язування одновимірного рівняння другого роду 412 14.3. Наближене розв’язування інтегрального рівняння Фредгольма методом заміни інтеграла скінченною сумою (метод механічних квадратур) 415 14.4. Метод заміни ядра на вироджене 420 Завдання до розділу 14 426 Список літератури 430 6
Вступ Математика як наука виникла з огляду на потребу розв’язування практичних задач: вимірювань на місцевості, навігації тощо. Тому вона була чисельною математикою, мета якої - отримання розв’язку у вигляді числа. Визначні вчені минулого поєднували в працях побудову математичних моделей та їхнє дослідження. Аналіз складних моделей потребував створення нових, зазвичай, чисельних або чисельно-аналітичних методів розв’язування задач. Назви деяких із методів - методи Гаусса, Ньютона, Чебишова, Ейлера - свідчать про те, що їх розробляли видатні вчені. Для останнього півстоліття характерний бурхливий розвиток обчислювальної техніки і теорїі чисельних методів. У підсумку відбувається швидка зміна поглядів на весь комплекс питань, пов’язаних із застосуванням комп’ютерів, зокрема на вимоги до чисельних методів. Тому актуальним є видання посібників з розв’язування задач із обчислювальної математики з використанням комп’ютерів. Ця книга написана на підставі досвіду викладання курсів “Чисельні методи лінійної алгебри” та “Чисельні методи” на факультетах прикладної математики та інформатики і механіко-математичному Львівського національного університету імені Івана Франка. Кожен розділ починається з коротких теоретичних відомостей. Далі розглянуто типові задачі з 7
детальними розв’язками. Завершують розділ вправи для самостійних занять та завдання для практичного виконання на комп’ютерах. Автори щиро вдячні рецензентам за корисні зауваження, викладачам і студентам кафедри обчислювальної математики Львівського національного університету імені Івана Франка за допомогу, особливо доценту Б.А. Остудіну, який дав цінні поради. 8
Розділ 1 УРАХУВАННЯ ПОХИБОК НАБЛИЖЕНИХ ОБЧИСЛЕНЬ 1.1. Елементи теорії похибок Під похибкою розумітимемо величину, що характеризує точність результату. Похибки, що виникають під час розв’язування задачі, можна розділити на три групи: 1) похибка задачі (неусувна похибка); 2) похибка методу; 3) похибка заокруглень (похибка операцій). Неусувна похибка є наслідком а) неточності вхідних даних, що є в математичному описі задачі; б) невідповідності математичної моделі реальній задачі (інколи цю похибку називають похибкою математичної моделі). Похибка методу виникає тому, що для розв’язування математичної задачі доводиться використовувати наближені схеми, оскільки отримання точного розв’язку потребує необмеженої або неприйнятно великої кількості арифметичних операцій. У багатьох випадках це просто неможливо. Похибка заокруглень виникає в разі введення-виведення даних до комп’ютера та в ході виконання математичних операцій. Основна задача теорії похибок - знаходження області невизначеності результату. Розрізняють такі задачі теорії похибок: • пряма задача - визначення точності результату розв’язування задачі залежно від різних видів похибок; • обернена задача - визначення того, з якою точністю треба взяти початкові дані, щоб неусувна похибка результату розв’язування задачі була менша від заданого значення. Розглянемо процес заокруглення чисел. Якщо число х = 2,128492 і його потрібно заокруглити до п’яти десяткових знаків після коми, то матимемо х = 2,12849 Тобто якщо старший розряд, 9
який відкидають, менше 5, то попередня цифра не змінюється. Якщо х = 2,128492 потрібно заокруглити до чотирьох знаків після коми, то х = 2,1285. Тобто якщо старший розряд, який відкидають, дорівнює або більше 5, то попередню цифру в числі збільшують на 1. Зауваження 1.1. Інколи вважають: якщо старший розряд, який відкидають, дорівнює 5, а попередня цифра парна, то її не змінюють. Якщо ж попередня цифра непарна, то її збільшують на одиницю. Розглянемо приклади заокруглення чисел: Нехай х - точне значення деякої величини, ах- її відоме наближене значення. Абсолютною похибкою числа х називають величину Ах = |х-х| Відносною похибкою числа х називають величину Ах ох = -г-г, якщо х ф 0. Оскільки в більшості випадків точне значення |х| числа невідоме, то на практиці використовують граничні абсолютну Д; і відносну б* похибки, які дещо більші, ніж значення Дх та 5х, відповідно. Зазначимо, що точність результату ліпше характеризує відносна похибка. Інформацію про абсолютну та відносну похибки можна використати для такого відображення числа х: х = 4,6495843; х = 4,649584; х = 4,64958; х = 4,6496; х = 4,650; х = 4,65; х = 4,6; х-5. х = 237,472355; х = 237,47236; х = 237,4724; х = 237,472; х = 236,47 х = 237,5; х = 238; х = 2,4-102; х = 2-102 1.2. Аб< •хибки X = X ± Дї, X = х(1 ± §х). 10
Значущими цифрами числа називають усі цифри в його записі, починаючи з першої ненульової цифри зліва. Наприклад: х = 5,650123 - усі цифри в записі цього числа значущі; х = 0,003487 - значущі цифри тільки 3,4,8,7; х - 0,02204900 - значущі цифри 2,2, 0, 4, 9, 0, 0 (два останні нулі в записі числа є значущими); х = 1 230 000 - усі цифри значущі; х = 7,16-106 - значущі цифри тільки 7, 1,6. Значущу цифру називають правильною (точною), якщо абсолютна похибка числа не перевищує половини одиниці розряду, що відповідає цій цифрі (або одиниці розряду, що відповідає цій цифрі). Приклад 1.1. Нехай х- 34,519 і відомо, що Дх = 0,03. Скільки правильних значущих цифр має число х? Розв ’язування. Маємо Ах = 0,03 = 0,3 • 10~' > 0,5 • 10'2 і Ліс = 0,3-10“' <0,510'' Отже, у числа х правильними будуть значущі цифри 3,4, 5 , а цифри 1 і 9 — сумнівні. Приклад 1.2. Нехай іс = 9,535155 і Дх = 2-10'4 Скільки правильних значущих цифр має число х? Розв’язування. Оскільки Ліс = 2-Ю-4 = 0,2-10~3 <0,5-10_3 то х має правильні три значущі цифри після коми, тобто правильними будуть значущі цифри 9, 5, 3, 5 Прикладі.3. Нехай х = 0,054289 і Ах = 0,006. Скільки правильних значущих цифр має число х? Розв’язування. Маємо Ах = 0,6-10‘2 > 0,5* 10"2 Отже, у числа х всі значущі цифри сумнівні. 1.3. Пряма задача теорії похибок Пряма задача теорії похибок полягає в оцінці точності результату розв’язування задачі залежно від похибок вхідних даних. 11
Нехай потрібно визначити абсолютну та відносну похибки функції у = /(х1,х2,...,хп), якщо задані похибки аргументів. Припустимо, що функція у є неперервно диференційовною в області невизначеності аргументів, тобто в області де х\,х2,...,хп - наближені значення відповідних аргументів, Ах,. - гранична абсолютна похибка наближеного значення і (/ = 1,2,...,и). Нехай Дх(. =|лс(.-лг,.| (/ = 1,2,...,«) - абсолютна похибка наближеного значення аргументу х,; Ар = |у - у\ - абсолютна похибка функції, де у — точне значення функції; у - її наближене значення. Тоді, використовуючи теорему Лагранжа про скінченний приріст, одержимо Отже, обмежуючись лінійною частиною приросту Ау, якою є повний диференціал сіу , отримаємо \<Ь>\=\ #(*,,*2,...,х„) | = яку називають лінійною оцінкою похибки. З оцінки (1.2) знайдемо відносну похибку За допомогою формул (1.2) і (1.3) визначимо похибки результатів арифметичних операцій. х. - М, < х, < х1 +Ахі (/ = 1,2,..., п), п оцінку (1.2) /=1 (1-3) 12
Нехай у - ±х, + х2 ±... ± хп, тоді з (1.2) матимемо п (1.4) /=і а з (1.3), відповідно, - 5у<5\ (1.5) де б* = тах&х,. Тобто відносна похибка алгебричної суми п наближених чисел не перевищує максимальної відносної похибки доданків. Аналогічно знайдемо похибки для інших арифметичних опе- Нехай тепер у = Х\-х2-...-хп, де всі множники можемо вважати Рівності (1.6), (1.7) означають, що граничні відносні похибки під час множення та ділення наближених чисел додають. Зазначимо, що для суми та різниці абсолютні похибки додають. Якщо два близькі числа віднімають, то відносна похибка результату може значно зрости. А в разі ділення на досить мале число може значно зрости абсолютна похибка. Розглянемо деякі приклади. Прикладі.4. Заокруглюючи числа до трьох значущих цифр, визначити абсолютну та відносну похибки отриманих наближених чисел: рацій. — , то, згідно з п п (1.6) Отже, (1.7) 1) 0,5235; 2) 5,3244; 3) -154,82. 13
Розв’язування: 1) х — 0,5235. Заокруглення до трьох значущих цифр дає х = 0,524 , тоді Дх = 0,0005 = 5 • 10-4, а відносна похибка 8х = 5 • 10“4/0,524 * 0,95 • 10'3; 2) х = 5,324. Тоді х = 5,32, Дх = |х-х| = 0,004 Відповідно, відносна похибка 8х = 4-10~3/5,32 = 0,75-10-3; 3) х = -154,82 . Тоді х = -\55, Ах = 0,18, а 5х = 0,18/155 = 1,2-Ю'3 Прикладі.5. Визначити кількість правильних цифр у числі х, якщо відома його відносна похибка: 1) х = 23,924 , 5х = 0,1; 2) х = 9,4698, 5х = 0,110'2; 3) х = 51782, 8х = 0,01. Розв’язування: 1) обчислимо абсолютну похибку Дх = х-5х = 2,3924. Тоді будемо мати, що в числі х правильною є тільки цифра 2, тобто одна цифра вірна; 2) обчислимо абсолютну похибку Дх = х • 8х = 9,4698 • 0,1 • 10“2 = 0,0094698. Тоді в числі х будуть вірними дві цифри - 9 та 4; 3) абсолютна похибка дорівнюватиме Дх = х-5х = 51782- 0,01 = 517,82. Отже, в числі х будуть правильними дві цифри - 5 та 1. Зазначимо, що поведінка обчислювальної похибки залежить від правил заокруглення та алгоритму чисельного розв’язування задачі. П р и к л а д 1.6. На гіпотетичній обчислювальній машині з мантисою довжини чотири знайти суму 5і = 0,2764 + 0,3944 + 1,475 + 26,46 + 1364, підсумовуючи від меншого доданка до більшого; від більшого доданка до меншого. 14
Розв ’язування: а) маємо Я2 = 0,2764 + 0,3944 = 0,6708, £3 = 52 +1,475 Заокругливши 52 до трьох знаків після коми, матимемо 53 = 1,475+ 0,671 = 2,146. Аналогічно далі 54 = £3 + 26,46 = 2,15 + 26,46 = 28,61; 5 = 55 =54 + 1364 = 1393; б) маємо 52 =1364 + 26,46 = 1364 + 26 = 1390; 53 =52+1,475 = 1390 + 1 = 1391; 54=53+0,3944 = 1391; 5 = 55 =54 +0,2764 = 1391. З урахуванням точного значення 5 = 1392,6058 бачимо: підсумовування потрібно виконувати, починаючи з менших доданків. У протилежному випадку може бути значна втрата значущих цифр. Приклад 1.7. Нехай числа >/2,01 =1,417744688 та л/2 = 1,414213562 задані з десятьма правильними значущими цифрами. Скільки правильних значущих цифр матиме число х = уІгОІ~уІ2? Розв’язування. Віднімемо від числа 01 число >/2 Отримаємо х-0,003531126 Позначимо х, = 1,417744688 , х2 = 1,414213562. Тоді абсолютні похибки Ах, = Дг2 =0,5 10 9 Абсолютна похибка різниці х = х, - х2 буде Ах = Дх,+Лх2 =10"9 Оскільки абсолютна похибка числа задовольняє нерівність 10“9 <0,5 10“8 то, згідно з означенням кількості точних значущих цифр, робимо висновок, що число х має шість правильних значущих цифр 3, 5, 3, 1,1, 2. 15
Те ж саме значення можна отримати, замінивши віднімання близьких чисел їхнім додаванням. Для цього запишемо х у вигляді (у/Щ-Щу/2,0І + Т2) 0,01 у/2,01+72’ причому достатньо взяти величини х, і х2 з сімома правильними значущими цифрами. В обчислювальних алгоритмах бажано уникати віднімання близьких за значенням чисел. Прикладі.8. Оцінити похибку обчислення функції х2 + у якщо х = 0,15 + 0,005, у = 2,13 ± 0,01, г = 1,14 ± 0,007. Розв’язування. Згідно з формулою (1.2), для абсолютної похибки результату отримаємо Л/ = 2х Дх + Ду + X2 + у ї2 Дг = 2'0’15-0,005 + 1,14 +—• 0,01 + (°’15> + 2’13 . о, 007 = 0,00131579 + 0,00877193 + 1,14 (1,14) +0,01159395 «0,02168167 = 2,2-10"2. Знайдемо /(х,у,г) = (0,15)2 +2,13 1,14 = 1,88815789. Тоді 6/ = 2,2-10~2 1,88815789 = 0,01165157 Прикладі.9. Висота /г та радіус основи циліндра Я виміряні з точністю до 0,5%. Яка відносна похибка в разі обчислення об’єму циліндра, якщо п- 3,14 ? 16
Розв’язування. К = яі?2/г. Точніше значення я = 3,14159265, отже, Дя = 0,16 10-2, а Тоді, згідно з формулою про відносну похибку добутку, Прикладі.10. Ребро куба, виміряне з точністю до 0,02 см, дорівнює 8 см Знайти абсолютну та відносну похибки в разі обчислення об’єму куба. Розв'язування. Позначимо сторону куба через а Тоді V = а3 V = аг = 512 см3 Застосуємо формулу (1.2), матимемо АУ -За2 -Да = 3-82 0,02 = 3,84, а 5^ = 3,84/512 = 0,0075 Прикладі.11. Визначити відносну похибку числа, що записане на комп’ютері з системою числення Р та довжиною мантиси / Розв’язування. Число х можна записати на комп’ютері у вигляді де І визначає порядок числа, <1І - цілі, причому 0<*/,<р-1, <іх * 0. Нехай точне значення числа Отже, 8х<р' ' Якщо ж числа вводять за правилами заокруглення, то сІІ+і <0,5р і тоді матимемо 5й = °>16 10 = о,0005 = 0.05 %. 3,14 матимемо 6К = 8й + 26Л + 8й = 1,55%. і=±цр-' + ^2р-2 +...+</,р"')рг, х = ±Цр-' + </2р-2 +... + сі,Г +^+1р-'-')рг Тоді ~7+1 С/,Р' +і/2Р,_1 +... + £/,Р Я,р р Х\ Х\ 6іс<-р'-' 2 17
1.4. Обернена задача теорії похибок Обернена задача теорії похибок полягає в такому: з якою точністю потрібно задати значення аргументів х,,х2,...,хп функції /(х, ,*2,...,хи), щоб на виході отримати результат заданої точності? Для функції однієї змінної у = /(х) абсолютну похибку можна наближено обчислити за формулою Для функції декількох змінних у = /(х, ,х2,...,хп) задачу розв’язують з використанням таких рекомендацій. А. Принцип однакових впливів, тобто вважаємо, що всі доданки с, ~\д/І дх\ Ахп і = \,п рівні між собою. Тоді абсолютні похибки всіх аргументів визначені формулами Б. Уважаємо, що всі похибки дорівнюють максимально можливій похибці аргументів, тобто приймаємо Приклад 1.12. Сторона квадрата дорівнює 2 м 3 якою точністю її потрібно виміряти, щоб похибка обчислення площі не перевищувала 0,5 см2? Розв’язування. Позначимо сторону квадрата через х; 5 = х2 Б' -2х. Тоді за формулою (1.8) отримаємо (1.8) (1.9) Ах, = Дх2 - ... = Дхи = 8, Де 5 = є/(с, +с2 + ... + сп). Ах= ^ =—Ю 2см. 2-200 8 18
Прикладі.13. З якою кількістю правильних значущих цифр потрібно взяти вільний член квадратного рівняння х2 -2х + ^2 = 0, щоб отримати корені рівняння з чотирма правильними значущими цифрами? Розв’язування. Для коренів рівняння маємо х, =1 + VI-182. х2 -І-у/і-^2 Оскільки ^2«0,3..., то лг, =1,8..., х2 =0,1.... Отже, за змістом задачі х, потрібно визначити так, щоб Ах, < 0,5 -10_3, а для х2, - щоб Дх2 < 0,5 • 10“4 Позначимо г = \%2 і розглянемо функцію + З’ясуємо, з якою точністю потрібно обчислити ї в околі точки 0,3 Оскільки /'(г) = І— , то, використовуючи формулу (1.8), отримуємо 2л/1 — 2 Аг < 0,5 • 10“3 }= = 0,000299. 2л/0Л Звідси робимо висновок, що для знаходження кореня X, потрібно обчислити ^2 з трьома правильними значущими цифрами після коми, тобто ^2 = 0,301. Аналогічно, розглядаючи функцію /(г) = 1 - \Jl-z , отримаємо, що для знаходження кореня х2 з точністю 0,5 10“4 потрібно обчислити 1%2 з чотирма правильними значущими цифрами після коми, тобто 1§2 = 0,3010 Прикладі.14. У п’ятизначних логарифмічних таблицях наведено значення десяткових логарифмів з точністю до є = 0,5 • 10“6 Оцінити можливу похибку в разі знаходження числа за його логарифмом, якщо саме число є між 300 та 400. Розв’язування. Позначимо у = ^х, хє[100;200]. За умовою задачі Ду<0,5-10~6 і потрібно знайти Ах Маємо у' = —1— Тоді хіпЮ за формулою (1.8) матимемо Ах = х(1п 10) • Ау < 200 • 2,30 • 0,5 • 10“6 = 0,00023. Отже, х можна знайти принаймні з трьома правильними значущими цифрами після коми. 19
Завдання до розділу 1 1.1. Заокруглюючи числа до трьох значущих цифр, визначити абсолютну та відносну похибки наближених чисел: 5,1634 ;0,34359 ;0,01306 ;1,335;-0,0015993; 0,002811 ;315,55; 81,543. 1.2. Визначити кількість правильних цифр у числі х, якщо задано його відносну похибку: 1) х = 4,7892, біс = 0,1-Ю'2; 2) х = 23,9470, біс = 1%; 3) х = 0,2239, біс = 0,2 10“1; 4) х = 483,9, 5х = 2%; 5) х = 43,874, біс = 0,1; 6) х = 28164, бх = 1%; 7) х = 0,01595, 53с = 0,5-10-2 8) х = 0,44257, біс = 10%; 9) х = 0,000115, біс = 0,15; 10) х = 6,5376, біс = 0,1%. 1.3. Визначити, яка рівність точніша: 1) 6/7 = 0,857, 7^8 = 2,19; 2) 2/21 = 0,095, л/22 =4,69 ; 3) 7/19 = 0,-895, л/52 = 7,21; 4) 49/13 = 3,77, ТЇ4=3,74. 1.4. Якою буде відносна похибка, якщо число к наблизити числом 3,14? 1.5. Записати число п з сімома правильними значущими цифрами та визначити відносну похибку отриманого наближення. 1.6. Знайти >/5,03-л/5 з трьома правильними значущими цифрами. 1.7. Під час вимірювання радіуса круга з точністю до 0,5 см отримали число 14 см. Знайти абсолютну та відносну похибки під час обчислення площі круга. 20
1.8. Виявилося, що кожне ребро куба, виміряне з точністю 0,02 см , дорівнює 15 см Знайти абсолютну та відносну похибки в разі обчислення площі куба. 1.9. Визначити відносну похибку обчислення повної поверхні зрізаного конуса, якщо радіуси його основ /? і г та твірна /, виміряні з точністю до 0,01см, такі: /? = 23,64см, г = 17,31см, / = 10,21 см. 1.10. Обчислити значення функції / Знайти абсолютну та відносну похибки результату, вважаючи всі значущі цифри вхідних даних правильними: / = х, + х2, де 1) X, =5,39, *2=6,7 2) х, =14,2, х, =1,432; 3) х, =0,02, х2 =10,3. 1.11. Обчислити значення функції / Знайти абсолютну та відносну похибки результату, вважаючи всі значущі цифри вхідних даних правильними: / = х,-х2-х3, де 1) х, =324,45, х2 =1287, х3 =0,0056; 2) х] =0,431, х2 =432, х3 =87,4; 3) х,=2,48, х2=7,4, х3= 3,136. 1.12. Обчислити значення функції / Знайти абсолютну та відносну похибки результату, вважаючи всі значущі цифри вхідних даних правильними: / = х,х2 + х2х3, де х, =2,305, х2 =2,873, х3 =0,875 1.13. Обчислити значення функції / Знайти абсолютну та відносну похибки результату, вважаючи всі значущі цифри вхідних даних правильними: / = х, /х2 21
1) х, =623,685, х2 = 453; 2) х, =745,8371, х2 =336,2; 3) х, =10,5, х2 =554; 4) х, = 5,684, х2 = 5,032 . 1.14. Обчислити значення функції / Знайти абсолютну та відносну похибки результату, вважаючи всі значущі цифри вхідних даних правильними: / = 1п(3х, + 2х2 ), де х, =0,35, х2 =2,324. 1.15. Обчислити значення функції / Знайти абсолютну та відносну похибки результату, вважаючи всі значущі цифри вхідних даних правильними: де х, =4,43, х2 =0,752, х3 =2,321. 1.16. Оцінити абсолютну та відносну похибки обчислення функції: / = х,х3 + X. X, при х = 1,54 ±0,02, 7 = 1,34 + 0,03, 2 = 1,02 + 0,02; при х = 5,8 ±0,01, у = 0,65 ± 0,02, 2 = 1,1753 ± 0,0002 ; при де = 5±*0,1, у = 2±0,03, г = \±0,07; при х = 2,03 ±0,02, у = 2,48 ±0,02, г = 3,04 ±0,03; 5) при х = 5,7 ±0,01, у = 0,78 ±0,02, г = 1,3253 ±0,0001; 22
6) при х = 37,64 ±0,002, у = 43,62 ± 0,003, z = 41,5 ±0,07; 7) fix,у) = n<Jx3-у2 при х = 46,2 ±0,02, у = 23,48 ±0,003, тг = 3,14. 1.17. Знайти межі абсолютної та відносної похибки аргументів, які дають змогу обчислити з чотирма правильними знаками функцію 2 де х, =1,20326, х2 =1,83241, х3 =0,74521. 1.18. Оцінити похибку в визначенні кута х = 45° за п’ятизначною таблицею синусів. 1.19. З якою кількістю правильних значущих цифр потрібно взяти значення аргументу х, щоб обчислити значення функції /(х) = sinx3 • lgx з точністю до 0,2 • 10“5 ? я 1.20. З якою точністю потрібно обчислити cos—, щоб відносна 7 похибка обчислення коренів рівняння не перевищувала 10 3 ? 1.21. З якою відносною похибкою треба виміряти висоту /г = 0,7м та радіус основи г = 8м для того, щоб відносна похибка обчислення об’єму конуса не перевищувала 0,05% ? 2 л ^ л х -4x + cos—= 0 7 23
Розділ 2 ПРЯМІ МЕТОДИ РОЗВ'ЯЗУВАННЯ СИСТЕМ ЛІНІЙНИХ АЛГЕБРИЧНИХ РІВНЯНЬ 2.1. Метод Гаусса розв'язування систем лінійних алгебричних рівнянь Розглянемо систему лінійних алгебричних рівнянь (СЛАР) вигляду Метод Гаусса, або метод послідовного вилучення невідомих, розв’язування системи (2.1) складається з двох ходів: прямого і зворотного. Внаслідок прямого ходу систему (2.1) зводимо до системи з трикутною матрицею за допомогою таких послідовних перетворень к = \,2,...,п-\ Ах = Ь (2.1) (2.2) (2.3) На зворотному ході методу знаходимо розв’язки Ьіп) (2.4) п , к = п- (2.5) 24
Визначник матриці А ёеЫ = Па (*-і) кк (2.6) Для отримання матриці А~' оберненої до А = (аі] )"у=|, враховуємо те, що вона є розв’язком матричного рівняння АХ = Е, (2.7) де Е- одинична матриця; Х = А~' X = (хіу.)”;=1 - шукана обернена матриця. Якщо зобразимо матрицю X як набір векторів-стовпців X, = а одиничну матрицю Е як набір одиничних векторів ' *1,1" (X Л 1,2 (О *2,1 II Х2,2 , Хи = Х2,п V ) КХп,п ; 1 і ' 0 ' Ґ 0 " 0 1 0 > Є2 = ’ ■■■’ Єп , 0 ) V 0 , V 1 , то матричне рівняння (2.7) запишемо як п систем лінійних алгебричних рівнянь Ахі = ех ; Ахг = е2 ; Ахп = е„ (2.8) Специфікою (2.8) є те, що всі СПАР мають одну й ту ж матрицю коефіцієнтів, що дає змогу прямий хід методу Гаусса виконати лише один раз. 25
П р и к л а д2.1. А. Методом Гаусса розв’язати систему [2] 4 2 -1 1 3-12 5-3 4 3-2 2 ґ 4 у х2 6 х3 12 4*4 у ,6, Розв’язування: Спочатку виконаємо прямий хід методу Гаусса за чотири кроки згідно з формулами (2.2), (2.3). Крок 1: 1 1 -0,5 0,5 2" Г і 1 -0,5 0,5 2 ^ 4 3 -1 2 6 0 [-1] 1 0 -2 8 5 -3 4 12 0 -3 1 0 -4 ь 3 -2 2 6, V0 0 -0,5 0,5 Крок 2: 1 1 -0,5 0,5 2 Л Г і 1 -0,5 0,5 2Л 0 1 -1 0 2 0 1 -1 0 2 0 -3 1 0 -4 0 0 [-2] 0 2 1° 0 -0,5 0,5 1° О 1 О 0,5 0 / Крок 3: 1 1 -0,5 0,5 2 Л Г 1 1 -0,5 0,5 2 Л 0 1 -1 0 2 0 1 -1 0 2 0 0 1 0 -1 0 0 1 0 -1 1°’ 0 -0,5 0,5 0 ) 0 V 0 0 [0,5] 1 О 1/1 Крок 4: 1 1 -0,5 0,5 2 Л 0 1 -1 0 2 0 0 1 0 -1 1° 0 0 1 -к 26
Ми отримали систему з верхньою трикутною матрицею, яка містить одиниці на головній діагоналі. На зворотному ході методу Гаусса за формулами (2.4), (2.5) знаходимо розв’язки заданої системи: х4 = -1, х3 = -1, х2 = 2 +х3 = 1,. х, = 2 - х2 + 0,5х3 - 0,5х4 = 1. Отже, розв’язок системи дс = (1,1,-1,-1)г Б. За формулою (2.6) легко обчислити визначник матриці А: 6&А = аи-а^-а^-а™ = 2-(-1)-(-2)-0,5 = 2. В. Для знаходження оберненої матриці А~' за формулами (2.8) прямий хід методу Гаусса виконуємо тільки один раз. Крок 1: ґ[2] 2 -1 1 1 0 0 о" Г і 1 -0,5 0,5 0,5 0 0 0 4 3-1 2 0 1 0 0 4 3 - -1 2 0 1 0 0 8 5-3 4 0 0 1 0 8 5 - ■3 4 0 0 1 0 ^ 3 3-2 2 0 0 0 ч I3 3 - -2 2 0 0 0 1 ( 1 1 -0,5 0,5 0,5 0 0 0Л 0 [-1] 1 0 -2 1 0 0 0 -3 1 0 -4 0 1 0 1° 0 -0,5 0,5 -1,5 0 0 ч Крок 2: 1 1 -0,5 0,5 0,5 0 0 о" 0 1 -1 0 2 -1 0 0 0 -3 1 0 -4 0 1 0 1° 0 -0,5 0,5 -1,5 0 0 Ч 27
Крок З: 1 1 -0,5 0,5 0,5 0 0 0" 0 1 -1 0 2 -1 0 0 0 0 [-2] 0 2 -3 1 0 V0 0 -0,5 0,5 -1,5 0 0 1 / 1 1 -0,5 0,5 0,5 0 0 0^ 0 1 -1 0 2 -1 0 0 0 0 1 0 -1 1,5 -0,5 0 1° 0 -0,5 0,5 -1,5 0 0 1 / Крок 4: 1 1 -0,5 0,5 0,5 0 0 о" 0 1 -1 0 2 -1 0 0 0 0 1 0 -1 1,5 -0,5 0 1° 0 0 [0,5] -2 0,75 -0,25 1 / 1 1 -0,5 0,5 0,5 0 0 0Л 0 1 -1 0 2 -1 0 0 0 0 1 0 -1 1,5 -0,5 0 1° 0 0 1 -4 1,5 -0,5 2 У Згідно зі зворотним-ходом методу Гаусса, за формулами (2.4), (2.5) знаходимо розв’язки чотирьох систем: *4.1 = -4; *4,2 = 1.5; *4,3 = -°»5; х44 = 2 ; *3 1 — *3 2 — 1» *3 3 3,4 = 0; ^ц=1; х12=-0,5; х13=0,5; *1,2 1,3 1,4 = -1. 28
Отже, обернена матриця має вигляд А~' = 1 1 -1 -4 -0,5 0,5 1,5. 1,5 0,5 -0,5 -0,5 -0,5 0 0 2 Виконаємо перевірку А -А 1 = Е, тобто А-А'1 = Ґ 2 2 -1 п ґ 1 -0,5 0,5 -П 4 3 -1 2 1 0,5 -0,5 0 8 5 -3 4 -1 1,5 -0,5 0 Із 3 -2 2; ,-4 1,5 -0,5 2, 10 0 0 0 10 0 0 0 10 0 0 0 1 2.2. Розв'язування систем лінійних алгебричних рівнянь за допомогою ІДО-розкладу Розглянемо СЛАР вигляду (2.1). Теорема. Нехай усі головні мінори матриці А відмінні від нуля, А . *0, _/= 1,2Тоді матрицю А можна записати, причому єдиним способом, у вигляді добутку А = Ш, (2.9) де Ь - нижня трикутна матриця з одиничними діагональними коефіцієнтами; V - верхня трикутна матриця з ненульовими діагональними елементами. Зауваження 2.2.1. Якщо хоча б один з головних мінорів матриці А дорівнює нулю, то описаний ЬІІ -розклад неможливий. 29
Перепишемо (2.9) у вигляді 1 *2. 0 1 0 0 О о / и„ 0 М]2 М22 Щп Я. /„2 Кг , о 0 и«п , (2.10) я,. V ап\ ап2 л2п пп / Перемножимо матриці в (2.10) і прирівняємо поелементно ліву і праву частини рівності, отримаємо формули для визначення Іу (при і>;) та и.. (при і < у ): Щі =ач (у' = і,...,и); (г' = 2,...,я); \] - “І у ап її І =-іі Ч\ я, і-і ’49=ау-Ц1*иЧ (2.11) к=1 ( ■н *=і у (г > У )• Підставимо розклад (2.9) у систему (2.1): Шх = Ь Одержимо такі дві системи: Іу = Ь; их = у. Спочатку розв’яжемо систему (2.13): /-і (2.12) (2.13) (2.14) (2.15) 4=1 ЗО
Далі з системи (2.14) знайдемо шуканий розв’язок 1 ” X, = —(Уі ~ X иіЛ) (і = п,п -1,-,1 )• (2.16) к=і+1 Зазначимо, що обчислення визначника Ш -факторизованої матриці А зводиться до перемноження п чисел (І&А = detL•det{/ = ии ■и22 • — •ипп. (2.17) Для обертання Ш -факторизованої матриці позначимо шукані елементи матриці Л~' через хіу, які визначимо за формулами 1 и» 1 Л=у+1 С9= X и-Лі ^// Л=/+1 п *=;+і (2.18) (2.19) (2.20) Приклад 2.2. А. Виконати Ш -розклад матриці та розв’язати за його допомогою систему рівнянь Ах = Ь , де А = -1 1 0 0 2 1 -15 3 \ , Ь = (1,5,12 )т Розв’язування. 1. Виконуємо Ш -розклад: 1 0 0Л/ /2, 1 0 V ^зі Ьг 1 0 и22 м23 0 0 \ ґ-і 1 0Л = 0 2 1 У 1-1 5 3, Поступово знаходимо елементи /,у та м,у: ї/ц 1, М|2 1, ^|3 0 , 31
^ ~ ~ 0; " Гї "1 ’ и22 ~~ а22 ~ ^21 ’ М\2 = 2 — 0 * 1 — 2 , и23 ~~ а23 ~^2\ 'Щг = 1 — 0 • 0 — 1 > и22 2 и — а — / • ы — 1 .и —3 —1*0 — 2*1 — 1 ■ и33 и33 *31 М13 32 23 Одержано такі та І/-матриці: ґ\ 0 0^ '-і і 0^ 1 = 0 1 0 ; и = 0 2 1 и 2 К 1° 0 К 2. Переходимо до розв’язування систем (2.13) та (2.14). О О ' у.Л 'П 0 1 0 Уг = 5 І1 2 Ь 1*з, Звідси }>,=!; у2=5; у3 =12-1-2-5 = 1; 1 о 'П 0 2 1 *2 = 5 О О V Vі У Звідси х3=1; х2 =—(5 — 1) = 2; х, =—(1—1 * 2) = 1 - 2 1 Отже, шуканий розв’язок заданої системи * = (1,2,1)г Б. Знайти визначник заданої матриці А. Розв’язування. За формулою (2.17) маємо д.&А = ии -и22 -м33 =(-1)-2-1 = -2. 32
В. Обчислити обернену матрицю А 1 Розв’язування. На підставі формул (2.18)-(2.20) послідовність обчислень виконуємо за схемою А *1,« кп-\,п А *1,1 *і,/і-Г <*/«-1.1 Хп-\,п-\ <г кп.п-\ х, 3 = 1; •*2,3 — ’ **2,3 '• *3,3 — ~ 1 — ^ ’ М2,2 2 1 х,3= (Мід-^з+Чз’^з)1 1і\ . 1 (-1) (1 (-0,5) +01) = -0,5; Х3 2 Х3і3 * /3^2 1*2 2, *3,1 = Х3,2 ■ ^2,1 + *3,3 ' ^3,1 ) = _( (“2) • 0 +1 • 1 ) = -1 *2,2 1 '2,2 (1—м2,з '*3,2) = ~ (1 — 1 * (—2)) = 1,5 ; *12 =—— («1,2-*2,2+мі,з-*3,2 ) = -т^7(11,5 + 0-(-2)) = 1,5 ; “і,і Н) *2,1 = _( *2,2 '^2,1 + *2,3 Аі ) = —( 1.5 - 0 + (-0,5) • 1) = 0,5; *1,1 = —-— (1—2 ••*2,1 _мі,з -*з,і ) = 7“7г( 1—1 • 0,5 — 0 * (—1)) = -0,5 . Чі (-1) Отже, обернена матриця 33
Перевірка: А~х = -0,5Л -0,5 1 -1 1 0 2 -1 5 -0,5 1,5 0,5 1,5 -1 -2 А-А"' =/ -0,5 1,5 -0,5' 0,5 1,5 -0,5 -1 -2 1 \ Ґ1 0 ол = 0 1 0 / 0 к 2.3. Метод квадратних коренів Нехай задано систему лінійних алгебричних рівнянь (2.1), де А = (а0.)" .м - симетрична додатньо визначена матриця, тобто аи =ам ' головні мінори заданої матриці додатні. Тоді матрицю А можна записати у вигляді добутку двох транспонованих між собою трикутних матриць: А = ит-и (2.21) Матрицю и визначаємо за формулами мп=л/о^; «,і=—; «и=*|«й-У“и2 для і=2,...и; (2.22) «її \ *=і (у силу наших припущень на матрицю А підкореневий вираз додатний) 1-І ау -IXм*, иу = ^ для і = 2,..., п, (у > і); (2.23) и„ м« *0 (* = 1,2,...,и); иу =0 для м,у=0 (_/</). (2.24) Розв’язок симетричної системи (2.1) зводиться до послідовного розв’язування двох трикутних систем 34
UT у = b; Ux = y, (2.25) (2.26) причому допоміжні невідомі уі,у ,..., у„ отримаємо за формулою /-і Уі=- к=1 , ( / = 1, 2, ..., п ). (2.27) Із системи (2.26) шукані значення хі знаходимо у зворотному порядку, тобто для і = п, п -1,..., 1 за формулою У і ~ Z “а х. =- *=/+1 (2.28) Розв’язування симетричних CJ1AP за формулами (2.27), (2.28) називають методом квадратних коренів. Приклад 2.3. Методом квадратних коренів розв’язати СЛАР із симетричною матрицею 4х] + 2х2 + 2х3 + х4 = 9; 2хх + 5х2 + х3 + 2х4 = 10; 2х1 + х2 + 5х3 + х4 = 9; х, + 2х2 + х3 + 4,875х4 = 8,875. Розв'язування. Знаходимо елементи матриці U за формулами (2.22)-(2.24): І О . а\2 2 Ліз ^14 ас. і — -у і — 2 , W|2 — — —1, ^із— — 11 — — 0,5 , w,, 2 ил, и,, w22 = у]а22 ~и\2 = л/5 — І2 = 2 ; W23 = = 0; 22 ^24 _W12 *W14 2 -1*0,5 = 0,75; 22 35
аЪА~~и\ъ'и\А и2Ъ'и2А _ «44 "ІХ = л/4,875-0,52 - 0,752 - 0,252 = 2 . Виконуємо перевірку ит - и = А, тобто 2 0 0 0Л г 2 1 1 0,5 Л г 4 2 2 1 ^ 1 2 0 0 0 2 0 0,75 2 5 1 2 1 0 2 0 0 0 2 0,25 2 1 5 1 0,5 0,75 0,25 2, 1° 0 0 2 , и 2 1 4,875, За формулами (2.27), відповідно, знаходимо розв’язки системи (2.25) а за формулами (2.28) - шукані розв’язки заданої системи: Ь2 -Щ2У\ _ Ю-Ь4,5 _ 5,5 Мо-, 2 2 К~иыу -иыу2 -щ4у, _8,875-0,5-4,5-0,75-2,75-0,25-2,25 8,875-4,875 .Уд «34*4 2,25-0,25-1 І » 36
у2 — и23х3 -и24х4 _ 2,75-0-1-0,75-1 і; 22 х _У\ ~ипх2 -м,3X3 -и14х4 _ 4,5-1 1-1 1 -0,5-1 _^ 2.4. Метод ортогоналізації Розв’язок системи (2.1) шукаємо у вигляді лінійної комбінації векторів Х0),.„,*<Я) =Ха**(4) <2-29> X *=1 де невідомі коефіцієнти ак визначені формулою Ф^к)) (Ах(к>,х(к>) , А = 1,2,..., я, (2.30) а на вектори ха) накладаємо умови ортогональності двох векторів (звідси і назва методу) (Ах(к),х(п) = 0; £*/ (/,* = 1,...,и). (2.31) Тут розглядаємо скалярний добуток двох векторів п-вимірного векторного простору. Для відшуканих векторів х(,\...,х(п) вибираємо систему лінійно незалежних векторів У°=(1, о, ..., 0); < (2.32) /я) =( о, 0,1) Приймаємо х(|) =У), а вектор х(2) запишемо так: х(2)=у(2)+Х(,2)х(,) (2.33) домножуючи (2.33) на матрицю А і використовуючи умову (2.31), знаходимо невідому величину Х|2) за такою формулою: 37
Аналогічно вектор х(3) побудуємо у вигляді х(3)=У3Ч^3)х(1)+?і<23)х(2) (2.35) причому (3)_ (Аут,х(0) - (Лх«>У‘') ('-,’2)' (2'зв) Так само будуємо вектори х<4),..., х(я) Приклад 2.4. Методом ортогоналізації розв’язати систему 10х, + х2 + 0,5х3 =7; < х, + 20х2 + 2х3 = 24,5; 0,5х, +2х2 +15х3 =32,25. Розв’язування. Результати обчислень записуємо в табл. 2.1. Вибираємо систему лінійно незалежних векторів УМ і, о,о)г < у2)=(0,1,0 )г у3)=(0,0,1)г За формулами (2.33), (2.34) маємо х('М 1,0,0); х(2)=У2)+^2»х(І),
Таблиця 2.1 Обчислення за методом ортогоналізації ап аа ав ь, 10 1 0,5 1 1 20 2 24,5 0,5 2 15 32,25 х<‘> 1 Х.(,2) = -0,1; Х.(3) = -0,05; А.. *<2> -0,1 і сГ 1 II %2 *(3> -0,04 -0,1 1 Ах(Х) 10 1 0,5 Ах<2) 0 19,9 1,95 Лх(3) 0 -0,04 14,78 (ЬУк)) (Лх°\х(") 10 і (Ахі2\х<2>) 19,9 23,8 (Лх(3),х(3>) 14,784 29,52 «і 0,7 1,2 2,0 Отже, Г°1 ҐП 1 О х(2) = 1 -0,1 0 = і 1°, 1°; 1 о , Вектор х(3> знаходимо за формулою (2.35), де за (2.36) 70,5^1 |"ілЛ 2 , 0 „(3) У(І) 1(3)_ ( 4у(3), *(і) ) ( Ах(,\ х(,) ) 15 0 чл / \ у; 10 = -0,05; ^(3) = ( Ау°\ х<2) ) 2 ( Ах(2\ х(2) ) 0,5 2 чч15у -0,1 1 ч 0 /у Ґґ 0 Г-0,1^ 19,9 4^95, -1,95 19,9 -0,1; 39
Г°1 Г11 '-0,Р 1 О О х(3) = 0 -0,05 0 -0,1 1 = -0,1 Ьу 1°у 1 0 У 1 1 і Далі знаходимо 0Ь, х(|)) = 7; (Ь, хт) ,(2Ь (( 1 \ 24,5 32 25 ґ Л 1\Л -ОД V 0 уу = 23,8; (6, *(3>) = 7 24,5 32 25 ЧЧ-3 ’ -V -0,1 1 = 29,52. V уу За формулами (2.30) обчислюємо а; (і = 1,3 ): (Ь,хт) _ 7 а, = а. (Лх(|),х(1)) 10 (6,х<2)) 23,8 = — = 0,7 1,2; (Лх(2),х(2>) 19,9 (6,х(3)) _ 29,52 (Лх(3,,х(3)) 14,784 Остаточно ґ х, Л 1 р "-0,04" / х = х2 г- сГ II 0 + 1,2 1 + 2 -0,1 = 1*3 у І0у 1 0 у 1 1 У V 0,5 1 2 40
2.5. Метод прогонки розв'язування СЛАР з тридіагональною матрицею Розглянемо різницеву крайову задачу вигляду 4Уі-і - СіУі + ВіУм = -/» (і = 1,2,...,« -1); Уо =%іУі +Ц|ї Уп=І2Уп- 1+Ш> (2.37) (2.38) де 4*0; 5,*0; / = 1,2,...,и-1, Хі> Хг>Мі, М-2 - задані числа. Цю систему можна записати у вигляді СЛАР Цу = / (2.39) з тридіагональною матрицею розмірності (п +1) х (п +1) І) = 1 -X, 0 0 0 0 0 0 А -С, я, 0 0 0 0 0 0 А - -с2 в2 0 0 0 0 0 0 0 0 Г-І 1 -Си. -2 В„-2 0 0 0 0 0 0 Л-, , -Ся., 0 0 0 0 0 0 -Хг 1 У = ІУо>Уі> )г / = (и.,- •Уі,—»■ -Л-1.^2 )Г Згідно з прямим ходом методу прогонки, обчислюємо прогонні коефіцієнти в. , / = 1,2,..., и-1; '+1 С,-4а, ". / = 1,2,..../і-І, С. - Да / / / причому сЦ=Хі, Рі=Иі- За зворотним ходом прогонки спочатку знаходимо (2.40) (2.41) 41
Уп =£і±хА 1-Хг«« (2.42) а далі при і = п-1,...,О обчислюємо шуканий розв’язок системи (2.40) за формулами Уі=ам'Уі* і+Р/+і (2-43) Це так званий метод правої прогонки розв’язування СЛАР. Формули прогонки можна застосовувати, коли знаменники у формулах (2.40) та (2.42) відмінні від нуля. Теорема. Достатніми умовами коректності і стійкості методу прогонки (2.40)-(2.43) для розв’язування системи лінійних алгебричних рівнянь (2.37)-(2.38) є виконання нерівностей ІСі |>|4 | + |Ві |; і = \,2,...,п-\; |^.|<1; у = 1,2, (2.44) де хоча б одна з них строга. Приклад 2.5. Методом правої прогонки розв’язати СЛАР такого вигляду: А,=ВІ=1;С1=2;/1=0, (/ = 1,2,3,4); X, = 0; ц, = 0; х2 = 0; ц2 = 2. Розв’язування: Матриця системи (2.40) має вигляд £> = 1 0 0 0 0 0 1 -2 1 0 0 0 0 1 -2 1 0 0 0 0 1 -2 1 0 0 0 0 1 -2 1 0 0 0 0 0 1 а вектори у та / такі: у = (у0, у{,..., у5 )Т , / = (1,0,0,0,0,2 )г Обчислимо прогонні коефіцієнти: а,=Хі=0; Р,=ц,=і; 1 2-0-1 = 0’5: р2=ІГ^І = 0’5: 42
1 2 . 0 + 10,5 1 а, = = —; р, = = -; 3 2-1 0,5 3 3 1,5 З 1 3-И ° + 1'^ 1- “4 2-І-- 4 - 4’ 'з З і 0+1- , 1 4.о 4і а’Т7Г 7^-—■=5 4 4 За допомогою зворотного ходу методу знайдемо розв’язки: 2 + 0- * =—1-=2; 1-0- 5 *=±•2 + 1 = 1,8; ЛЛ.1,8 + І = 1,6; _2 1 * 1 _1 Л. У2 з з у, =0,5-1,4 + 0,5 = 1,2; ;у0=0.1,2 + 1 = 1. Отже, одержано розв’язок у = ( 1; 1,2; 1,4; 1,6; 1,8; 2 )т 2.6. Метод поворотів розв'язування СЛАР Метод Гаусса може допускати в процесі перетворень зростання елементів матриці. У разі великих розмірностей системи рівнянь це може призвести якщо не до переповнення розрядної сітки комп’ютерів, то до сильного впливу похибок заокруглень, унаслідок 43
чого можлива втрата стійкості методу. Тому доцільною є побудова прямих методів розв’язування лінійних систем, можливо, складніших, ніж метод Гаусса, однак таких, що не допускають великого зростання елементів у процесі перетворень і, як наслідок, чисельно стійкіших. До таких методів належить метод поворотів. Як і в методі Гаусса, мета прямого ходу перетворень у методі поворотів - зведення системи до трикутного вигляду за допомогою послідовного занулення піддіагональних елементів, спочатку першого стовпця, потім другого і так далі. Роблять це так. Нехай с, і 5, - деякі відмінні від нуля числа. Перше рівняння системи (2.1) помножимо на с,, друге - на 5, і додамо їх. Отриманим рівнянням замінимо перше рівняння системи (2.1). Далі перше рівняння системи (2.1) множимо на -5,, друге - на с, і результатом їхнього додавання замінимо друге рівняння. На введені параметри с, і 5, накладемо дві умови: занулення _5ідп +сіа2і та нормування с,2 + 5,2 = 1, (2.45) звідки знаходимо числа С, Vа!! + а2\ л/°11 + а2\ (2.46) Система (2.1) набуде вигляду (2.47) Ь, де ау =-5ійо +сіаі} (7=2,«), ^'^-5,6,+сД. (2.49) 44
Далі перше рівняння системи (2.47) замінимо новим, що отримане додаванням результатів множення першого і третього рівнянь (2.47), відповідно, на я, 0) 7%’ +4' (2.50) а третє - рівнянням, яке отримано додаванням результатів множення тих же рівнянь, відповідно, на -я2 і с2. Отже, отримаємо систему а(2)х ип лі +£ІІ2^2 +.. +а(2)х • ™1и ли гч II «22^*2 +Д(|,г • 2м ли = ^; < «32*2 +•• «41*1 +<я42х2 +.. • +а4и*п =*4; +«»2*2 +•• • +«„„*„ =ья, Де <2) = с2а"- *■ 52а3 у (7 = 1,2,..., я), йГ = -сА" + <%) = -*2< + с2а3, (7 = 2,3,... ,,и), 2>3(|) = = -^0)- (2.51) (2.52) (2.53) Аналогічні перетворення виконаємо з четвертим і рештою рівнянь. У підсумку одержимо підсистему атх + +а(')х =а0>. 22 2 "• 2п п 2 > (2.54) За п — 1 таких етапів прямого ходу початкова система (2.1) буде перетворена до трикутного вигляду а{п~Х)х +а(-"~1)х + +а(п~1)х Ы,1 Л, 1-Ы|2 Л2 -Г... тии Лп +... +а: (»-о, а(п-цх ипп лн = 6(я_') • и\ ■> = и("-0. (2.55) =ъ{: -о 45
Знаходження розв’язків хя,хи_,,...,х, з (2.55) збігається зі зворотним ходом методу Гаусса. Приклад 2.6. Методом поворотів розв’язати таку систему рівнянь: 10х, +х2 +0,5х3 =11,5; +20х2 +2х3 = 23; 0,5х, +2х2 +15х3 =17,5. Розв’язування: Виконаємо такі перетворення за формулами (2.52), (2.53). Крок 1: І І 2 2~ ’ * І 2 2~ ’ \аі1+а21 Уаи+аН а\] = с\а\] + ^а2] (і = Ь3); А(|) = сА +• аг) = + с\аіі (і=2>3); ьі)= -яА +сА; ю ю і =- а(|) = іЛ\\ ' >/і02+1 л/ІОЇ’ 1 л/їоГ 10 „10+ ‘ .1 = 7І0І;аІ<')=^=1 + -4=-20= 30 л/їої л/їої л/їої л/їоТ аК> =4^=-0,5 + л/їої ’ л/їоі л/їої 4)=—^=-1+-^=;20=-^: а2з 1 2=^; ^1)=42=.11,5+-і-23 = л/їоі ’ 138 л/ЇОЇ л/ЇОЇ л/ЇОЇ’ л/їої л/їої' Тіш 1 -Л_.05+-^.2=^1- л/їоі ’ л/їоі л/їоі’ л(,) = 2 л/ЇОЇ 11,5 + ^.23 = 218’5 л/ЇОЇ л/ЇОЇ ' На першому кроці одержимо таку систему: 10Ц + 30х2 + 7х3 =138; 199х2 + 19,5х3 = 218,5; 0,5х, + 2х2 + 15лс3 =17,5. 46
Крок 2: я,(,) ау = с2а\] + ^азу (У = 1.3 ); Ь<2) = с2Ь\Х) + 5263; ау = + с2«з, (У = 2,3 ); 63(,) = -52й,(і) + с263; 101 101 0,5 С9 — І — , ) ^7 ' у/і012+0,52 >/і0201,25 ’ 2 ^10201,25 ’ а}ї> = 101_.101+ 0,5 -0,5 = 710201,25; VI0201,25 Vі 020 Ь 25 < = , 101 -30+ , °’5 -2 = - 3031 VI0201,25 л/ЇО2^^ Vі 02025 ’ 13 Vі020125 VI020ь25 л/Г020ЇГ25 ’ ,38+ ^5_. VI0201,25 Vі 0201,25 л/і020іГ25 .і? - . °’5 .30 + , 101 .2 = - 187 ■ VI 0201,25 V10201,25 V10201,25 ’ 0>5 ?| Ю1 15 1511,5 . 33 Vі 0201,25 Vі 0201,25 ^№М^Ї5 ’ ^ =— О’5 ,138+ Ю1 • 17,5 = Уі0201,25 V10201,25 V Ю201,25 Отримано систему '10201,25*, +3031лг2 +714,5х3 =13946,75; 199х2 +19,5х3 =218,5; 187х2 +1511,5х3 =1698,5. 47
Крок 3: 199 199 . (1)_ 187 1 І / ’ 1 1 І - О Т І гі л /-п/\ 1 л/і992 +1872 774570 ’ ' л/і992 +1872 ’ 0'= 2> 3); аі2)=«)+«); ^;>=-51Х)+с,Х> с/=3); ^2)=-«)+4Х); а'2) = —Д£Е=-199 + —Д^=-187 = - 74570 л/74570 л/74570 >/74570 ’ <=^•19,5 + ^-1511,5 = ^М; V74570 >/74570 >/74570 *<2>=^=-218,5 + ^.1698,5 = *ІІ2Ь°; л/74570 л/74570 л/74570 ^> — 187 -ю^ 199 297142,0. і і ,7,^“ і і^іі, и і , л/74570 л/74570 л/74570 4!»—•£_ .2,8,з**»-!««, л/74570 л/74570 л/74570 Остаточно отримано систему 10201,25л:, +3031*2 +714,5*3 =13946,75; 74570*2 +286531х3 =361101; 297142*3 =297142. Зворотним ходом знаходимо розв’язки: *з=1; _ _ 361101-286531*з А > 74570 -714 ^ = 1. 13946,75-3031*2-714,5*з 10201,25 48
Розділ З ІТЕРАЦІЙНІ МЕТОДИ РОЗВ'ЯЗУВАННЯ СИСТЕМ ЛІНІЙНИХ АЛГЕБРИЧНИХ РІВНЯНЬ Опишемо ітераційні методи розв’язування систем лінійних алгебричних рівнянь. Ці методи дають розв’язок у вигляді границі послідовності деяких векторів. Такі вектори будують шляхом виконання одноманітного процесу, який називають процесом ітерацій. У сучасній літературі наведено багато ітераційних методів, що ґрунтуються на різних принципах. Зазвичай обчислювальні схеми таких методів прості й зручні у використанні. Проте ітераційний процес може виявитись розбіжним для системи або збіжність процесу може бути настільки повільною, що практично важко досягти задовільної точності. Важливою особливістю ітераційних методів є їхні само- уточнення і простота реалізації на комп’ютерах. Ітераційний метод для початку обчислень потребує задання одного або декількох початкових наближень. Як уже зазначено, умови і швидкість збіжності кожного ітераційного процесу суттєво залежать від властивостей матриці системи і вибору початкових наближень. Розглянемо лінійні стаціонарні методи: метод простих ітерацій та метод Зейделя, релаксаційні та градієнтні методи, методи варіаційного типу. 3.1. Принципи побудови ітераційних процесів Головні ітераційні процеси можна описати за допомогою такої загальної схеми. Нехай задано систему лінійних алгебричних рівнянь Ах = Ь (3.1) 49
з неособливою матрицею А розмірності пхп. Побудуємо послідовність векторів хт,хтза рекурентною формулою (3.2) де Я(|) ,#(2>,...- деяка послідовність матриць; д:^0) - початкове наближення. Різний вибір матриць Н^к’ приводить до різних ітераційних процесів. Ітераційні процеси (3.2) мають ту властивість, що для кожного з них точний розв’язок х* є нерухомою точкою. Це означає таке: якщо за початкове наближення х(0) взяти х* то всі наступні наближення теж дорівнюватимуть х*. Навпаки, якщо довільний ітераційний процес, для якого х* є нерухомою точкою, реалізується за формулою Д:(*)=С(*)х<*“,)+</(*); к = 1,2,..., (3.3) де Сік)- послідовність матриць; сІік)- послідовність векторів, то його можна записати у вигляді (3.2). Неважко визначити необхідну і достатню умову того, щоб ітераційний процес (3.2) збігався до розв’язку за довільного початкового вектора. Справді, X*-х(к)=х*-х{к~1)-Н(к\Ах* -Ах(к-')) = (Е-Нік)А)(х* -х“-0). Звідси X* -х(к) ={Е-Н{к)А\Е-Н{к-цА)...{Е-НтА){х -х(0>). Для того, щоб ‘х*-х(і)-»0 при коо для довільного початкового вектора х(0), необхідно і достатньо, щоб матриця Т(к) = (Е- Н{к)А\Е - Я(*Ч) А)...(Е - НтА) прямувала до нуль-матриці. Для цього достатньо, щоб довільна норма матриці Т(к) прямувала до нуля. Ця умова дає лише загальний погляд для побудови збіжних конкретних ітераційних методів. Найпростіші ітераційні методи - стаціонарні ітераційні процеси, у яких матриці Н(к) не залежать від номера кроку к. При Н(к> = Е отримуємо класичний процес послідовних наближень. Вибір матриці Я для стаціонарного процесу і Н(к) для нестаціонарного можна виконати багатьма різними способами. 50
Важливим способом побудови ітераційних процесів є спосіб релаксації. Під ним розуміють такий вибір матриць Н(к) з деякого наперед заданого класу матриць, щоб на кожному кроці ітераційного процесу зменшувалось певне значення, що характеризує точність розв’язку системи. Серед релаксаційних методів. • найбільше поширені координатні, у яких матриці Н{к) підібрані так, що на кожному кроці змінюється одна або декілька компонент послідовних наближень, і градієнтні. 3.2. Метод простих ітерацій Оскільки метод простих ітерацій є стаціонарним, то систему рівнянь (3.1), згідно з формулою (3.3), перетворимо до вигляду х = Сх + (і. (3.4) Це можна виконати, записавши А = В + 0, і тоді С = -Я"'Д (і = В~'Ь. Розв’язок (3.4) знаходимо як межу послідовності х(к+І) = Сх(к) + а. (3.5) Теорема 3.1 (критерій збіжності). Для збіжності методу простих ітерацій з довільним початковим вектором хт необхідно і достатньо, щоб усі власні числа матриці С були за модулем менші від 1, тобто всі корені характеристичного рівняння 6е*(С-ХЕ) = 0 (3.6) були за модулем менші від одиниці. Оскільки знаходження коренів рівняння (3.6) є непростою проблемою, то на практиці часто використовують достатню умову збіжності методу простих ітерацій. Теорема 3.2 (ознака збіжності). Якщо ЦсЦ < 1, то система (3.4) має єдиний розв’язок, і ітераційний процес (3.5) збігається до розв’язку зі швидкістю геометричної прогресії. 51
Найчастіше обмежуються перевіркою однієї з двох умов: 1) Н<1 ДеІІсІІ=^хХ|с,|; 2) ||С||Я <1, де||С|я=ти2|4 7 /=1 (3.7) Точність отримуваних розв’язків характеризує величина С|| Щоб оцінити кількість ітерацій для досягнення необхідної НІС. точності є розв’язку, можна скористатися нерівностями ІС 1-ІІСІ lx(*+l)-xw (3.8) або с(*+|)-х* ||< ІС \к+1 1-ІІСІ |х(|)-х<0) Якщо за початкове наближення вибирають стовпець вільних членів системи (3.4), то с(4+,)-х*||< ІСІ 1-ІІСІ Нехай ||С||У = ^. Тоді І-д І б/1|7< є; звідси можна знайти апостеріорну оцінку кількості ітерацій *>ті-[і8||^||,-І8(е(1-*))]-1. 1М З умови збіжності методу простих ітерацій бачимо, що вираз А = В + И не може бути зовсім довільним. Якщо матриця А має діагональне переважання, то за матрицю В можна вибрати нижню трикутну матрицю з А: В = а,і 0 0 0 , аиФ 0. 52
Якщо в матриці А немає діагонального переважання, то його можна домогтися яким-небудь способом, наприклад, перетворивши систему (3.1) за допомогою лінійної комбінації її рівнянь. Наприклад, щоб систему рівнянь звести до вигляду, придатного для застосування методу простих ітерацій, треба виконати такі перетворення: перше рівняння залишити без змін, від першого рівняння відняти третє, і це буде другим рівнянням нової системи. Друге рівняння вважати третім у новій системі. Одержимо систему з діагональним переважанням Ще один спосіб зведення рівняння (3.1) до вигляду, зручного для застосування методу простих ітерацій у випадку додатно визначеної матриці А, такий. Позначимо першу норму матриці А через ц: || ^4= (х, отримаємо, що всі власні значення матриці А є в інтервалі (0, ц). Тоді систему Ах = Ь зводимо до вигляду Власні значення матриці С будуть у відкритому інтервалі (-1,1), тому метод простих ітерацій збігатиметься. Якщо для системи (3.1) виконується умова аи *0 (і = 1,и), то з кожного і -го рядка визначаємо х, Отримаємо рівняння 5х, - х2 + 2х3 ’= 8; Зх, - 2хг + 9х3 = -3; 6х, - 5х2 + 2х3 =-10 5х, - х2 + 2х3 = 8; -х, + 4х2 = -2; Зх, - 2х2 + 9х3 = -3. х = (Е~—А)х +—, ц ц Тобто 2 2 С = Е — А; (і =—Ь. ц ц " а, Ь, 53
Цю систему називають системою, зведеною до нормального вигляду. Для неї ітераційний процес матиме вигляд х: .(*+о (3.9) а.. або у матричному зображенні: х = Сх+сІ, де С = -Ох(Ь + К)\ с1 = 0~1Ь', £) - діагональна матриця; і,Я-ліва і права строго трикутні матриці (по діагоналі нульові елементи). Побудований ітераційний процес називають методом Якобі. Він збігається, якщо виконується одна з таких умов: п І аі, І> х І ач І Д™ всіх 1 = ь п> м № п І аіі І> ан 'і Для всіх 1п• /=1 Отже, достатньою умовою збіжності ітераційного процесу є переважання діагональних елементів у матриці А. Теорема 3.3. Метод Якобі (3.9) збігається до розв’язку системи (3.1) тоді й тільки тоді, коли всі корені рівняння | Хр 2 а 21 СІ22^ ап\ ап2 а, іп а 2 я = 0 за модулем менші від одиниці. П р и к л а д 3.1. Дослідити збіжність методу Якобі для системи Ах = Ь , де Ґ 4 2 2^ А = 2 3 2 ; * = 7 1-1 1 ь Іь 54
Розв’язування. За теоремою 3.3 записуємо рівняння 41 2 2 2 ЗХ 2 = 12Х3+4-4 + 6Х-$Х-4Х = -1 1 X = 12^3-6Х = 6Ц2^2-1) = 0. Звідси X, = 0, Х2 =-^Д3=-^. Оскільки І Хі |< 1 для всіх / = 1,2,3, т0 метод Якобі збіжний. Приклад 3.2. З точністю до є = 103 методом Якобі розв’язати систему лінійних алгебричних рівнянь четвертого порядку (3.10) 8х, + х2 + х3 - х4 = 9; х, + 5х2 - х3 - х4 = 4; х, - х2 + 5х3 + х4 = 18; 2х, +х2 -х3 + 10х4 =41. Розв’язування. Зведемо цю систему до нормального вигляду: , п. 1 1 1 =1’125-8*2-8*3 + 8*4’ ЛО 1 1 1 х? =0,8—X, +— Хі + —х4; 2 5 5 3 5 ^ 1 1 1 х-, =3,6—х. +—х, —хл: 3 5 1 5 2 5 4 >. , 1 1 1 Хл =4,1—х, х, н х,. 4 5 1 10 2 10 3 У матричному вигляді С = ' 0 -0,125 -0,125 0,125Л "1,125" -0,2 0 0,2 0,2 ; </ = 0,8 -0,2 0,2 0 -0,2 3,6 ,-0,2 -о,і 0,1 о > 1 4,1 ) 55
Перевіримо достатню умову збіжності: 4 111 ^ ЕМ = о+7+о=0’375<1; ^Іс2у 1 = 0,2 + 0,2 + 0,2 = 0,6<1; 7=1 у=і 4 £| сзу І = 0,2 + 0,2 + 0,2 = 0,6 < 1; £| с4у | = 0,2 + 0,1 + 0,1 = 0,4 < 1. ;=і у=і Отже, за норму матриці С можна вибрати найбільшу зі знайдених сум, тобто || С ||= 0,6. Ітераційний процес закінчується, коли оцінки, згідно з нерівністю (3.8), свідчать про досягнення заданої точності: і*;-***» і< -Ш-тах\х«+" -х\к) 1-ЦСЦу-м 1 1 і = 1,2,3,4. Знайдемо потрібну кількість ітерацій: Іс/Ікє: 0,6 ■*+і £ +1 > 1-ЦСЦ" " 0,4 (к +1) І£ 0,6 < ^ 0,0000975; тому -7 + 3 4,1 < 0,001; 0,6*+| < 0,0000975; А: +1 > 1Є(975-10~7). ІЕ0,6 ’ ; А:> 18,677-1; к>\1,677. Отже, & = 18. Хоч за -0,2147 апостеріорною оцінкою отримано 18 ітерацій, на практиці ця кількість може бути іншою, оскільки така оцінка, зазвичай, завищена. Побудуємо послідовні наближення, узявши за початкове наближення вектор'вільних членів &. х(0) = г<°) ^ л 1 ^1,125^ 0,8 3,6 иг. 1 4,1 , Перше наближення: 'оЛ Л1 ^1,125" г 0 -0,125 Х0) 2 х(|) 3 = 0,8 3,6 + -0,2 -0,2 0 0,2 г(1) V 4 у , 4,1 , ,-0,2 -0,1 0,2 0,2 0 -0,2 0,1 0 \ ^1,125л ' 1,0875' 0,8 2,1150 3,6 2,7150 У 4,1 , ,4,1550, 56
Друге наближення: Л\ "1,125" " 0 -0,125 -0,125 0,125" "1,0875" "1,0406 х(2) 0,8 -0,2 0 0,2 0,2 2,1150 1,9565 х(2) 3 3,6 + -0,2 0,2 0 -0,2 2,7150 2,9745 Х<2) ; У 1 4,1 , ,-0,2 -0,1 0,1 0 ) ,4,1550, ,3,9425 Аналогічно отримаємо такі наближення до розв’язку: 1,0014" "1,0030" "1,0010" "1,0002 1,9753 -(4) 1,9974 -(5)_ 1,9989 -(6) 1,9994 2,9947 , X — 2,9960 , X — 2,9986 , X — 2,9997 3,9937, ,4,0017, ,3,9993у ,3,9998 Отже, розв’язок х, = 1; х2 - 2; х3 = 3; х4 = 4 одержано з точністю до 10"3 за шість ітерацій, оскільки ||= 1,5|| х(6)-х(5) ||< 10~3 1-Ц С || що не суперечить теоретичним оцінкам кількості ітерацій (к = 18 ). 3.3. Метод Зейделя Метод Зейделя відрізняється від методу простих ітерацій лише тим, що під час обчислення (к +1) -го наближення /-Ї компоненти х; враховують уже визначене раніше (£ + 1)-ше наближення компонент Х\,Х2,...,Хі_\, тобто обчислення виконують за формулами =4+Іл*Г)(з.іі) або в матричному вигляді х(і+|) =Вх(Ш) +Ох{к) +сІ, к = 1,2,... (3.12) 57
Ґ 0 0 0 0" Ґо с, 2 Cl,n-1 \ cl.„ С2\ 0 0 0 0 0 C2,n-\ C2.n Де В — С31 С32 0 0 , D = 0 0 С3,и-1 C3,„ Сп2 Сп,п-1 0 / v0 0 0 0, або *<*+1> =(Е- ВУ1 х(к) +(Е- ВУ' сі. Із останнього рівняння випливає, що ітераційний процес Зейделя збігається, якщо виконується умова ІХ( |< 1, де Хі - власні числа матриці (Е — В) И Ці власні числа визначають із рівняння йа((Е-Ву'0-ХЕ) = 0. Теорема 3.4. Для того, щоб метод Зейделя (3.12) збігався за довільного початкового наближення х<0), необхідно і достатньо, щоб усі корені рівняння с,, X C12 c2]X c22 —X C2n = 0 Cn2^ Cnn~Ь були за модулем менші від одиниці. Під час обчислень стаціонарні ітераційні процеси збігаються до розв’язку з точністю є у разі виконання нерівності [3] II ха+|) - де II, < (Д. II х(*+|) - х(к) II, , у П /_1 де ц = max—у,. = £| с.. |, р, = £| сц \. 1 Р/ Н 7=1 Приклад 3.2. Методом Зейделя з точністю до є = 10“3 розв’язати систему лінійних алгебричних рівнянь (3.10). Розв’язування. Запишемо цю систему у вигляді (3.11): 58
'х\к+ц =1,125-0,1254*' -0,1254*) +0,125х‘*); 4*+І) =0,8-0,2х,(*+1) +0,24*' + 0,2х<*); ‘ х\к+і) = 3,6-0,2х1(*+|) + 0,2х<*+|) -0,2х<*>; х<*+|) = 4,1-0,2х,(*+|) -0;1х<*+1) +0,1х<*+|) Норма цієї перетвореної матриці д = 0,6<1. Виберемо за початкове наближення вектор вільних членів, отримаємо наближені значення розв’язку, наведені в табл. 3.1. Таблиця 3.1 Послідовність наближених розв’язків за методом Зейделя Ітерації 0 1 2 3 4 5 „(*) х\ 1,125 1,0875 0,9824 1,0002 0,9997 1,0000 хік) 0,8 2,1225 1,9947 2,0027 1,9999 2,0000 3,6 2,9870 3,0001 2,9995 3,0001 3,0000 4,1 3,9689 4,0049 3,9996 4,0001 4,0000 На п’ятій ітерації задана точність досягнута, бо ||х(5)-х(4)||<%хЮ-3 Часто для поліпшення збіжності зручніше змінити порядок рівнянь у заданій системі або навіть нумерацію невідомих. Можна піти й далі, а саме - на кожній ітерації вибирати свій порядок. Ця ідея стала основою методу, який є видозміною методу Зейделя. Як і в попередніх методах, вибираємо початкове наближення х(0) і обчислюємо відхили: 8, = апх\й) + ai2xf] +... + аіпх(„0) - Ьп і = 1,4 Відшукуємо максимальний за модулем відхил max 15,1 із 1=1,4 рівняння з цим відхилом знаходимо перше наближення першої невідомої, тобто xf’ Потім знову перераховуємо всі відхили бj = апх^ + aJ2xf +... + ajnx(n'} - b], j ф і , і підберемо х{2 , що задовольняє рівняння 59
а Х0) 4- П уО> л. /т V«0) -І- 4-/1 -г<°> - А иПХ\ ]2 2 + аіЛ +—+арХп ~Ь]’ де /- номер рівняння з найбільшим за модулем відхилом. Так робимо доти, поки не знайдемо перше наближення всіх змінних, тобто вектор (х||),х2|,,...,х);|)). На наступному циклі замість вектора х беремо х і т. д. Повторення циклів триває до досягнення потрібної точності. Іноді в разі вибору рівняння, з якого обчислюють поліпшене значення невідомої, керуються не принципом максимального за модулем відхилу, а яким-небудь іншим. Приклад 3.3. Видозміненим методом Зейделя розв’язати систему з точністю є = 10"2: 1 Ох, - 2хг - 2х3 = 6; ^ -х, + 10х2 - 2х3 = 7; -х, -х2 +10х3 =8. Розв’язування. Для зручності кожне рівняння поділимо на діагональний коефіцієнт і вільний член перенесемо ліворуч. У всіх коефіцієнтах поміняємо знаки: х, + 0, 2х2 + 0,2х3 + 0,6 = 0; < 0, їх, — х2 +0,2х3 +0,7 = 0; 0,1х, +0,1х2 — х3 +0,8 = 0. Для заданого прикладу <7 = 0,4<1, тому ітераційний процес збігається. За початкове наближення виберемо нуль-вектор х(0) = (0; 0; 0). Знайдемо відповідні відхили 5<0) = 0,6; 5(20) = 0,7; 8(30) = 0,8. Далі 18,-1= 0,8 є у третьому рівнянні і ^ = 0,1х,(0) + 0,1х2О) + 0,8; х<° = 0,8. Підставимо х^0 у перше і друге рівняння й знову визначимо відхили: 5І0 =0 + 0,2-0 + 0,2-0,8 + 0,6 = 0,76; < =0-0 + 0,2-0,8 + 0,7 = 0,86; 8?>=0. 60
Знайдемо шах 16,° |= 0,86 у другому рівнянні. Тому і=1,3 х<° = 0,1х<0) + 0,2д£ > + 0,7 = 0,1 • 0 + 0,2 • 0,8 + 0,7 = 0,86. З першого рівняння х,(,) = 0,2 • 0,86 + 0,2 • 0,8 + 0,6 = 0,932. Отже, перше наближення х(1) =(0,932; 0,86; 0,8). Перейдемо на наступний цикл для знаходження компонент вектора другого наближення: 6<2) = -0,932 + 0,2 • 0,86 + 0,2 • 0,8 + 0,6 = 0; < 6(22) = 0,1 • 0,932 - 0,86 + 0,2 • 0,8 + 0,7 = 0,0932; 8j2) = 0,1 • 0,932 + 0,1 • 0,86 - 0,8 + 0,8 = 0,1792. Тоді max 16j2) 1=0,1792 є у третьому рівнянні. Тому знайдемо /=1,3 xf> за формулою х<2) =0,1х,(|> ч-ОДх^0 +0,8 = 0,9792. Підставимо його в перші два рівняння і знайдемо відповідні відхили 5<2) = -х,(1) + 0,2х<" + 0,2xj2) + 0,6 = -0,932 + 0,2 • 0,86 + +0,2 • 0,9792+0,6 = 0,03584; 522) = 0,1х,(|) -х*1' +0,2xj2) +0,7 = 0,1-0,932-0,86 + +0,2-0,9792 + 0,7 = 0,12904. Тоді max 18|2> |= 0,12904 у другому рівнянні, /=1,2 xf = 0,1х,(1) + 0,2xf} + 0,7 = 0,1 • 0,86 + 0,2 • 0,9792 + 0,7 = 0,98184. Знайдемо відхил у першому рівнянні б[2) =-х{1} +0,2xS>2) +0,2х^2)+0,6 = -0,932 + 0,2х х0,9792 + 0,6 = 0,06021. Отже, х}2) =0,99221. Знайдемо друге наближення до розв’язку 61
х(2) =(0,99221; 0,98184; 0,97920); шах|хр)-д:(-1) |= 0,1792. /=і,з Точності не досягнуто, бо не виконується умова || х(2)-х(|) ||<-——є. Тому виконаємо ще одну ітерацію. Шукаємо Я відхили 8|3) = —х{2) + 0,2х'2) + 0,2х<2) + 0,6 = -0,99211 + 0,2 0,98184+ +0,2 • 0,9792 + 0,6 = -0,000002; 8<3) =0,1х{2) -х'2) +0,2х'2) +0,7 = 0,1-0,99221-0,98184 + 0,2-0,9792 + +0,7 = 0,013221; 8<3) =0,1х,(2) + 0,1х‘2) -х'2) +0,8 = 0,1-0,99221 + 0,1-0,98184 - 0,9792 + 40,8 = 0,018205. Оскільки тах 18,3) |= 0,018205 у третьому рівнянні, то уточнимо /=1,3 спочатку х3 х<3) = 0,1х,<2) + 0,1х<2) + 0,8 = 0,1 • 0,99221 + 0,1 • 0,98184 + +0,8 = 0,997405*0,99741. Знайдемо відхили в першому і другому рівнянні 8<3) = -х<2) +0,2х<2) +0,2х‘3) +0,6 = -0,99211 + 0,2 0,98184+ 40,2 • 0,99741+0,6 = 0,00364; 8(23) = 0,1х<2) -х® + 0,2х<3) +0,7 = 0,1-0,99221-0,98184 + 0,2-0,99741 + +0,7 = 0,01686. Більший відхил у другому рівнянні, тому уточнимо х2 х<3> = 0,1х,<2) + 0,2х<3) +0,7 = 0,1-0,99221 + 0,2 • 0,99741 + +0,7 = 0,998703. Знайдемо відхил першого рівняння 62
5<3 > = -х,(2) + 0,2х<3) + 0,2х<з:> + 0,6 = -0,99211 + 0,2 • 0,99870 + +0,2 • 0,99741 + 0,6 = 0,0070126. Отже, х,(3) = 0,9992226 « 0,99922 і х<3)- =(0,99922; 0,99870; 0,99741). Перевіримо, чи досягнуто потрібної точності: ||х<3)-х(2)||= 0,01821 >^—^-8. Ч Ні, тому зробимо ще один крок. Обчислимо відхили б|4) = -х<3) + 0,2х'3)+0,2х‘3> + 0,6 = -0,99922 + 0,2 0,99870+ 40,2 • 0,99741 + 0,6 = 0,000002; 5(24) = 0,1х<3) -х‘3) +0,2х<3) +0,7 = 0,1-0,99922-0,9987+ 0,2-0,99741 + +0,7 = 0,000704; 5<4) =0,1х,<3) +0,1х<3) -х‘3) +0,8 = 0,1-0,99922 + 0,1-0,9987 - 0,99741 + +0,8 = 0,002382. Найбільший відхил у третьому рівнянні, тому уточнимо х3 х<4) = 0,1х1(3) + 0,1х<3) + 0,8 = 0,1 • 0,99922 + 0,1 • 0,9987 + + 0,8 = 0,99979. Знаходимо відхили першого і другого рівнянь 5<4) = -х,(3) + 0,2х<3) + 0,2х<4) + 0,6 = -0,99922 + 0,2 • 0,9987 + +0,2 • 0,99979 + 0,6 = 0,000478; 6‘4) = 0,1х,(3) - х<3) + 0,2х<4) + 0,7 = 0,1 • 0,99922 - 0,9987 + +0,2-0,99979 +0,7 = 0,00118. Знову найбільший відхил у другому рівнянні, тому х<4) = х<3) + 5^4) = 0,9987 + 0,00118 = 0,99988. 63
Визначимо першу компоненту вектора х^4) х<4) = 0,2х<4) + 0,2х<4;1 + 0,6 = 0,2 • 0,99988 + 0,2 • 0,99979 + +0,6 = 0,999934. Четверте наближення до розв’язку х(4) = (0,99993; 0,99988; 0,99979). Перевіримо точність: max І х,(4) -х,(3) 1= шах{0,0007; 0,001; 0,002} = 0,002 < є /=і.з q * З точністю до є = 0,01 розв’язок системи х =(1,00; 1,00; 1,00). Розглянемо метод Зейделя як варіант методу Якобі. Запишемо матрицю системи Ах=Ь у вигляді А = Ь + В + Я, де £>-діагональна матриця, Ь і Я - відповідно, ліва і права трикутні матриці з нульовими діагональними елементами (строго нижня і строго верхня трикутні матриці). Уважатимемо, що всі діагональні елементи аи відмінні від нуля, а отже, матриця £> + Ь має обернену. Тоді метод Зейделя записуємо у вигляді x(k+l) = -(L + Я)"1 Rx(k) +(L + Я)-1 b, к = 0,1,2,... або в компонентному вигляді +-+я,„*Г xf'" =-(а2Іх\ш> +ап4> + ...+a„xf' =>а .<**'> + + а -Ь \1 а Лп \ип\Л\ «2 2 ип)'ипп• (3.13) 64
Теорема 3.4. Для збіжності методу Зейделя (3.13) для довільного вибору початкового наближення лг } і довільного значення Ь необхідно і достатньо, щоб усі корені рівняння а, 12 аиХ 1 @22 а. їй а 2 п = 0 були за модулем менші від одиниці. Приклад. Знайти область збіжності методу Зейделя для системи Ах = Ь з матрицею Ґ 4 2 2Ч А= 2 3 2 V-! 1 1, Розв’язування. За теоремою 3.4 про необхідні й достатні умови збіжності методу Зейделя складемо рівняння 41 2 2 2Х зх 2 =12Х3 +4Х2 - 4Х+6Х2 - 8Х2 - 4Х2 -X X X =12Х,3 - 2Х2 - 4Х=2ЩХ2 -X- 2)=0. Х,=0; Х,=|; Отже, метод Зейделя збіжний для довільного початкового наближення д:(0) і довільного значення Ь , оскільки | X. |< 1, і-1,3. 3.4. Метод релаксації Часто для пришвидшення збіжності ітераційних методів використовують параметри. Метод, що використовує параметр, називають методом релаксації хГ =(1-Ф"> +-(4,-%/Г - І^Г) ■ <зм> аи ]=\ У=/+1 65
Тут початкова матриця адитивно зображена у вигляді А = Ь + И + /?. Метод релаксації у векторно-матричній формі має вигляд (£> + (0Ь)х(Ш) = (1 - со)Ос(і) - 0іЯхік) + соЬ. Для значень оє(1, 2) метод (3.14) називають методом послідовної верхньої релаксації (ПВР, або БОИ-методом), для со є (0,1) - методом нижньої релаксації (він не є ефективним). Ітераційний процес (3.14) доцільно завершити в разі виконання умови 1ІХ(*+І)—х<*)||<_є 1 ,(*) І 1 — є 1 .М'1 |Н|£ + -£|| со Для нормальних систем (А- додатно визначена симетрична матриця) метод релаксації збігається для довільного початкового наближення х(0) і довільного со є (0, 2). Приклад 3.4. Методом ПВР з точністю є = 1(Г3 розв’язати систему (3.10). Розв’язування: Запишемо систему рівнянь у вигляді (3.14) „(*+!> _ *1 (') +—(6, -а^Г-0*4*0 - <*и = (1-со)х,<*) +-(9-4*> -х?} +4*0; ю № Лк) ,(к)ч. СО (1-со)^) +—(Ь2-а2ІхГ -«2з4 -^4*0 а =(і-оо)4*) +—(4-хІ(*+І' +4" +4*0; 22 СО .(*+1) М) , Шч. (1-со)^} +—(Ь3 -ОзЛ(*+1) -Оз2^+1) -о,4х\к)) со .(*+1) Лк+1) = (1-ф{3к) +—(18-х[Л+и +х\К+{) -X\К)); со .(*+!) (*+!) ґ*)ч. ^+,)=(1-шУ4Л)+—(Ь4-а4]х\ *-(*) со .(*+1) -а х(к+])- 42 2 44 СО = (1-со)^ +^(41-2*1(*+,)-4к+1) 1}). 66
Виберемо за початкове наближення нуль-вектор д:<0) = (0; 0; 0; 0). Результати обчислень для різних значень параметра релаксації наведені в табл. 3.2. Таблиця 3.2 Залежність між параметрами релаксації і кількістю ітерацій є = 10“3 (О Кількість ітерацій (і 0,3 25 к 0,5 15 и 0,8 8 її 0,9 6 и 1,1 8 її 1,5 59 и 1,6 Розбіжний и 0,85 7 и 0,89 7 и 0,91 6 и 0,95 6 є = 10~2 0,9 5 іі 0,8 6 іі 1,1 6 іі 1,3 12 є = 10“4 0,8 10 її 0,9 8 и 1 7 и 1,1 10 Для нашого прикладу оптимальним за кількістю ітерацій є значення параметра оо = 0,9 Для є = 10-3 і (о = 0,9 отримані наближення до розв’язку наведені в табл. 3.3. 67
Таблиця 3.3 Послідовність наближень розв’язків методу ПВР Ітерації х[к) х(к) х3 х(к) х4 1 1,0125 0,53775 3,15454 3,74326 2 1,11948 1,81387 3,00666 3,97017 3 1,02878 1,97204 2,99582 3,99398 4 1,00582 1,99432 2,99860 3,99874 5 1,00124 1,99873 2,99964 3,99973 6 1,00028 1,99971 2,99991 3,99994 Точний розв’язок х* =(1,000; 2,000; 3,000; 4,000). 3.5. Ітераційні методи варіаційного типу До розв’язування системи лінійних алгебричних рівнянь Ах = Ь застосуємо ітераційні методи вигляду г(*+1) _ у(к) В + Ах(к)=Ь, (3.15) **+і у яких параметр хк+1 вибирають з умови мінімуму похибки || х{к+1) -х" ||д. Тут О - задана симетрична, додатно визначена матриця, для якої || у||0 = л/(£)у,у). Залежно від вибору матриць £> і В отримують різні ітераційні процеси. 3.5.1. Метод мінімальних відхилів Нехай' матриця А - симетрична, додатно визначена. Приймемо за гк=Ах(к)-Ь (3.16) відхил, який отримують унаслідок підстановки к -го наближення до розв’язку в початкову систему. Очевидно, що похибка і відхил пов’язані рівністю А'2к =гк> де Ік -хік) - X* Розглянемо явний ітераційний процес (В = Е) 68
+ Ах(к) = Ь (3.17) і перетворимо його до вигляду у(*+1) _ *.(*) X — л (3.18) У методі мінімальних відхилів (3.17) параметр тк+1 вибирають з умови мінімуму || гк к+1 за заданої норми || гк ||, тоді . (Агк’гк) \Ап (3.19) Отже, у цьому методі за значенням х' ' обчислюють вектор відхилів гк-Ах(к)-Ь, потім за формулою (3.19) знаходять параметр ті+1 і остаточно за формулою (3.18) шукають наступне наближення до розв’язку. Для похибки методу мінімальних відхилів виконується оцінка Ц А(х(п) - х) ||< р” Ц А(х(0) -х*) Ц, п = 0,1,..., ДЄ Ро=^—>-тіп(^)Дтах(^)-НаЙМЄНШЄ Та 1 + 5 найбільше власне значення матриці А. Приклад 3.5. Методом мінімальних відхилів розв’язати з точністю ДО 8 = 10-2 систему 8.x, + х2 +х3 =13; ^ х, + 5х2 -х3 =8; х1 -х2 + 5х5 = 14. Розв’язування. Виберемо за початкове наближення вектор вільних членів *(0) =(13; 8; 14). Тоді за формулою (3.16) знайдемо початковий відхил "8 1 п "13" "13" "113" II о І о II 1 5 -1 8 - 8 = 31 -1 5, 1і4, ,61у 69
Обчислимо X. - (АґО’Го) ; НА, II ( 8 1 п "113" "996" II 1 5 -1 31 = 207 її -1 5, ,61, ,387, (Аг0,г0) = 7996) |"пзУ| 207 ^387, 31 Ч«,, ; ||Лг0|| = тах|Лг0| = 996; = 1,4257 105; т, =0,1437. "13^ "113" "-3,2403" Тоді л:(|) =х(0) -т,г0 = 8 -0,1437 31 = 3,5447 ,14, ,61, , 5,2331 , Наступний відхил гх=Ахт-Ь = "8 1 1 У- 3,24 1 5 -1 ! -1 5 Г 13^1 Г-30,1446 3,54 м 5 23 А ’3 J V14; V 1,2501 5,3806 00 "-30,1446" "-234,53" II ЬГ 1 5 -1 1,2501 = -29,27 ^ -1 5, ч 5,3806 , -4 49 V ’ у / \ \ 7 /V 7 / І Аг, І = 234,53; (Агх, г,) = 7 • 103; т2 = 0,1274. "-3,2403"* "-30,1446" "-0,6010" х(2)=*(,)-т2г,= 3,5447 -0,1274 1,2501 = 3,3854 ч 5,2331 ; , 5,3806 } , 4,5475 , Знову знайдемо відхил "8 1 1 " "0,601" "13" "-0,2591" г2 = Ах{2) - Ь = 1 5 -1 3,385 - 8 = 4,9805 -1 5, ,4,548; ,14; , 5,9530 , 70
Для обчислення т3 знайдемо 00 '- 0,2591л ' 8,8608 ' II 1 5 -1 4,9805 = 18,6906 ,1-1 5, , .5,9530 , ,24,5252у || Аг2 ||=24,5252; (Аг2,г2) = 2,368-102; тоді т3 =0,3937. Нарешті за формулою (3.18) маємо *(3) =(0,7030; 1,42478; 2,2039). Аналогічно г4 =(-3,7474;-2,3776; -3,7021); т4 =0,1823; х(4) = (1,3863; 1,8582; 2,8790). Обчислені значення та наступні наближення наведено в табл. 3.4. Таблиця 3.4 Значення наближеного розв’язку на різних ітераціях Ітерації х(к) 0 13 8 14 0,1437 1 -3,2403 3,5447 5,2331 0,1274 2 0,6010 3,3854 4,5475 0,3937 3 0,7030 1,4247 2,2039 0,1823 4 1,3863 1,8582 2,8790 0,1254 5 1,0318 1,8835 2,8886 0,4514 6 1,0199 2,0819 3,0731 0,2069 7 0,9545 2,0082 3,0103 0,1251 8 0,9977 2,0100 3,0105 0,4474 9 0,9967 1,9934 2,9925 0,1752 10 1,0038 1,9984 2,9985 3.5.2. Метод мінімальних поправок Ітераційний процес за формулами (3.15) перепишемо у вигляді х(‘+,)=*(*)-т к+1В-'гк, (3.21) де гк - відхил. 71
Вектор со* = В~'гк називають поправкою (к +1) -ї ітерації. Поправки со* задовольняють таке ж рівняння, що і похибка ек = х(к) -х" тобто рівняння (3.15): В ®к+' + Асок = 0. (3.22) тл+1 Для В - симетричної, додатно визначеної матриці - методом мінімальних поправок називають неявний ітераційний метод (3.15), у якому параметр т4+| вибирають з умови мінімуму норми ІІ^+іі ІІв=»°°*+і) Д™1 заданого вектора сок. Коли В = Е, то метод мінімальних поправок збігається з методом мінімальних відхилів. Норма || (і>к+ц ||2 буде мінімальною при (^Ю‘’Ю‘) (3.23) Для похибки методу мінімальних поправок виконується оцінка II (х(я) - х*) ця_, < р" II (х(0) -х*) І|в_,, и = 0,1,..., 1-І , К,ЛВ~'А) де р0 = 7Т7’ 5 = ,»-1 А,> 1 + 5 Кк(в А) Ітераційний процес методу мінімальних поправок на кожній ітерації складається з таких етапів: 1) зі СЛАР В&к-гк знаходять поправки щ; 2) зі СЛАР В\к =Асок визначають вектор \к =В~'А(дк; 3) за формулою (3.23) знаходять параметр ті+1; 4) за формулою (3.21) обчислюють наступне наближення Xі к Приклад 3.6. Методом мінімальних поправок з точністю до 10~2 розв’язати систему (3.20). Розв’язування: Виберемо матрицю В у вигляді /3,1 1 2,1Л В = . Як і в попередньому прикладі, за початкове 1 3,6 2,1 ,2,1 2,1 4,1, наближення до розв’язку беремо вектор х<0) =(13, 8,14). Знайдемо відхил г0 = Ах^ - Ь = (113, 31, 61). Розв’яжемо систему В(йк = гк 72
ґз,і 1 2Д1 ґ \ ю, "113" 1 3,6 2,1 (02 - 31 ; = ( ІЛІ 2,1 4 Л) ,®3, ,61, "8 1 Г1 ("47,252 А ю0 = 1 5 -1 7,506 ь -1 5, 4,547 л л390,072л 80,234 62,482 Згідно з етапом 2, розв’яжемо систему В\й = Аю0: ; у0 = (188,282; 35,599; -50,192). "3,1 1 2,Г ҐО "390,072" 1 3,6 2,1 = 80,234 ,2,1 2,1 4,1) ,уз. , 62,482 , За формулами (3.23) знайдемо т, = ^<х>о’(0о) _ 0,264. Тоді К,Лсо0) перше наближення шуканого розв’язку "13" "47,252" "0,524" II о 1 _Н II 8 -0,264 7,506 = 6,018 ,14, , 4,547 , ,12,800, Виконаємо ще одну ітерацію, г, = Ах0) -Ь = (10,007; 9,815; 44,503). З рівняння Вщ -гх знайдемо Асо, =(-3,787; -29,730; 88,429). Тоді зі СЛАР Ву, =А(о, визначимо V, = (-18,270; - 24,707; 46,401). Далі т2 = Наступне наближення (Лаую,) _ (у,,Лсо,) = 0,334. " 0,524 " "-2,462" "1,346" хт=хт-х2В~\ = 6,018 -0,334 -1,894 = 6,651 ,12,800, ,17,799, ,6,852, 73
Продовжимо цей процес, на 13-й ітерації отримаємо розв’язок х(|3) =(0,993; 2,020; 3,025). Отже, за розв’язок системи можна прийняти вектор х* =(0,99; 2,02; 3,03). Швидкість збіжності методу залежить від вибору допоміжної матриці В 3.5.3. Метод спряжених градієнтів Як і в попередніх методах, уважатимемо, що матриця А є симетричною і додатно визначеною. Виберемо початкове наближення *<°>, побудуємо послідовності векторів Xм = Хт + 2акАк(Ах(0) -Ь). (3.24) к=0 Завдяки вибору параметрів ак мінімізуємо величину F(д:(”)) = (Ах(п), х(п)) - 2(Ь,хм). Алгоритм методу спряжених градієнтів (МСГ) такий. 1. Вибираємо початкове наближення х(0) Обчислюємо відхил г0 = Ах(0) - Ь. 2. Будуємо наступні наближення розв’язків за схемою (Ро=гоД = °): ІРк > Арк) 2.2) х(к+1) =х(к)+акРк; 2-3) гм=гк-акАрк\ 2.4) перевірка збіжності: ||гі+|||<є- ітерації припинити, інакше продовжити обчислення. 3. Підготовка до наступної ітерації: 3.1) р = (гш’Рк) ІРк»Арк) 3-2) рк«=гм- р*л; 3.3) к := к +1- перехід на наступну ітерацію з пункту 2.1. 74
Центральною частиною алгоритму є визначення напрямів рк. Вони повинні задовольняти умови (рі,Ар]) = 0, і фу, /,у = 1,и —1. Такі напрями називають спряженими щодо матриці А. Хоча метод МСГ належить до прямих методів (згідно з (3.24)), однак на практиці розв’язок отримують значно швидше, ніж за п ітерацій. Для цього методу правильна оцінка похибки \х(п)-х де Яп = 2р? 1 + р?' Рі і-7^ , 1 + ,/Г І (0) * лг -х КМ) Ку¬ прик л а д 3.7. Методом СГ з точністю до 10 5 розв’язати СЛАР: "16 0 1 2 -Зл "12Л 0 20 4 -4 1 *2 41 1 4 10 0 1 *3 = 44 2 -4 0 20 2 х4 90 1 1 2 18, ,100, ..(О) Розв’язування. Виберемо початкове наближення : (1,1,1,1,1). Згідно з алгоритмом, при к = 0 -Ь-Ах™ Приймемо Ро = г0. Для обчислення ак знайдемо Аро = "12" (16 0 1 2 -3" (1) "-4" 41 0 20 4 -4 1 1 20 44 - 1 4 10 0 1 1 = 28 90 2 -1 0 20 2 1 67 О О .-з 1 1 2 18, ,81, "16 0 1 2 -3" Ґ-4Л "-145л 0 20 4 -4 1 20 325 1 4 10 0 1 28 - 437 2 -1 0 20 2 67 1474 V“3 1 1 2 18, ОО ,1652, 75
а (г0,р0) (Ро>АРо) ((^, 20, 28, 67, 81),(-4, 20, 28, 67,81)) ((^, 20, 28, 67,81),(-145, 325, 437,1474,1652)) 12250 251886 '0,0486. т "-4" "0,8055" і 20 1,9727 і + 0,0486 28 = 2,3617 і 67 4,2584 ОО ,4,9393, Тоді х(,) = х(0) + а0р0 = Подальші обчислення наведені в табл. 3.5. Таблиця 3.5 Наближені розв’язки за методом спряжених градієнтів к х<*> „ _ (гк>Рк) к (Рк’М) 1 2 3 0 (1, 1, 1, 1, 1) 0,0486 1 (0,805468; 1,972662; 2,361727; 4,25818; 4,939282) 0,055722 2 (0,97551 2,206373; 2,737701; 3,997350, 4,975953) 0,069157 3 (1,016125; 1,994419; 2,865367; 4,022000, 5,005043) 0,059706 4 (1,007035; 2,038190, 2,945820,3,992869; 5,008256) 0,068579 5 (і,00570$ 1,998150^ 2,971451; 4,003171; 5,001587) 0,060173 6 (1,001835; 2,0079165 2,98863$ 3,99836$ 5,002346) 0,068492 7 (1,001308; 1,999577; 2,993964; 4,000574; 5,000291) 0,060293 76
Закінчення табл. 3.5 1 2 3 8 (1,000394; 2,001664; 2,997609, 3,999664; 5,000532) 0,068563 9 (1,000281; 1,999909, 2,998729, 4,000112; 5,000052) 0,060350 10 (1,000082; 2,000350, 2,999498; 3,999931; 5,000115) 0,068627 11 (1,000060; 1,999981; 2,999733; 4,000023; 5,000010) 0,060381 12 (1,000017; 2,000073; 2,999895; 3,999986; 5,000025) 0,068669 13 (1,000013; 1,999996; 2,999944; 4,000005; 5,000002) 0,060399 14 (1,000004; 2,000015; 3,999978; 3,999997; 5,000005) Отже, на 14-й ітерації за розв’язок можна прийняти х = (і; 2; З; 4; 5). 77
Завдання до розділів 2, З 3.1. А. Методом Гаусса знайти розв’язки заданих систем лінійних алгебричних рівнянь. Б. Розв’язати системи ітераційними методами з точністю є = 10-6, попередньо перетворивши їх до вигляду, зручного для ітерацій. Дати порівняльну характеристику цих методів за кількістю ітерацій. 4*, +3*2 З*! +6*2 2*, +4х2 *і +2х2 *і +2х2 -*, -2х2 З*, +*2 +х2 З*, -х2 2х1 +3л% X, +2х2 5л:, +8*2 *. +2*2 2*, -3*2 хк +5*2 3*, +х2 5*, -7*2 3*2 2*, *2 6) < 3*, +4*2 3*, -2*2 +2*3 +*4 —12; +4*з +2*4 =19; +6*3 +3*4 =21; +3*3 +4*4 =13 +*з = 6; +2*3 = -3; +*3 = 6 +2*з +3*4 =8; -*3 -2*4 =2; -*з *4 =5; +3*3 1 II о\ -*з = 16; +3*з = 10; +2*3 = 5 +З*3 і ** її -2*з = 2; +10*4 = 8; -5*з = -2 -*3 = 1; -2*з = 12; +4*з = 6 **=(1, 1, 2, 1); **=(1, 2, 1); ** = (2,1,1,!); ** = (2,1,2); / = (1,1,1,1); 78
7) 8) 9) 10) 11) 12) 13) X, +3х2 +5х3 +7х4 = 22; Зх, +5х2 +7х3 +х4 = 26; 5х, +7х2 +х3 +3х4 = 22; 7х, +х2 +3xj +5х4 ^ = 26 4х, -Зх2 +2х3 = 9; 2х, +5х2 -Зх3 = 3; 5х, +6х2 -2х3 = 12 X, -2х2 +Зх3 +4х4 = п; X, -2х3 +3х4 = 6; Зх, +2х2 -5х4 = -2; 4х, +3х2 -5х3 = 6 Хі +2х2 +4х3 = 15; 5х, +х2 +2х3 = 12; Зх, -х2 +х3 = 2 X, +2х2 +Зх3 +4х4 = 10; 2х, ~\~х2 +2х3 +3х4 = 8; Зх, +2х2 +х3 +2х4 = 8; 4х, +3х2 +2х3 +х4 = 10 Зх, +2х2 +х3 = 10; 2х, ~\~3х2 +х3 = 11; 2х, +Х2 +Зх3 = 13 X, +2х> +Зх3 -2х4 = 5; X, -Хі -2х3 -Зх4 = -4; Зх, +2х2 -х3 +2х4 = 9; 2х, -Зх2 +2х3 +х4 = 4 / = (2,1,2,1); X* = (2,1,2); / = (2,1,1,2); / = (1,3,2); /-(1,1, і,і); / = (1,2,3); / = (2,1,1,1); 79
14) 15) 16) 17) 18) 19) 20) *, +2*2 +*3 = 7; 3*, -5*2 +З*3 = -і; 2*, +7*2 -*з = 17 2*, -*2 +JC3 -*4 = 0; 2*, *2 -3*4 = -7; 3*, -*з +*4 = 8; 2*, +2*2 -2*3 +5*4 = 21 2х, +^2 -*з = 2; X, +Л^2 +Xj = 6; 3*, *2 +JC3 = 8 4*, +*2 *4 = 4; *, -3*2 +4*3 = -і; 3*2 -2*з +4*4 = 12; *i +2*2 -*з “3*4 = -2 *, +*2 +*3 = 6; 2*, *2 -6*3 = -18 > 3*, —2*2 = -1 *, +2*2 -*з +*4 = 6; 2*, +Л^2 +х3 +*4 = 9; *, -*2 +2х3 +*4 = 3; *, +*2 -х3 +3*4 = 4 3*, -*2 +JC3 = 7; 2х, -5*2 -3*3 = -7; X, -*2 -*3 = -1 *’ = (2,2,1); ** = (2,2,1,3); ** = (2,1,3); ** = (1,2,1,2); *‘ = (1,2,3); ** = (3,2,1,0); ** = (2,1,2); 80
21) 22) 23) 24) 25) 26) 27) 2хх -*2 +3x3 +2x4 = 11; 3jc, +3x2 +3x3 +2x4 = 16; 3jc, "*2 -Xj +2x4 = 4; Зх, "*2 +3x3 -x4 = 6 3x, -Xj +4x3 = 5; —2jc, +x2 +x3 = 1; 2x, -x2 +4x3 = 4 2x, +x2 -5x3 +x4 = 0; X, -3x2 +x3 +6x4 = 11; 2x, +x2 -x3 +2x4 = 6; X, +4x2 -7x3 +6x4 = 10 X, +x2 +2x3 = 5; 2x, -x2 +2x3 = 5; 4x, +x2 +4x3 = 13 x, +x2 -x3 “*4 = -2; *2 +2x3 -x4 = 0; X, ~X2 -X4 = -i; +3x2 -2x3 = -3 5jc, +x2 -x4 = 7; 3jCj -3x2 +x3 +4x4 = -2; 3x, -2x2 +x4 = 0; -4x2 +X4 = -7 2x, -6x2 +2x3 +2x4 = 6; Xі +3^2 +5x3 +7 x4 = 13; 3x, +5x2 +7 x3 +x4 = 11; 5x, +7x2 +x3 +3x4 = 9 / = (1,1,2,2); / = (1,2,1); / = (1,1,1,2); / = (2,1,1); / = (1,0,1,2); / = (1,2,1,0); / = (1,0,1,1); 81
28) 29) ЗО) X, +Д^2 -*з -х4 = 2; +2х3 -2х4 = -і; X, -х2 -х4 = -2; -X. +3х2 к сч 1 = 5 5х, +3х2 -7х3 +3х4 = 1; X, -2х2 -Зх4 = -2; х2 -Зх3 +4х4 = 1; 4х, +3х2 -5х3 = -і -х, +х2 +х3 +х4 = 2; 2х, +2х3 +3х4 = 8; Зх, +2х2 +х3 +2х4 = 8; 4х, +3х2 +2х3 +х4 = 10 3.2. Методом Гаусса обчислити визначник обернену матрицю. 1) 2) 3) 1,00 0,47 -0,11 0,55 0,42 1,00 0,35 0,17 -0,25 0,67 1,00 0,36 0,54 -0,32 -0,74 1,00 А = 1 1 3 4 " -1 0 3 -2 2 1 2 -3 ї 1 2 -1 1 ) 2,11 3,01 4,02 0,22 " 0,18 3,41 0,15 1,43 2,14 0,17 0,26 0,18 1,28 0,42 0,54 1,00 , ** = (1,2,0,1); х=(1,0,1,1); / = (1,1,1,1). матриці й знайти 82
4) 5) 6) 7) 8) 9) 10) А = ґ 1,5 2,7 -1,3 5,2 А = А = 1,17 2,13 0,32 0,56 1,13 0,64 2,32 -0,72 2,7 -1,3 5,2 л -3,4 1,8 2,2 0,16 0,82 1,05 2,2 1,05 3,4 2,13 0,32 0,56 А = А = А = А = 0,75 0,92 0,63 -0,65 0,72 -0,28 1,00 7,03 -0,33 2,71 0,75 0,28 0,54 0,66 1,00 0,42 0,82 - -0,72 1,10 0,25 - -0,42 0,16 1,10 - -0,25 - -0,44 , 2,15 0,83 0,77 -0,43 0,62 -0,32 1,15 1,84 0,68 0,53 0,64 -0,57 0,18 0,63 -0,32 0,38 -0,14 0,56 -0,42 0,18 0,37 0,52 0,47 0,27 3,54 7,28 0,33 -0,72 3,04 0,22 0,35 -0,78 1,00 -5,04 -3,75 3,41 0,42 0,51 -0,11 -0,92 -2,17 0,81 0,68 0,33 0,17 -3,71 2,17 0,16 0,32 1,00 0,22 0,44 0,22 1,00 0,42 0,54 0,66 1,00 0,32 0,44 83
11) 12) 13) 14) 15) 16) 17) А = А = А = А = А = ( 2,00 0,17 3,02 0,11 " 0,28 0,13 0,54 3,12 0,54 0,18 2,11 3,08 ’ , 2,33 0,11 0,22 2,22 j ' 4,20 0,32 0,11 0,13 " 0,17 0,25 0,48 0,52 0,12 0,08 0,72 0,61 V 0,54 0,13 0,81 0Д7 j ' 1,0 2,14 0,42 -1,13 0,23 0,42 -1,5 0,16 0,34 -0,12 0,18 0,57 v 0,83 -0,17 0,62 -0,83 ' 1,00 0,13 0,25 0,82 -0,15 0,27 0,35 -0,44 0,83 0,11 0,72 -0,32 V 0,94 0,08 0,32 0,12 ' 1,00 0,27 0,64 0,83 0,27 0,35 -0,81 0,16 0,64 -0,81 -0,14 0,15 v 0,83 -0,14 0,25 ; o,37 ' 0,2 -7,7 3,1 -i,6" 0,7 1,4 -8,5 4,8 8,2 -2,3 0,3 -7,9 v 0,55 1,00 0,32 0,4 , А = -2,41 7,55 0,82 0,33 л 0,28 -3,44 0,75 0,23 0,17 0,28 0,05 3,48 -1,00 0,23 2,00 7,00 84
18) 19) 20) 21) 22) 23) 24) А = А = А = А = А = 4.5 4,8 -3,7 2,1 л 4.5 -3,7 5,6 3,3 4,8 7,5 8,3 9,2 -1,5 2,3 4,8 3,1 ^ 1.5 0,84 0,63 -0,18 л 0,15 0,36 -0,16 0,88 -0,27 0,45 0,64 -0,38 0,41 -0,83 0,62 0,27 0,8 1,3 -0,12 0,25 ^ -1,2 0,18 0,72 0,13 1.6 0,2 0,12 -0,11 1.4 0,15 -0,83 0,41 , 2.5 0,35 0,4 -0,8л 0,2 -1,5 0,61 2,3 0,16 -0,42 0,57 0,63 0,23 0,15 -0,08 3,1 5.5 3,7 -8,3 9,1 -4,5 6,8 7,2 3,4 7.5 -4,9 3,5 7,1 5.6 -4,8 7,3 5,3 1,8 1,02 1,03 1,05 л 7,03 8,04 9,05 6,08 1,11 -2,02 2,03 -3,04 -3,41 4,52 7,28 5,51 8.2 1,4 -2,3 0,2 л -1,6 5,4 -7,7 3,1 0,7 1,9 -8,5 4,8 5.3 -5,9 2,7 -7,9 85
25) 26) 27) 28) 29) ЗО) 31) А = А = А = 1,6 8,2 5,3 0,7 1 З 2 1 1 1 3 4 1 З 5 7 1 З 5 0 1 1 З 2 1 2 1 1 5.4 -7,7 -3,1 л 1.4 -2,3 0,2 -5,9 2,7 -7,9 1,9 -8,5 4,8 1 2 3 -1 -1 -2 3 -1 -1 2 3 -1 -2 3 4 0 -2 3 2 1 О 3 О іп 1 3 5 7"і 5 7 1 5 1 -7 З 2 -З 2 1 -1 1 і 5 У 3 -4 -2 0 0 10 -5 0 3 -2 -2 -3 -1 2 2 1 -1 1 1 1 2 1 -1 з, 86
3.3. Системи лінійних алгебричних рівнянь розв’язати такими методами. А. Методом квадратних коренів і методом ортогоналізації. Б. Методами варіаційного типу. Виконати порівняльну характеристику за кількістю ітерацій і різною точністю. 1) 1 Ох, +х, 2) Зх, 7х, 3) 4) 5) 6) +2хл ~\~3хл +11х2 +Зх3 +*„ 2х, +3х, +15х, +х. +х, +Х, +х, +3х. +14х. х, +9х2 -2х3 Зх, -2х, +1 Ох, -хл +2х4 — = 18 = 19 = 36 = 20 10; 8; 13; -*1 +2х3 +5х4 = 6 ІЗх, +5х2 +Зх3 -4х4 = 21; 5х, +13х2 -х3 +2х4 = 17; Зх, -х2 +13х3 +2х4 = 15; -4х, +2х2 +2х3 +13х4 = 0 20х, +3х2 +5х3 +7х4 = 32; Зх, +1 5х2 +7х3 +х4 = 11; 5х, +5х2 +17х3 +2х4 = 24; ?х, +х2 +2х3 +15х4 = 24 Юх, -2х2 +Зх3 +4х4 = 12; -2х, +11х2 +х3 +2х4 = 11; Зх, +х2 +15х3 -х4 = 3; 4х, +2х2 -х3 +17х4 = 23 1 їх, +2х2 +Зх3 +4х4 = 20; 2х, +13х2 -х3 +2х4 = 16; Зх, -х2 +13х3 -Зх4 = 12; 4х, +2х2 -Зх3 +20х4 = 23 де* = сі, 1,2,1): *• = (1,1,1,1); *’ = (1,1,1,0); х* = (1,0,1,1); ** = (1,1,0,1); ** = (1,1,1,1); 87
7) 8) 9) 10) 11) 12) 13) 15*, +2*2 -*з +2*4 = 18; 2*, + 1 1*2 +2*3 *4 = 14; -*, +2*2 + 13*3 +3*4 = 17; 2*, *2 +3*3 + 17*4 = 21 10*, +2*2 +х3 -2*4 = 9; 2*, + 1 3*2 -2*3 -3*4 = -3; -2*2 +15*з +4*4 = 20; -2*, -3*2 +4*з + 10*4 = 12 IO*, +2*2 +3*з -2*4 = 10; 2*, + 1 1*2 -2*з -3*4 = 10; З*, -2*2 +15*з +*4 = 2; -2*, -3*2 +*3 +15*4 = 10 12*, +3*2 +*з -2*4 = 14; 3*, + 13*2 —4*3 +3*4 = 15; *1 -4*2 +14*з +*4 = 12; -2*, +3*2 +х3 + 12*4 = 14 16*, *2 +Зх3 +2*4 = 20; -X. +14*2 +2х3 -5*4 = 10; 3*, +2*2 +20jc3 +3*4 = 28; 2*, -5*2 +Зх3 +15*4 = 15 13*, +*2 -5х3 +*4 = 10; *,’ + 16*2 -\-х3 +2*4 = 20; -5*, +х2 +15*з *4 = 10; *, +2х2 -*3 + 13*4 = 15 17*, +х2 -*з *4 = 16; *, + 15*2 -4*3 +2*4 = 14; -*, -4*2 +15*з +2*4 = 12; -*! +2*2 +2*з +23*4 = 26 ** = (1,1, і,і); ** = (1,0,1,1); ** = (1,1,0,1); ** = (1,1,1,1); ** = (1,1,1,1); *’ = (і,і,1,1); ** = (1,1,1,1); 88
14) 15) 16) 17) 18) 19) 20) 19jc, +^2 -X4 = 19; +17x2 +x3 +4x4 = 23; x2 + 1 lXj -3x4 = 9; -X, +4x2 -3x3 +13x4 = 13 15x, -6x2 +2x3 +2x4 = 13; —6x, +21x2 -3x3 -5x4 = 7; 2x, -3x2 +17x3 +x4 = 17; 2X| -5x2 +x3 +\2x4 = 10 13x, +x2 -3x3 -*4 = 10; X, +20x2 +x3 -4x4 = 18; -3x, +x2 +13x3 +2x4 = 13; -X, —4x2 +2x3 +20x4 = 17 17x, -x2 +x3 -x4 = 16; -X, +\9x2 -3x3 +2x4 = 17; X, -3x2 +21x3 -3x4 = 16; -X, +2x2 -3x3 +10x4 = 8 12x, +x2 -x3 -2x4 = 10; X, +13x2 +2x3 +3x4 = 19; —X, +2x2 +14x3 -x4 = 14; -2x, +3x2 -x3 +15x4 = 15 15x, -\-x2 -3x3 +2x4 = 15; X, +16x2 -x3 +3x4 = 19; -3x, -x2 +17x3 -4x4 = 9; 2x, +3x2 -4x3 +1 8x4 = 19 llx, +3x2 -4x3 +x4 = 8; 3x, +12x2 -x3 +2x4 = 4; -4x, -*7 +13x3 +3x4 = 12; . xi Y2x2 +3x3 +14x4 = 18 / = (і,і,і,і); / = (і,і, і,і); / = (1,1,1,1); / = (і,і,1,1); / = (і,і, 1,1); / = (і,і,1,1); / = (і,о, і,і); 89
14х, - х2 —х3 +х4 = 14; 21) < -X, +15д:2 -2х3 -х, -2х2 +16дг3 +3х4 -х4 = 17; = -4; ** = (1,1,0,1); X, +3х2 -х3 +17х4 = 21 16х, +2х2 -Зх3 +х4 = 19; 22) 2х, +17х2 -х3 -Зх, -х2 +18х; +2х4 +3х4 = 21; = -і; ** = (1,1,0,1); X, +2х2 +Зх3 +19х4 = 22 11,65х, -1,76х2 +0,77х3 = 10,66; 23) -1,76х, +1 1,04х2 -2,61х3 = 6,67; ** = (1,1,1): 0,77х, -2,61х2 +13,18х3 = 11,34 2,56х, +0,67 х2 -1,78х3 = 1,45; 24) 0,67х, +2,67х2 -1,35х3 = 1,99; *‘ = (1,1,1); -1,78л, -1,35х2 +11,55х3 = 8,42 12,16х, +1,45х2 -0,89х3 = 12,72; 25) < 1,45х, +10,44х2 +1,18х3 = 13,07; *’ = (1,1,1); -0,89х, +1,1 8х2 +12,07х3 = 12,36 9,87х, +1,35х2 -0,44х3 = 10,78; 26) 1,35х, +11,22*2 -2,32х3 = 10,25; *‘ = (1,1,1); -0,44х, -2,32х2 +13,73х3 = 10,97 9j36x, +0, 92х2 -1,87х3 = 8,41; 27) < 0,92х, +8, 24х2 -0,77х3 = 8,39; ** = (1,1,1); -1,87х, -0,77х2 +9,16х3 = 6,52 8,17х, -0,65х2 +1,54х3 = 9,06; 28) -0,65х, +11,16х2 -1,73х3 = 8,78; ** = (1,1,1); 1,54х, -1,73х2 +9,15х3 = 8,96 90
12,32 л:, + 1,17*2 -0,28х3 =13,21; 29) 1,17 л:, +9,43х2 -0,88х3 =9,72; —0,28л:, -0,88х2 +14,55х3 =13,39 9,48х, +0,75х2 -1;23х3 =9; ЗО) 0,75л:, +9,61х2 +1,64х3 =12; -1,23х, +1,64х2 +5,51х3 =5,92 3.4. Методом прогонки розв’язати системи рівнянь: де 1) - С& + Ьхм =£ V / = 1,2,п; а\ = 0 ■ ^„ = 0 ■ а, = -(1 + і). * = 2,3,..., и; с,. =12 + /, / = 1,2,...,п ; 6(. = /, / = 1,2,...,и-1; / =-(/2 +14/-1), і=1,..., и-1; /і = 7 /7 =-202; « = Ю у|0 = -600; 2) ад_, - с,у, + 6,у,+| = /, і = 1, и -1; 3<0) = ^о=1; Я1) = У„ =0,5; Де 1 1 + /А 1 1 + іИ а‘ И2+ 2И ’ Ь‘ И2' 2к с.=1 + 4-, /= 2-^-, /г = 0,1;0,01; Ь2 ' (1 + ІЙ)3 /г = -; /( х ) = —!—; х = х,. =іЛ; я х + 1 = (і,і,і); = (і,і,і). 91
3) аіУі_{ - cty, + btyM =fn і = 1, n -1; 7(0) = У0 = -°>5; Я1) = y„=-l\ де 1 1 , 1 1 “ ,2 і / •/ ^ \ 1 і ~ t 2 " h h(ih-2) ' h2 h(ih-2) ct=\ + 2-ih\ ft= 1; /* = -; /* = 0,1;0,01; h n y\ X ) = —Ц-; x = x,. =ih\ x-2 4) ЗД_, -C,7, + Й,7,+1 = ft, і = 1,и-1; у(0) = 0; Я0 = 2,71828; Де 11,11 й- — —— н—, Ь- — — , 1 h2 h ‘ h2 h 2 1 С, =-j + l,ft=-2ih-e* h = -, h = 0,1;0,01; n n y\ X ) = x-ex x = xt=ih' 5) ад_, - c,y, + b,yM = у;, і = 1, n -1; j;(0) = 0; Я1) = 1>38294; Де 1 гУг +1 , 1 ih + l Cl; — Г" H , О — h 2h ' h 2h x2 + 2x, + 2 ci=TT + 1’ fi=~ ,, ■ h jc, +1 x,. = ih, y* ( xj ) = ( X; +1 ) ln ( x,. +1 )', h = 0,1; 0,01. 92
3.5. З використанням теореми про необхідні й достатні або достатні умови збіжності методів, розв’язати такі задачі. А. Знайти області збіжності методів Якобі та Зейделя для систем Ах = Ь з матрицями вигляду А = а р 0Л р а р V0 Р а/ B. Довести, що для СЛАР другого порядку (п = 2) методи Якобі і Зейделя є збіжними та розбіжними одночасно. C. Нехай задано невироджену матрицю А з діагональною перевагою, тобто для всіх і маємо ХКІ-яКІ’ я<1- Довести, що для похибки в методі Зейделя справджується нерівність \х-х .(*) І й. Довести збіжність методу Зейделя для матриць з такими елементами: а) б) а,=3 2, і = у, 1,1 г — У |= 1; 0,1 і — У |> 1 - Е. Знайти а, Р, за яких метод Зейделя є збіжним для СЛАР Ах = Ь з матрицями А вигляду: "а 0 Рї а) 0 а 0 ІР 0 «У 93
Г(Х р 0" б) р а 0 ; 1° 0 «У ґа а в) а Р Р ; V« Р ґа Р о\ Г) Р а р • и Р «У Р. Дослідити збіжність методу Якобі для СЛАР з матрицею 2 -0,2 0,3 0,4 0,3 -3 1 -1,4 0,4 0,8 4 2,4 -0,5 1,2 -2,5 -5 94
Розділ 4 МЕТОДИ РОЗВ'ЯЗУВАННЯ ЗАДАЧ НА ВЛАСНІ ЗНАЧЕННЯ Задача визначення власних значень і векторів матриць є важливою для вирішення широкого кола питань обчислювальної математики, її застосовують у диференціальних рівняннях (зокрема, у проблемі стійкості), механіці, радіофізиці й інших галузях. Цю задачу формулюють так: нехай задано дійсну (пхп)- матрицю А . Знайти такі пари чисел А, і ненульових векторів х, що Ах = Хх. (4.1) Задачу (4.1) називають задачею на власні значення. Розрізняють повну (алгебричну, або матричну) проблему власних значень, яка передбачає знаходження всіх власних пар {А., де} матриці А, та часткові проблеми власних значень, які полягають, як звичайно, у відшуканні одного чи декількох власних чисел X і, можливо, відповідних їм власних векторів х. В останньому випадку найчастіше йдеться про знаходження найбільшого і найменшого за модулем власних чисел. Знання таких характеристик матриці дає змогу, наприклад, робити висновки про збіжність тих чи інших ітераційних методів, оптимізувати параметри ітераційних методів, ураховувати вплив на результати розв’язування алгебричних задач похибок вхідних даних і обчислювальних похибок. Є й інші формулювання часткових проблем. Теоретично задачу (4.1) легко розв’язати: необхідно знайти корені так званого характеристичного, чи, інакше кажучи, вікового рівняння сіє^Л-Аіі^О, (4.2) а потім, підставляючи їх почергово в (4.1), отримати з відповідних систем власні вектори. Практична реалізація цього за суттю простого підходу пов’язана з низкою труднощів, що зростають зі збільшенням розмірності розв’язуваної задачі. Ці труднощі 95
зумовлені розгортанням характеристичного визначника Ае\(А-ХЕ) і обчисленням коренів отримуваного в цьому разі полінома п-го степеня, а також пошуком лінійно незалежних розв’язків вироджених СЛАР. З огляду на це такий безпосередній підхід до розв’язування алгебричної проблеми власних значень застосовують лише за малих розмірностей матриці А(п = 2,3), вже при п > 4 на перший план виходять спеціальні чисельні методи розв’язування таких задач. Зазначимо, що недавно чисельні методи розв’язування задач на власні значення ґрунтувались, як звичайно, на класичному підході, тобто на розгортанні характеристичних визначників. Методи розв’язування проблеми власних значень, які ґрунтуються на розгортанні характеристичного визначника, детально описані в Сучасні методи розв’язування повної проблеми орієнтовані на алгоритмічну побудову з матриці А такої матриці, певні елементи якої були б наближеними значеннями власних чисел А , причому формувались би і її власні вектори. Нижче розглянуто деякі з цих методів так, щоб можна було зрозуміти ідеї, які є в їхній основі, й одночасно практично розв’язано сформульовані задачі. 4.1. Класичний спосіб П р и к л а д 4.1. Визначити власні числа і власні вектори Розв’язування. Щоб визначити власні числа матриці А, потрібно обчислити визначник |Л-Аі?|. Розкриємо його й отримаємо [7]. матриці ґ 3 1 0' А= - 4-1 0 4 8 -2) 3-Х 1 -4 -1-?, 4 8 0 0 = -Я3 + ЗА, - 2 . -2-Х 96
Власні числа є коренями рівняння -А3+ЗА-2 = (А-1)2-(А + 2) = 0, тобто А, = -2, Х2 = 1, А,3 = 1. Для знаходження власного вектора, що відповідає власному числу А, = -2, отримаємо систему лінійних алгебричних рівнянь з визначником, що дорівнює нулю: 5у, + у2 = 0; -4у,+у2 =0; 4у, + 8у2 = 0. Легко переконатися, що ранг матриці цієї системи г = 2. Надамо вільній змінній У3, наприклад, значення 1. Розв’яжемо систему перших двох рівнянь, отримаємо у2 = 0 , V, = 0. Отже, власному числу А, =-2 відповідає власний вектор х, =(0,0,і)г Для знаходження власного вектора, відповідного кратному власному числу X -1, отримаємо систему 2у, + \2 = 0; -4у, - 2\г - 0; 4у, +8у2 -Зу3 =0. Як бачимо, її ранг дорівнює двом. Надамо вільній невідомій у, = 1, знайдемо наступні значення у3 = —4, у2 = -2. Отже, власному числу Х2 - Х3 = 1 відповідає такий власний вектор: х2 -(і,-2,-4)т П р и к л а д 4.2 [9]. Знайти всі власні числа і власні вектори 5 -2 1л 3-2 3 3-6 7 матриці А = V Розв’язування. Складемо визначник і розкриємо його: 97
5-Х. -2 1 З -2-Х З З -6 7-Х = -Х3+10Х -32Х + 32. Власні числа є коренями рівняння -X3 + 10Х2 - 32Х + 32 = (X - 2)(Х - 4)2 = 0, тобто X, = 2, Х2 = Х3 = 4. Для знаходження власного вектора, відповідного власному числу X, = 2, отримаємо систему лінійних алгебричних рівнянь з визначником, що дорівнює нулю: Зу, - 2у2 + у3 = 0; Зу, - 4у2 + Зу3 = 0; Зу, - 6у2 + 5у3 = 0. Для розв’язування цієї системи визначимо ранг її матриці. Легко переконатися, що ранг матриці цієї системи г = 2. Надамо вільній змінній у,, наприклад, значення 1, розв’яжемо систему перших двох рівнянь і-2у2+у3=-3; [-4у2 + Зу3 = -З і отримаємо у2 = 3, у3 = 3. Отже, власному числу X, = 2 відповідає власний вектор х, = (1,2,3) Для знаходження власного вектора, відповідного кратному власному числу Х2 = 4, отримаємо систему у, -2у2 +у3 =0; < Зу, - 6у2 + Зу3 = 0; Зу, - 6у2 + Зу3 = 0. Ранг її дорівнює одиниці, тому розв’язок наведемо у вигляді у, =2у2-у3. Вільним невідомим у2 і у3 необхідно надати такі значення, за яких отримують два лінійно незалежні вектори. Для цього візьмемо такі значення: у2=1, у3=0, іу2=0, у3=1. 98
Отже, власному числу "К2 = Х3 = 4 відповідають два власні вектори 4.2. Степеневий метод знаходження максимального за модулем власного значення і відповідного йому власного вектора Для знаходження максимального за модулем власного значення і відповідного йому власного вектора квадратної матриці простої структури1 можна використовувати степеневий метод. Спочатку розглянемо реалізацію цього методу для дійсної матриці А простої структури, яка має власні значення, розташовані з урахуванням їхньої кратності в такому порядку: Задаванням довільного початкового наближення У0) для власного вектора у0> і значення є > 0, за яким закінчуватиметься ітераційний процес, степеневий метод реалізують за формулами Зазначимо, що \ік можна обчислити також за формулою 1 Матрицею простої структури називають матрицю А порядку п , яка має п лінійно незалежних власних векторів. х2 =(2,1,0)г х3=(-1Ді)г |Я,, |>|^2 |>...>|Х„|. (4.3) * = 0,1,... перевіряючи на кожній ітерації умову закінчення процесу (4.4) 99
ц* =шах{^(*)}. Тут і далі ми використовуємо позначення тах{х} для максимального за модулем елемента вектора х. У (4.3) і (4.4) к- номер ітерації; 5 - номер компоненти; т - кількість ненульових компонент вектора ут; ц* - наближення до власного числа X,,. Доведемо збіжність степеневого методу, коли значення А,, дійсне і не кратне. Оскільки матриця А є матрицею простої структури, то систему власних векторів {дс;},_/ = 1,2можна взяти за базис у п -вимірному просторі. Відповідно, довільний вектор У0) можна розкласти за власними векторами ут =с1х1+с2х2+ — + сях„. З урахуванням того факту, що власний вектор визначений з точністю до сталого множника, під час дослідження збіжності не братимемо до уваги умови нормування в (4.3). З послідовних ітерацій отримаємо вектори У> = Аут = сх\хх + с2Х2х2 + -- + с„Х„хп, У2) = Ау(і) = с^Х]хх + с2Х22х2 + • • • + спХ\хп, У*> = Ау(к~1) = де, + с2Хк2х2 +■■■ + с„ХкЛ = ГО к м к А ІГ ґ ( *0 к\ ах, 4-е, 2 Х0 +...+ С_ п Хп — ах, + О 2 1 1 / К і п Ач П 1 1 1 А,, J _ \ У V 'ч ) _ V V і ) ) тобто вектор у наближатиметься до власного вектора х, за напрямом. 100
Приклад 4.3. За допомогою степеневого методу знайти максимальне власне число матриці А = 1 2 З 2 5 2 3 2 1 , починаючи з початкового вектора /0) = Розв’язування. За наведеними вище формулами степеневого методу, прийнявши є = 0,001, виконаємо наше завдання: ; Ь = 7 (1 2 3" |Т] М (2/Л /3 "0,66" у(|)= 2 5 2 і = 9 ; /> = 1 = 1 Із 2 К її; и 2/ 1/3; ,0,66, 7(2) = 1 2 3Л 2 5 2 3 2 1 2/ ч/З/ 23А ,,4/з, У(2) = 3/ у /23 ґ%] Ґ14/ 'ї /23 "0,6087" % = 1 = 1 1%, 14/ кпз) ,0,6087, ; Ц2 =7,22. Умова |ц2-ц,| < є|ц2| не виконується, тому продовжуємо ітераційний процес: Ґ\А/ Л /23 У0) = 1 2 3Л 2 5 2 3 2 1 1 14/ '23 ^102/ Л /23 171/ /23 102/ /23. у<3> = 23/ 7 /171 102/ 'ї /23 (102/ ї /171 "0,596" 171/ /23 = 1 = 1 102/ /23; 102/ 1 /171,1 ,0,596, ; йз =7,3354. 101
Умова |ц3 -|Х2|<є|ц3| не виконується, знову продовжимо ітераційний процес: "1 2 3" (102 / ) /171 (750/ ) /171 (750/ ^ /171 "0,5938" II 2 5 2 1 = 1263/ /171 ■ У(4)-171/ ’ У /1263 1263/ /171 = 1 ,3 2 1, 102/ /171; 750/ 1 /т) 750/ 1 /171; ,0,5938, |і4 =7,3639. Умова |ц4 -ц3| <є|ц4| не виконується, продовжимо обчислення далі: У (5) 1 2 3" 250/ "| /421 1842/ "і /421 2 5 2 1 = 3105/ /421 2 К 250/ /421, 1842/ 1 /42 и ("1842/ л /421 (1842/ 'І /3105 "0,5932" 3105/ /421 = 1 - 1 1842/ /421; 1842/ 1 /3105; ,0,5932, у*5) =421/ у /3105 ц5 =7,3704. Умова ||д5 -ц4| < є|(л51 виконується, отже, ми знайшли наближене власне значення і власний вектор. Дані занесемо в табл. 4.1. Таблиця 4.1 Наближення до власних значень і векторів за степеневим методом к 0 1 2 3 4 5 И - 7 7,2222 7,3354 7,3639 7,3704 У, 1 0,6667 0,6087 0,5965 0,5938 0,5932 Уі 1 1 1 1 1 1 Уг 1 0,6667 0,6087 0,5965 0,5938 0,5932 102
(1 2 З' Для матриці А = і власний вектор 2 5 2 3 2 1 \ 0,5932Л 1 0,5932 отримано власне значення 7,3704 На комп’ютері степеневий метод можна реалізувати також у вигляді такого РМ -алгоритму. 1. Увести (их«)-матрицю А, задати и-вимірний вектор У0) „(0) _ У (0) обчислити У 'І і вектор х' 2. Обчислити вектор у(к) = Ах(к~ц У ,(0) г; прийняти к = 1. 3. Обчислити ||У*> і х(К) - М) У \\У (*) 4. Обчислити співвідношення (координат векторів ,(*) „(*) у'"' і дг'" ) при / = 1,2,..., п таких, що |х; _'|>8, де 5>0 - деяке задане мале число (допуск). 5. Випробувати число А.,** тестом на збіжність. Якщо виявиться збіг необхідної кількості знаків Х]к) і ^*“|) (можна задавати довільно), то роботу алгоритму припинити і за старше власне число X, прийняти усереднене (за і) значення Х(к), а за нормований старший власний вектор х, - вектор хік) Інакше повернутися до кроку 2. 4.3. Метод скалярних добутків Метод скалярних добутків доцільно використовувати під час знаходження максимального за модулем власного числа і відповідного до нього власного вектора симетричної матриці. Він має швидшу збіжність, ніж степеневий метод. 103
[17] Обчислювальна схема методу скалярних добутків має вигляд (у(к) У(*) ц = ^ Умовою завершення процесу може слугувати умова де є > 0 - задана точність. Приклад 4.4. Методом скалярних добутків знайти максимальне за модулем власне число матриці "1 2 3" гп А = 2 5 2 , вибравши за початкове наближення У0> = 1 [З 2 К Л Розв’язування. Зробимо декілька кроків цим методом. Крок 1: 1 ™ 1 ,/» = Л/(/0),У0)) ^/О-І+ЬІ+М) (ї) "і/7з" "0,57735" 1 — і/ліз — 0,57735 и 1/л/з V ) ,0,57735, „(I) _ ЛГ,(°) - Ду" 1 2 З 2 5 2 3 2 1 0,57735 0,57735 0,57735 "1 • 0,57735 + 2 • 0,57735 + 3 • 0,57735" "3,46410" (2+ 5+ 2)-0,57735 = 5,19615 , (3 + 2 + 1)-0,57735 } ,3,46410, Иі = (у°\ут) (3,46410-3,46410 +5,19615-5,19615+ 3,46410-3,46410) _ (3,46410-0,57735 + 5,19615-0,57735 + 3,46410 -0,57735) "" 50,99995 6,99999 = 7,28571. 104
Крок 2: 1 •^/(3,46410-3,46410+ 5,19615-5,19615+ 3,46410-3,46410) * "3,46410^ "3,46410/7.14143" "0,48507" 5,19615 = 5,19615/7.14143 - 0,72761 ; ,3,46410^ ,3,46410/7.14143) ,0,48507, "1 2 3" "0,48507" II II гГ 2 5 2 0,72761 3 2 1 і V-3 ^ V ,0,48507, " 1 • 0,48507 + 2 • 0,72761 + 3 • 0,48507" " 3,3955 " 2 • 0,48507 + 5 • 0,72761 + 2-0,48507 = 5,57833 , 3 • 0,48507 + 2 • 0,72761 +1 • 0,48507, , 3,3955, И2 = (У2),/2)) (У2\У0) (3,3955 • 3,3955 + 5,57833 • 5,57833 + 3,3955 • 3,3955) ~ (3,3955 • 0,48507 + 5,57833 • 0,72761 + 3,3955 • 0,48507) = Н17940 7,35334 Результати цих та наступних кроків занесемо у табл. 4.2. 105
Таблиця 4.2 Результати обчислень за методом скалярних добутків к уГ У2№і У,™ 1 3,46410 5,19615 3,46410 7,28571 2 3,39549 5,57831 3,39549 7,36800 3 3,36101 5,63464 3,36101 7,37207 4 3,35245 5,64554 3,35245 7,37227 З табл. 4.2 бачимо, що для отримання максимального власного числа з похибкою є = 0,0001 достатньо чотирьох ітерацій. Отже, отримано такі власне число та ненормований і нормований власні вектори: "3,35052^ "0,45593" ц4= 7,37227; У4) = 5,64787 ; У4) = 0,76436 ч3,35052; ч0,45593, Реалізувати метод скалярних добутків на комп’ютері можна також у вигляді 5Р-алгоритму. Крок 1. Увести: задану «х«-матрицю А, довільний п- вимірний початковий вектор У0) Ф 0, мале число є > 0 (допустиму абсолютну похибку шуканого власного числа А,,), число Х(0> для початкового порівнювання (наприклад, 0). Задати к = 1 (включити лічильник ітерації). Крок 2. Обчислити скаляри 5(0) = (У°\У0)), ||У0)|| І вектор х<0) = тг——м—. ||У0,||2 Крок 3. Обчислити у(к) = Ах(к~]) (ітерація нормованого вектора). 106
Крок 4. Обчислити 5(і) =(У*),У*)) і *(і) = (у(к),х(-к |)) її її /— у(А) У*1 = л/*у(А) х(<:> =,. „ (наближення до нормованого її ||У-||2 власного вектора), Х(А)=-^- (наближення до власного числа А,,). Крок 5. Якщо |Л,<А) — Я,(А_І) | > є, то задати к:-к +1 і повторити крок 3, інакше завершити роботу алгоритму, вважаючи, що \«Х(к) х,«х{к) Зауваження. Цей алгоритм дає змогу швидше, ніж РМ- алгоритм, знайти з потрібною точністю найбільше власне число матриці, проте точність наближеної рівності х,«х{к) для відповідного власного вектора може виявитися недостатньою. 4.4. Метод зворотних ітерацій У деяких практичних задачах виникає потреба в знаходженні мінімального за модулем власного значення і відповідного йому власного вектора. Для розв’язування задачі можна використати модифікацію степеневого методу, ітеруючи вектор оберненою матрицею У*^ = А'1 У*_|) (4.5) Отже, можна обчислювати максимальне власне значення матриці А~1 Його обернене значення дорівнює мінімальному власному значенню матриці А У випадку реалізації цього методу на практиці нема потреби знаходити обернену до А матрицю, оскільки це передбачає велику кількість арифметичних операцій. Тому замість ітерацій за формулою (4.5) на кожному кроці ітераційного процесу можна розв’язувати систему лінійних алгебричних рівнянь Ау(к) =У*-‘) У цьому разі, як і в степеневому методі, на кожному кроці необхідне нормування певного вектора. 107
Метод зворотних ітерацій, як і степеневий, має лінійну збіжність, тому на практиці використовують ті чи інші прийоми, що прискорюють його збіжність. Один із можливих варіантів прискорення збіжності методу зворотних ітерацій відомий під назвою метод Віландта. В цьому методі за вихідною матрицею А будують деяку допоміжну матрицю 5=(Л-ці£') ' з власними числами у^=-—-—-, де (Л*— м-,) цг- наближення до і -го власного значення А,,, матриці А Потім степеневим методом знаходять максимальне власне значення матриці В. Оскільки за доброго початкового наближення ц; значення Хі домінує над іншими власними значеннями, то степеневий метод збігається за декілька ітерацій. Після отримання власного значення Х(к)(к- номер ітерації) матриці В власне значення матриці А знаходять за формулою = (4-6) а у^ є власним вектором, що відповідає цьому власному значенню. У цьому випадку, як і в методі зворотних ітерацій, нема потреби попередньо знаходити обернену матрицю до (А-^Я), а достатньо на кожному кроці степеневого методу розв'язати СЛАР (А-цЕ) =у(к~') (4.7) Обчислювальну схему методу зворотних ітерацій для уточнення /-го власного значення матриці А й обчислення відповідного йому власного вектора можна реалізувати так. 1. Перед початком ітераційного процесу задають наближення ц і А,, , початкове наближення до власного вектора уі, відносну похибку отримуваного власного значення є . 2. Тоді для к = 1,2,... {А-[іЕ')у^ =у^к~х\ у^ = шах|7,. ^|, « (4-8) 108
3. Якщо виявиться, що всі значення У** <0, то за у'*' беруть » мінімальну компоненту Якщо то приймають 1 у«-у(М Х,= ^ + Фї’а Уі"у(к)’: У разі невиконання нерівності ітераційний процес продовжують. Розглянутий нами метод Віландта можна використовувати в різних варіантах. Ним можна уточнювати довільні власні значення матриці або власні значення і відповідні їм власні вектори. Цей метод дає змогу за відомим власним значенням знайти власний вектор, який йому належить. Методом Віландта можна обчислити мінімальне власне значення і відповідний йому вектор матриці А. Для цього попередньо виконують декілька зворотних ітерацій без зсуву; отримавши таким способом початкове наближення до мінімального власного значення, його уточнюють методом Віландта. Перевагами методу є достатньо швидка збіжність, можливість збереження вихідної структури матриці, простота реалізації на комп’ютерах. До недоліків треба зачислити необхідність розв’язування системи лінійних алгебричних рівнянь на кожному кроці процесу. Проте якщо відомий трикутний розклад матриці, то на кожному кроці потрібно виконувати лише зворотний хід. < є ,(*> Приклад 4.5. Нехай задано матрицю А = -2 -1 0 14 10 л -6 -З 2 1 відоме наближення до третього власного значення ц3=0,7 Потрібно уточнити третє власне значення і відповідний власний вектор. Розв'язування. Побудуємо матрицю "32,3 16,0 72,0 {А-\і3Е) = -24,0 -10,7 -57,0 <о 00 1 -4,0 -17,7 109
Виберемо початкове наближення до другого власного вектора (0) Г 1 = "іЛ і, розв’язавши систему лінійних алгебричних рівнянь (Л-ц3ІГ) отримаємо У- .(•!_ -2,06254 1,65652 0,55730 хЮ Виконаємо «(') (2) У - нормування ук ’, поділивши всі його компоненти на максимальну за модулем компоненту у^ = -2,06254 102 Отримаємо ґ 1,00000" -0,80022 ч-0,26723, Далі V*2* =3,90819, розв’яжемо систему рівнянь (А — \ігЕ))№=у® і пронормуємо її розв’язок. Тоді отримаємо ґ 1,00000 Л (6) У ' = -0,79999 -0,26666 . і т. д. У підсумку матимемо V*5* =3,33693, а у(6) =3,33411, у{6) = /"1,00000 -0,79999 -0,26666 Отже, з точністю до трьох десяткових знаків значення у(6) є максимальним власним значенням матриці (Л-ц3і?)_1 Третім власним значенням матриці А є 1 3= Из +-77Т = 0,7 + 0,29992 = 0,99992, у( ) а У6' - наближений власний вектор, що відповідає А.3 Зазначимо, що точними власними значеннями матриці є X, =3, Х2 =2, X, =1. 110
4.5. Зворотні ітерації зі змінними зсувами. ДО?#-алгоритм Практика обчислень засвідчує, що збіжність процесу зворотних ітерацій зі зсувами має велику швидкість (порівняно зі звичайним степеневим методом). Однак ще більшу швидкість збіжності можна отримати введенням змінних зсувів, які визначені деякою послідовністю чисел ао,ст1,02,..., збіжною до шуканого власного числа. За такі числа доцільно використовувати наближення XіР до власного Я,., отримувані за формулою (4.6). Отже, зворотні ітерації зі змінними зсувами можна визначити сукупністю рівностей де к = 1,2,..., а число і нормований вектор задані, (•) - знак усереднення по всіх і, для яких yt Ф 0 . Швидкість збіжності такого процесу - квадратична [11], тоді як у випадку постійних зсувів - лише лінійна, хоча з малими, як звичайно, знаменниками геометричної прогресії. Часто буває достатньо зробити дві-три ітерації, щоб отримати задану власну пару з реально можливою точністю. Однак у першому випадку при кожному к розв’язують СЛАР з однією й тією ж матрицею коефіцієнтів, а в другому - на різних кроках треба розв’язувати цілком різні системи. У методі (4.9) часто не відомо, як підбирати початковий зсув <7 = хіба що треба знайти власне число, найближче до заданого значення, і відповідний йому власний вектор. Швидше збіжною є така модифікація методу (4.9): зворотні ітерації зі співвідношеннями Релея, які застосовують для розв’язування симетричних задач на власні значення. їхня основа - /?0/-алгоритм (Rayleigh quotient iteration) [5,18]. (4.9) 111
/?0/-алгоритм. Крок 0. Задати вектор х(0) такий, що ||д:(0,|| = 1. Крок 1. Для к = 1,2,... 1.1) обчислити рк_, =(^д:(і*|),х(*_1))/(х(*"|),х(*"|)); 1.2)знайти зрівняння (А-рк_1Е)у(і) =х(к~,); а) нормувати у(к), тобто прийняти х(і) = / гк(А) Ь) перевірити р*.,, лг(А) на збіжність. Перейти на крок 1.1 або зупинитися. Після закінчення ітераційного процесу при деякому к = к0 за власну для заданої матриці А беруть пару (р4о_І,*(*о)). Зазначимо, що як критерій припинення роботи алгоритму можна використати умову ЦУ^І > С, де С - достатньо велике число. Зсуви на співвідношення Релея за наявності ортонормованого базису із власних векторів х1,х2,...,хп забезпечують асимптотично кубічну швидкість збіжності послідовності Релея Х(0> ,Х(" ,Х<2>до деякого з векторів цього базису. До якого - залежить від вибору початкового вектора цієї послідовності. Зазначимо, що /?0/-алгоритм потребує доброго початкового наближення. Тому іноді корисно зробити спочатку кілька кроків РМ -алгоритму. "1 2 З' Приклад 4.6. До симетричної матриці А= 252 ,3 2 І застосувати Я?0/-алгоритм, узявши за початковий вектор х<0) =(і,1,і)г та прийнявши С = 105 Розв’язування. Для к = 1. Крок 1.1. Потрібно знайти спочатку добуток матриці А на ґ\ 2 3" Г1! г61 початковий вектор х<0): Ах(0) = 2 5 2 і - 9 ,3 2 к к Далі обчислимо скалярний добуток векторів: 112
(Лхт,х(0)) = ґ М Ґ1Ї \ 9 ? 1 V ,6; к = 21; (У0),х(0)) = ґ Гі] \ 1 ? 1 V Л / = 3. Тоді, маючи необхідні дані, знайдемо р0 = (Ахт, х(0>) / (х(0), х(0) ) = 21/3 = 7 Крок 1.2. Із заданого рівняння (Л-р0£’)У‘) =х(0), тобто з рівняння (-6 2 3 " (уМ гп 2 -2 2 У>0) = 1 2 -6, Уз0) 1 отримаємо вектор у(І) = ' 2 ^ 3,5 ч2у Крок 1.3. Знайдемо х(|) = У1)/||УІ)||. Норму ЦуЧІ шукаємо так: У (і) |=^,'|)2+(л('))і+(лт)!) Тоді = л/4 ч-12,25 + 4 = 4,5 Тепер можемо знайти вектор Г7і(,)/4,5] '0,444444444444" х(,) = У2^ /4,5 - 0,777777777778 ^з<1)/4,5, ,0,444444444444, Крок 1.4. Перевіримо на збіжність: чи виконується нерівність У** >С. Якщо так, то виходимо з алгоритму, інакше переходимо на крок 1.1. Очевидно, И<с Тепер виконаємо цей алгоритм для к = 2. 113
Крок 1.1. Потрібно визначити р, =(^х(1),х(|))/(х(|),х(|)). Знайдемо спочатку добуток матриці А на вектор: хт:Ахт = "і 2 3" "0,444444444444" "3,333333333333" 2 5 2 0,777777777778 = 5,666666666667 ,3 2 к 0,444444444444, чз,333333333333, Далі обчислимо добутки векторів: 3.333333333333 5,666666666667 3.333333333333 ґ0,444444444444" Л 0,777777777778 0,' /у = 7,37037037037037; (х(1),х(|)) = ^ 0,444444444444ЛЛ 0,777777777778 = 1,00000000000000. Тоді, маючи необхідні дані, знайдемо р, =(Ах(І),х0>)/(х0),х0)) = 7,37037037037037 Крок 1.2. З матрично-векторного рівняння [А-ріЕ)ут = лг(1), тобто з системи рівнянь ґ-6,370370370370 2,000000000000 3,000000000000 Л 2,000000000000 -2,370370370370 2,000000000000 , 3,000000000000 2,000000000000 -6,370370370370, ' 0,444444444444 л 0,777777777778 0,4 У2,= 114
знаходимо У2>: У2) = 2,37749999999776' 4,00874999999623 хІО2 2,37749999999776 Крок 1.3. Шукаємо ||У2)|| = 5,232120895243966 хЮ2 Тепер можемо знайти вектор х<2): ґ0,45440463773666^ х(2) = 0,76618069044242 0,45440463773666 Крок 1.4. Перевіримо на збіжність виконанням нерівності У > С. Задана умова не виконується. Продовжимо алгоритм для к = 3. Крок 1.1. Знайдемо р2 = (Лх(2),х<2))/(х(2),х<2)) та добуток матриці А на вектор х<2): "і 2 3" "0,45440463773666" "3,34997993183149^ Ах<2)= 2 5 2 0,76618069044242 = 5,64852200315875 [з 2 К ,0,45440463773666^ ,3,34997993183149, Далі обчислимо добуток векторів (Лх<2),х(2)) = 0,45440463773666 0,76618069044242 0,45440463773666 3.34997993183149 5,64852200315875 3.34997993183149 = 7,37228132305734; (х(2), х(2)) = 1,00000000000000 і знайдемо р2 =(^х(|),х<|))/(х(1),х(|)) = 7,37228132305734. \\ /у 115
Крок 1.2. З рівняння (А - р2Е)у(3) = х<2), тобто з -6,37228132305734 2,00000000000000 3,00000000000000' 2.00000000000000 -2,37228132305734 2,00000000000000 3.00000000000000 2,00000000000000 -6,37228132305734 ґ 0,45440463773666л 0,76618069044242 0,45440463773666 х у(3) = V знайдемо: „(5) _ 2,14669210717966' 3,61962484992548 2,14669210717966 хЮ9 Крок 1.3. Шукаємо ||/3,|| = 4,724220365335739-109 та .(3) . *(3) = 0,45440134904187л 0,76618459132108 0,45440134904187 Крок 1.4. Перевіримо на збіжність. Оскільки ||У3)|| = 4,724220365335739-109 >С, то ітераційний процес завершений. У цьому разі р3 =(у4х<3),х(3))/(х<3),х<3)) = =7,37228132326901. На підставі порівняння цього значення з попереднім р2 бачимо, що в них збігаються десять десяткових знаків. Це свідчить про високу швидкість збіжності розглянутого алгоритму. 116
4.6. Метод поворотів Якобі для знаходження власних пар симетричної матриці Для розв’язування повної проблеми власних значень для симетричних матриць розроблено класичний метод Якобі, який має квадратичну швидкість збіжності. Класичний ітераційний метод поворотів, запропонований Якобі (1846), передбачає побудову послідовності матриць В0(:= А),В[,В2,...,Вк,... за допомогою перетворень типу Вк=Т]Вк_хТц (4.10) такої, що на А:-му кроці перетворюється в нуль максимальний за модулем елемент матриці Вкпопереднього кроку (а отже, і симетричний до нього елемент). На кожному кроці таких перетворень відбуваються перетворення тільки двох рядків (або двох стовпців, що неважливо з огляду на симетрію) матриці попереднього кроку. Хоча, на жаль, не треба сподіватися, що таким способом за скінченну кількість кроків можна точно знайти діагональну матрицю Л, бо отримані на деякому етапі перетворень нульові елементи на наступному етапі стануть ненульовими, проте де А - діагональна матриця, на діагоналі якої стоять власні числа матриці А. У п -вимірному випадку запишемо сукупність формул, які визначають один крок методу поворотів Якобі. Для простоти вважатимемо, що перетворюємо матрицю А в матрицю В згідно з (4.10), хоча насправді на k -му кроці потрібно застосовувати перетворення (4.10) до матриці Вк_х =(^'|))” з ' ' W|/=1 результатом Вк = (&£)" Нехай а - головний елемент перетворюваної матриці А. Матрицю В, подібну до А, формують так. 1. Обчислюють р := 2аи , q := а„ - ам, d := yjp2 +q2 117
2. Якщо <7 Ф 0, то г := —, с := ^0,5 + г , 5 := ^0,5-г -8щп(рд) 2 сі (якщо р«д, то ліпше з:=\р\-$і%п(рд)І(2ссІ), якщо ж <7 = 0, то с = 5 := \рї / 2). 3. Обчислюють нові діагональні елементи Ь„ := с2а„ + 52а,, + 2см,. , ьп ■= 5 Я..+С ам-2с5а(/. 4. Приймають 6,у = Ьр := 0 (або для контролю обчислюють Ьу=Ь,і:=(с2-з2)аІ]+с*(а;;-ап). 5. При т = 1,2,...,п таких, що тФі, тФ у, обчислюють змінювані позадіагональні елементи: ^,-ж = Ьт1 := ся . + ., іт ті ті /гу ~ Ъ ■ — Ьт; ~5<Лт; + СС1ті. Jm щ ті щ 6. Для решти пар індексів т,1 приймають Ьт1 '.= атІ. Звичайно, у реальних обчисленнях, якщо це вважати основою алгоритму, не все записане тут треба виконувати, зокрема, останні переприсвоювання. Такрж потрібно враховувати симетрію отримуваної матриці В. Зазначимо, що найбільші вимоги до точності в описуваному методі ставлять саме на стадії обчислення с і 5, оскільки тут можливі найбільші втрати точності, а спотворення с і 5 порушує ортогональність матриць Ту Це веде до неусувних похибок (метод поворотів, ітераційний за формою, не є ітераційним за суттю: йому невластиве самовиправлення методів послідовних наближень). Приклад 4.7. Методом поворотів Якобі розв’язати задачу Ґ1 2 Зл знаходження усіх власних пар матриці А = 2 5 2 3 2 1 118
Розв’язування. Для заданої симетричної матриці А ми поетапно застосовуємо алгоритм, що переводить її в матрицю В, яка подібна до А і має меншу суму квадратів позадіагональних елементів. У цьому разі ключовий позадіагональний елемент а братимемо у піддіагональній частині матриці А (можна і навпаки, у цьому разі принципово нічого не зміниться) і припускатимемо, що всі обчислення будемо проводити точно (тобто розглядаємо ідеальний процес). Перший етап. Виберемо ключовий елемент аЗІ (максимальний у зазначеній частині матриці) і зафіксуємо індекси / = 3, у = 1. Знайдемо р = 2аЗІ = 6; д = а33 -аи =1-1 = 0 1 Далі знайдемо елементи нової матриці Ь33 = с2а33 + 82аи +2сзазх =^*1 + -^--1 + 2^-*3 = 4; 1 Ь}, =5 а., + с ах,- 2сб а,, = — • 1 ч 1-2—• 3 = -2 11 33 п 31 2 2 2 і при т- 2 Ь32 = Ь23 = ш23 + за21 = —|=(2 + 2) = 2\І2; л/2 6,2 = й21 = -£#23 + Ш21 = “^(“2 + 2) = 0 . Отже, Асо В = ґ-2 0 0 л 0 5 2у[2 0 2^/2 4 Другий етап. Отриману на попередньому етапі матрицю В вважатимемо матрицею А, тобто будемо обчислювати за тими ж формулами, прийнявши А := В Ключовий елемент тут а32 = 2\І2 , 119
тобто і-З, 7 = 2. Згідно з алгоритмом, р = 2аг2 = 4%/2; <7 = я33-а22 = 4 — 5 = —1 (зазначимо, що />•#<()), <і = УІР2+Я2 =Л/32 + 1=Л/33, г = М = —1=; v 2</ 2^/33 к/зз+і С-'^77-'10-5*2}її ~І2^/33 ' , = 5,Є„(Р = -^0,5-^ = . Знаючи числа с і 5, які визначають перетворення повороту, обчислимо 2 2 „ л/ЗЗ+1 „ Ь33 =с а33+я а„ + 2С8а„ = 7=^ • 4 + 2л/зЗ 2733 Іл/ЗЗ +11 / Ш-і | \ 2733 V У “1 V V 2л/зЗ ^ •272*1,6277; 2 2 „ л/ЗЗ-1 , Ь22 =5 <з33 + с я22 — 2сза31 • 4 + 2733 + #Ь>.5-2- 2л/33 і далі при т = 1 маємо Іл/ЗЗ + 11 /л/ЗЗ-1 | V 2л/зЗ V У V 2л/33 V У •2л/2* 7,3723 К/ЗЗ+1 І 2^/33 0 + /л/зз-і І 2л/зЗ 0 = 0; . _ І'/**-1 л . № + 1 п_л 12 21 5а“+с^' ^ 2>/зЗ V 2л/зЗ Отже, уже після другого етапу отримано діагональну матрицю Я = '-2 0 0 Л 0 7,3723 0 0 0 1,6277 120
подібну до початкової матриці А, з огляду на це можна стверджувати, що власними значеннями матриці А є числа *,=-2; А., =7,3723; X, =1,6277 Щоб знайти відповідні їм власні вектори, випишемо матрицю плоских поворотів першого і другого етапів (відповідно до їхньої структури): ( 1 0 1 Гс(|) 0 5(,)> 41 т = ■•зі 0 1 0 = 0 1 0 ; ,-5(1) 0 і V ^2 0 1 >/2, 7і(2) _ гр у 32 1 0 0 0 с(2) 5(2) 0 -5(2) с(2) /л/зз +1 _ N33-1 ' 2л/33 V 2^33 N33-1 N33 + 1 ' 2л/зЗ V 2л/зЗ їхній добуток, тобто матриця 2733 0,4544 0,5418Л 0,7662 -0,6426 -0,7071 0,4544 0,5418 згідно з теоретичними твердженнями, має стовпцями власні вектори матриці А. 121
Легко перевірити за означенням, що її стовпці у природному порядку, тобто вектори утворюють Хз =1,6277, г 0.707Г "0,4544" " 0,5418" де, = 0 и 0,7662 , х2 -0,6426 ,-0,7071, ,0,4544, , 0,5418, власні пари з відповідно. числами А,, =-2, Х2 = 7,3723, 4.7. X{/-алгоритм для несиметричних задач Часто (принаймні в несиметричному випадку) алгоритми наближеного розв’язування повних проблем власних значень ґрунтуються на зведенні заданих матриць до подібних їм матриць не діагонального, а трикутного вигляду. Найпростіший з таких алгоритмів обчислення власних чисел ґрунтується на добре відомому ЬІІ -розкладі матриць. Нехай задано (ихп) -матрицю А у вигляді А = Ш, де Ь і V - відповідно, нижня і верхня трикутні матриці. Позначимо Ах = ІІЬ (нагадаємо, що добуток матриць не комутативний), тоді V = Л,/г' Підставимо цей вираз матриці II в рівняння А = Ьи отримаємо нове зображення А: А = ЬА£Х (4.11) яке свідчить про подібність матриць А і А,, тобто рівність їхніх власних чисел ХА і А^ Якщо матрицк? А, можна, як і А, записати у вигляді добутку нижньої Ц і верхньої С/, трикутних, тобто А, = ЦІІІ, то, прийнявши ^2 = ихЬх і визначивши звідси их = А2Ц~1 аналогічно до попереднього отримаємо 4 =1,4 Vі (4-12) Відповідно, А, подібна до А^ і, отже, ХА = . Суперпозиція цих двох перетворень, тобто підстановка (4.12) в (4.11), дає А через А1\ 122
А = ЬЦАгЦ'Г' = ЬЦА^ЦЬУ', звідки випливає рівність власних чисел ХА і ХЛі. Такий процес побудови теоретично нескінченної послідовності подібних матриць і є основою Ш (інакше ЬЯ )-алгоритму. Він визначений фактично двома формулами: \ А+1 = ^к^к-> (4-13) де А0 = А, к = 0,1,2,..., причому перша з цих формул означає процедуру трикутної факторизації матриці Ак на к-му кроці, а друга - просте множення верхньої трикутної матриці на нижню. Приклад 4.8. Розглянемо, як поводиться Ы1 -алгоритм (4.13), застосований для знаходження власних чисел матриці А = Ґ1 5Л 4 2 Розв’язування. Виконаємо Ш -розклад за формулами у'-і і /-і 1Ч = °ч -ии =-г(ау-'ЕІ1ікик]) (і < А отримаємо к=1 Іц к=1 (1 0 ^ (1 51 1 о 1 Счі А = Ьоио = . А. := ипЬп = І4 -М) Ь 1 0 0 V 4 -18; 4=цих = 21 0 4 -0,8571 1 -4,2857' 0 1 ЗВІДКИ Після факторизації цієї матриці аналогічно до попередньої маємо 3,8571 3,6734 4 -0,8571 Наступний крок дає А^ = Ь21/2 = далі 3,8571 0 4 -4,6667 1 0,9524' 0 1 А3 := игЬ2 = Ґ1,6661 -4,4445л 4 -4,6667 / 123
А3 = Ь3ІІ3 = 7,6667 О Л/1 -0,5797л А^ • -2,3478 /5,3478 1,3611 л 4 -2,3478 4=ад = 5,3478 О V1 0,2545"\ -3,3659 О := 1/414 = 6,3659 -0,8566' 4 -3,3659 Якщо в тому ж прикладі фіксувати одиничну діагональ у матриць Ьк, то процес (4.13), для якого використовують формули і-і І У-і ии=ач-Ц1*ич при 1 - і’ ПРИ к=1 розвиватиметься так: А$ .= А = Ь000 = к=1 "і 0" (\ 5 1 "21 5 " ; А :=00ї0 = ,4 1, 00 ' 1 ,-72 -18, 1 0 -3,4286 1 21 5 0 -0,8571 3,8571 5 2,9388 -0,8571 1 0 0,7619 1 3,8571 5 0 -4,6667 Аз 2 2 — ' 7,6667 5 Л -3,5556 —4,6667 124
Аз - 1гиг = 1 О -0,4638 1 7,6667 5 л 0 -2,3478 /5,3478_ 5 1,0888 -2,3478 V і о 0,2036 і 5,3478 5 л 0 -3,3659 А,:=илЬл 6,3659 5 -0,6853 -3,3659 Діагоналі матриць Ак і Ак , які несуть наближення до власних чисел А, за одних і тих же значень к повністю збігаються. Приклад 4.9. Розглянемо, як поводиться ЫУ -алгоритм (4.13), застосований для знаходження власних чисел матриці А = (12 3' 4 2 1 5 2 2 Розв’язування. Виконаємо Ш -розклад за формулами У-1 і і-1 Іи=ау- - (г‘ - •/>» "V = 7^ - Е7*“#) ’ < ■/)> отримаємо *=1 *// А=1 "1 0 0 ї (1 2 3 " Ац — А — Ьоио — 4 -6 0 0 1 1,8333 ОО 1 1,6666, 10 0 1 , 24 -36 5 Л 13,1666 -20,6667 3,0555 5 -8 1,6667 125
Після факторизації цієї матриці аналогічно до попередньої маємо ґ 24 0 0 " (\ -1,5 0,26" 13,1667 -0,9167 0 • 0 1 -о,з , 5 -0,5 0,4545, ,0 0 1 ) звідки А=иА = Наступний крок дає '5,2917 1,2708 0,0947Л 11,4621 -0,5757 4,7004 -0,5 0,4545 "5,2917 0 о 'І (\ 0,2401 0,0179" — ^2^/2 — 11,4621 -3,3285 0 0 1 4,4953 , 5 -1,7008 8,0106 ) ,0 0 1 , А3 =и2Ь2 = 8,1338 -0,8119 0,1433Л 33,9419 -10,9740 36,0101 5 -1,7008 8,0106 Для отримання остаточного результату обчислимо матрицю А на 10- і 20-му кроках, за допомогою відповідної програми. Отримаємо такий результат: Ао ~ V ^20 — 7,1741 0,0007 0 Л 11.9051 -2,6917 0 5 -1,2989 0,5176, Л 7,1751 0 0 11.9051 -2,6927 0 5 -1,2989 0,5176 Якщо в тому ж прикладі фіксувати одиничну діагональ у матриць Ьк, то процес (4.13), для якого використовують формули 126
і-і ] у-1 иц=ац-Ц1яи* (ій1У’ Іи =—(ав-'Е1*ич')’ (І<Л’ к=1 иіі к=1 буде розвиватися так: 1 0 0" (і 2 3 " А> — А — ІД 4 1 0 0 -6 -11 ,5 1,3333 К ,0 0 1,6667, " 24 5,9999 3 " А =й0ь0 = -79 -20,6667 -11 ,8,3331 2,2223 1,6667, ( і 0 0" "24 5,9999 3 " ІД = -3,2917 1 0 0 0,9167 -1,1249 , 0,3472 0,1515 і; 1° 0 0,7955, 4=ї/Л = 5,2416 6,0454 З -3,408 0,7462 -1,125 0,2762 0,1515 0,7955 ґ 1 0 0" "5,2416 6,0454 3 " А2 — 2 — -0,6512 1 0 0 4,6768 0,8255 , 0,0527 -0,0357 К о 0 0,6669, А3 — 2^2 — 8,1338 -3,0455 0,0351 5,9383 3 " -10,9740 0,8255 -0,0238 8,0106 Для отримання остаточного результату обчислимо матрицю А на 10- і 20-му кроках за допомогою відповідної програми. Отримаємо такий результат: 127
'7,1741 5,7208 3 л До = 0,0016 -2,6917 -2,1108 ; V 0 0 0,5176, "7,1751 5,7208 3 " А о 0 -2,6927 -2,1112 . , о 0 0,5176 у Як бачимо, діагоналі матриць Ак і Ак, які становлять наближення до власних чисел матриці А, за одних і тих же значень к збігаються, а відносна швидкість спадання модулів наддіагональних елементів Ак і піддіагональних елементів Ак приблизно однакова. 4.8. €ДО-алгоритм з використанням перетворень Хаусхолдера Ідейно близьким до описаного Ш -алгоритму є ОЯ -алгоритм (В. Н. Кублановська, 1961; Дж. Френсіс, 1962). При к = 0,1,2,..., починаючи з А0:=А, тут будують послідовність матриць Ак за формулами А ?0Л. А+,=ад. (4-14) перша з яких означає розклад матриці Ак в добуток ортогональної Оь і правої трикутної Як (такий розклад існує для довільної квадратної матриці), а друга - перемноження отриманих унаслідок факторизації Ак матриць Qk і Як у зворотному порядку. Аналогічно до параграфа 4.7, на підставі властивості ортогональних матриць 0,к =Qk', відповідно до (4.14), матрицю А можна записати у вигляді л=аа-а-1аА+,ага-1г-е,гаг або А = (0ь0\--0.к-\0.к)Ак+\ (QoQl■■■Qk-iQk) 128
Це означає, що кожна з матриць послідовності Ак ортогонально подібна до матриці А. Якщо матриця А не має однакових за модулем власних значень, то за певних обмежень утворена процесом (4.14) послідовність матриць {Ак} збігається до матриці правої трикутної форми з діагоналлю із власних чисел. Швидкість занулення піддіагональних частин матриць Ак лінійна і залежить, як і в ІМ багатьох інших методах, від співвідношення —— при / > J І *7 І (уважаємо | А,, |>| Х21>... >| Хп |). У випадку наявності комплексно-спряжених пар власних чисел у заданої дійсної матриці А граничною матрицею для Ак буде матриця квазітрикутного (блоково-трикутного) вигляду. Кожній комплексній парі власних чисел у такій матриці відповідатиме діагональний 2x2-блок, причому збіжність тут простежується за формою матриці, а не поелементно (тобто елементи всередині цих блоків можуть змінюватися без помітної залежності від к зі збереженням незмінними їхніх власних чисел). Як звичайно, ()К -алгоритм (4.14) застосовують не до вихідної матриці А, а до подібної їй правої майже трикутної матриці В, яку називають матрицею Хессенберга: А. Ь\ 2 Кп-1 Кп) Ь21 Ь22 ^2,/1-1 Кп 0 К 0 К-Уп 0 0 Ь і п,п—1 Кп ; В основі перетворення А до вигляду В (де Ьи = 0 при j<і-1) є перетворення Хаусхолдера, або перетворення відбиття, виконуване за допомогою матриці відбиття (Хаусхолдера) Н = Е-2wwT, де w - довільний вектор-стовпець, але такий, що його евклідова норма дорівнює одиниці. Як відомо, матриця відбиття ортогональна, тому матриці А і В, пов’язані співвідношенням В = НАН (= НАНТ = НАН~1), є подібними. 129
У разі побудови матриць відбиття елементи векторів вибирають так, щоб за скінченну кількість кроків перетворень Хаусхолдера довільну задану матрицю А звести до форми Хессенберга В. Справді, за початкованим (з В{ = А) процесом вт+\=нтвтнт> т = 1,2,...,п-2, де Нт =Е-2м>тм;тТ т т т задана пхп-матриця А за п-2 кроки буде зведена до вигляду В, тобто В := Вп І подібна до А, якщо вектори м>т, які задають матриці Хаусхолдера Нт, за заданою матрицею А будувати так [14]. При т = 1 вектор м>, визначений рівністю ™\Т ~ М-1 (0, «21 -5І>Язі>->а„,і) де 5, = зі§п(-а2|)ДХ.2 Иі = и ,Х ' Ч • V -=2 V2Фі~а2[) Таке задання и>, забезпечує ортогональність симетричної матриці НХ=Е-2ч>хм>* й одночасне отримання за її допомогою потрібних п-2 нулів у першому стовпці матриці я2=я,ед (=нханх ). Вектор м>2 за матрицею В2 будують аналогічно, тільки фіксують нульовими не одну, а дві перші його координати. Визначальну роль тут відіграють не перший, а другий стовпець матриці В2 і його третій елемент. У цьому разі в матриці В} = Н2В2Н2 виявляються п - 3 нульові елементи у другому стовпці і зберігаються отримані на попередньому кроці нулі в першому стовпці. Цей процес аналогічно можна продовжити до вичерпання матриці. Зазначимо, що для симетричних матриць цей процес приводить до тридіагональної матриці. 130
Розглянемо на прикладі, як матрицю зводять до форми Хессенберга, коли для цього потрібний лише один крок перетворень Хаусхолдера. П р и к л а д 4.10. Задано матрицю А = 4 2 1 2 1-2. Знайти 5 1 -1 \ / матрицю В, подібну до матриці А, яка має форму Хессенберга. Розв’язування. Шукану матрицю знайдемо за такими формулами для п - З 1 72ф-а21) Маємо у/ = ц(0;а21 -5;а31); Н = Е-2уі\/ В = НАН я = -74 + 25 =-729; уі-2уі29(-уі29-2) >/58 + 4729 ’ 29 + 2729 2 + 729 (0, 2 + 729, 5) = (2 + 729) 10 + 5729 29 + 2729 29 + 2729 10 + 5729 25 29 + 2729 29 + 2729. 131
ґ \ ґ \ 1 0 0 4 2 1 н = 0 2 л/29 5 л/29 ; НА = -л/29 7 л/29 9 л/29 0 V 5 л/29 2 729 ; 0 V 3 л/29 8 729 і В = НАН = /1 9 8 1 4 л/29 л/29 / л/29 31 29 53 29 Ж 0 34 31 V 29 29 , 4 -1,67 -1,48л -5,37 -1,06 1,81 0 -1,16 -1,06у Ми знайшли матрицю В, подібну до матриці А, яка має форму Хессенберга. '4 2 1 Л Приклад 4.11. Задано матрицю А ■■ . Знайти 2 1 -2 ч1 -2 -1у матрицю В, подібну до матриці А, яка має тридіагональну форму. Розв’язування. Аналогічно до попереднього прикладу знайдемо 1 1 5 + 2л/5 2 + л/5 1 (0, 2 + Д і) = л/і0 + 4л/5 ’ 0 0 (2 + л/5)2 2 + л/5 5 + 2л/5 5 + 2л/5 2 + л/5 1 5 + 2л/5 5 + 2л/5 132
н = 1 о - о - 0 0 ґ 2 1 ; НА = >/5 "V? 1 2 V \Г5 л/5 , 4 2 1 —л/5 0 >/5 О -л/5 О ґ 4 -41 о" ' 4 -2,2361 0" в = -41 -і 2 * -2,2361 -1 2 0 \ 2 1 / , о 2 к Ми знайшли матрицю 2?, подібну до матриці А, яка має тридіагональну форму. Для обчислення власних значень симетричної матриці А теж використовують метод Хаусхолдера. Цю задачу розв’язують у два етапи: спочатку вихідну матрицю зводять до тридіагонального вигляду; після цього знаходять власні значення симетричної тридіагональної матриці. Якщо г - власний вектор тридіа- гональної матриці Ап_І, то - власний вектор мат¬ риці А. Для виконання відображення елементи матриці £ не обов’язково записувати в явному вигляді, оскільки матриця повністю визначена вектором и\ Метод Хаусхолдера для 2 реалізації потребує — п3 операцій множення і п-2 знаходження З квадратного кореня. Обчислена за методом Хаусхолдера тридіагональна матриця А„_, ортогонально подібна до матриці А + с/ А , де ІМІІ^ Кп2 2 11|4 ; К - константа, яка залежить від способу заокруглення; / - кількість двійкових знаків мантиси числа. Якщо матриця має кратні корені, то тридіагональна матриця має у випадку точних обчислень нульові недіагональні елементи. Водночас наявність нульового недіагонального елемента в тридіагональній матриці не є свідченням того, що матриця має кратні корені. 133
4.9. СДО-алгоритм з використанням плоских поворотів Гівенса Часто на другому етапі - зведенні матриці Хессенберга до верхньої трикутної матриці - застосовують інше перетворення, а саме: перетворення плоских поворотів Гівенса. Матриця яка визначає ці перетворення, у разі фіксованих індексів і, у головного елемента перетворюваної матриці має таку ж структуру, як і матриця плоских поворотів Якобі Ту Однак тут двовимірну підматрицю з елементів, які стоять на перетині і-і / -х рядків та стовпців, візьмемо у вигляді [5] Як і раніше, числа 5 і с пов’язані співвідношенням 52 +с2 =1 (це дає змогу інтерпретувати їх як синус та косинус деякого кута 0, що забезпечує ортонормованість матриць (5^). Перший повний крок перетворення Гівенса, застосованого до матриці Хессенберга В п -го порядку, за ОЯ -алгоритмом А =0-к^кі 1 = ^кО-к (4-15) складається з п -1 елементарних підкроків, кожен з яких занулює піддіагональні елементи в стовпцях від першого до и-1-го. У підсумку одержимо розклад матриці В в добуток ортогональної і трикутної, що потрібно за першою формулою (4.7) при к = \,А,:=В. Оскільки в кожному стовпці матриці Хессенберга треба занулювати тільки один елемент, то в цьому випадку матриці поворотів Гівенса можна позначати тільки одним індексом Є,. Приймемо с — сов 0 і 5 = віл0 такими, що 1§0 = —, матимемо К ^, СОБ0 = 8ІП0, тобто -сЬи +я621 =0. Тому результат першого проміжного кроку - матриця Вх = ОхВ, отримана за таких я і с, - не міститиме ненульових елементів під діагоналлю в першому стовпці. 134
Другий проміжний крок роблять аналогічно. Матрицю В2 = Є2ВІ отримують з попередньої 5, за допомогою матриці Гівенса Сг2, яка зсувається на одну відрізняється від тим, що матриця ' -с 5 позицію вздовж діагоналі, а кут повороту відбирають так, щоб у матриці В2 занулити елемент Якщо процес перетворень Гівенса продовжити, то в підсумку отримаємо праву трикутну матрицю Вп_х =СИ_,СИ_2...С,5. Цю рівність можна переписати у вигляді (0п^0п_2...0,)~хВп^ =В, який дає змогу вважати виконаним необхідний у (4.15) розклад В = (2^ , де Є, ^(С_1С/и_2...С72(71)"1 =01тв2т...0п_2вп_хт - ортогональна, а /?, := Вп Х - права трикутна матриці. У цьому разі матриця А2=іі&=(Сп_,.М])В(Сп_]...ОіУ1 яка є підсумком першого повного кроку ()Я -алгоритму (застосованого до матриці В), зберігає не тільки спектр заданої матриці, а й форму Хессенберга, завдяки чому зведення вихідної матриці А до майже трикутного вигляду В достатньо виконати тільки один раз. Скалярні параметри с.= соз0/ і = віп0; матриць Гівенса , за допомогою яких виконують перехід від матриці Хессенберга В - (6,;)"/=| через матриці Хессенберга В] =(^т(/,)”т=| до матриці Хессенберга Аї, можна обчислити на у-му проміжному кроці О* = 1,2 « — 1) за формулами с,=—=Ц- =>ус,, (4.16) ' і' Ьи~У) де ^ - л(._х) (= tg 0;), 6|0):=^. (якщо знаменник у виразі Ьи~ иі+1,7 дорівнює нулю або за модулем менший від деякого суттєво малого порогового значення, то можна вважати с] =0, = 1, тобто Оі:=Е). 135
П р и к л а д 4.12. Перетвореннями Гівенса виконати два кроки -алгоритму для матриці В = 4 -л/29 9 8 л/29 л/29 31 53 29 29 34 31 29 29 отриманої внаслідок перетворень Хаусхолдера з матриці А = ^4 2 1 ^ 2 1 -2 .5 1 -1 , V / (див. приклад 4.10). Розв’язування. Для розв’язування цієї задачі використаємо формули (4.16). При j = 1 поступово знайдемо с = л/29’ 1 л/29 5. =- 1+16 >/45 ’ + 29 4 л/29 л/29 л/45 745’ = л/45 л/45 л/29 4 V 0 л/45 745 0 0 1 V -0,596285 0,802773 0 -0,802773 -0,596285 0 0 0 1 Л у У 136
Вх = (?,£ = 4 729 л/45 745 729 4 О V 745 745 О 0 1 ( 45 4 -729 У 9 8 729 729 31 53 29 29 34 31 29 29 85 Л У 745 745-29 745-29 0 385 20 29-745 29-745 31 V о -Н 29 При у = 2 (заокруглюючи до 10 6) 385 ґ -іпЛ ^45-29 29 34 385 385 34-745 228,0789 1 1 = -1,688012; с, =- 1+ - 385 \2 34-745. 1 + 148225 1 1 1 + 148225 1,961985 52020 1156-45 = 0,509687; 52 = -1,688012 • 0,509687 = -0,860358. Отже, отримаємо таку матрицю: Є2 = \ 1 0 0 0 -0,860358 0,509687 0 -0,509687 -0,860358 V У 137
Далі / К\ = В2 = ■ В\ = 1 О О О -0,860358 0,509687 О -0,509687 -0,860358 V У ^-6,708204 0,138409 2,352961^ ^-6,708204 0,138409 2,352961 ^ 0 1,979049 0,102808 = 0 -2,300255 0,456385 , о -1,172414 1,068965, 0 0 \ -0,972092 Одержимо а =(%(%= ^-0,596285 -0,802773 0^ 0,802773 -0,596285 0 0 0 1 V у г 1 0 о 1 ^-0,596285 0,690672 0,409163 ^ 0 -0,860358 -0,509687 = 0,802773 0,513018 0,303919 0 0,509687 -0,860358 0 0,509687 -0,860358 \ У А=т -6,708204 0,138409 2,352961 0 -2,300255 0,456385 0 0 -0,972092 X У X -0,596285 0,690672 0,409163 4,111112 -3,362889 4727073 0,802773 0,513018 0,303919 = -1,846583 -0,947459 -1,091745 0 0,509687 -0,860358 0 -0,495463 0,836347 У V У Перейдемо на наступний крок QR -алгоритму, беручи за матрицю В отриману матрицю . При у = 1 поступово знайдемо 138
/,—2,226335; с, =0,4097344; 5,-0,912204; = ^-0,912204 0,409734 0Л -0,409734 -0,9122048 0 V 0 0 1 Я, = Є,Я = '-4,506785 2,679443 3,864733л -0,000000 2,242174 2,932744 ч-0,000000 -0,495464 0,836350у При у = 2 /2 = ^,525395; с2 =0,215769; 5, =-0,976444. Отже, отримаємо таку матрицю: Є2 = Далі Ґ1 0 0 "і 0 -0,976444 0,215769 0 -0,215769 0,976444 —4,506785 2,679443 3,864733' 0,000000 -2,296264 -2,683202 0,000000 -0,000000 -1,449447 Остаточно (-1,449447 0,400082 0,088408 ' 0,409734 0,890717 0,196826 0 0,215769 -0,976444 А = Я,б, = ' 5,208971 -0,940858 ч-0,000000 1,417432 -2,624276 -0,312747 -3,644749" 2,168032 1,415304 , 139
Отже, ми за допомогою перетворень Гівенса зробили два кроки ОЯ -алгоритму для матриці, отриманої внаслідок перетворень Хаусхолдера, і одержали матрицю А^. Вона має ті ж власні значення, що й В і А, зберігає форму Хессенберга, і модулі її піддіагональних елементів менші, ніж у матриці В, однак вона ближча до подібної В матриці трикутного вигляду, на діагоналі якої повинні бути власні числа заданої матриці (X, =5,00000000000000; Х2 * -2,30277563773199; Х3 *1,30277563773199). 4.10. Метод Ланцоша зведення симетричної матриці до тридіагонального вигляду Метод Ланцоша - це алгоритм зведення симетричної матриці А до тридіагональної матриці Т. Основою алгоритму є рекурентне співвідношення = У = 1,2,...,Я, <7о=0- (4-17) Це співвідношення випливає з такої матричної рівності: 0„Тп = А(2„, де 2„ = {д|,92,".,9П} - ортогональна матриця; Тп - тридіагональна матриця а, р, 0 0 0 еа а2 р2 0 0 0 Р2 а3 0 0 0 0 0 а«-і р„-, 0 0 0 Ря-1 Якщо Тп нерозкладна (тридіагональну матрицю називають нерозкладною, якщо всі Ру^0), то, не обмежуючи загальності, 140
можна вважати, що р, >0 Тоді співвідношення (4.17) дає змогу записати алгоритм побудови матриці Г„ за матрицею А Задамо початковий вектор ||£,|| = 1, потім для j-1,2,...,п повторимо таке: 1) = AqJ; 2) =(^.,^у); 3) г} = и. - ц]а) - ; <70 = 0; 4) рНЬ|; 5) = г, /ру • Після виконання п кроків такого алгоритму в точній арифметиці отримаємо тридіагональну матрицю Тп, ортогонально подібну до вихідної матриці А . Отже, задача знаходження власних значень симетричної матриці зводиться до знаходження власних значень тридіагональної матриці. Припинення процесу може відбутися, якщо ру=0. Це трапиться в тому випадку, коли вектор qj ортогональний принаймні до одного власного вектора А . Якщо Р; = 0, то за qj+^ можна прийняти будь-який одиничний вектор, ортогональний до попередніх векторів qj, і продовжити процес. П р и к л а д 4.13. Методом Ланцоша звести до тридіагональ- (\ 2 Зл ного вигляду матрицю А = 2 5 2 3 2 1 Розв’язування. За початковий вектор ql приймемо одиничний ; а, = 1. ЗІ За відповідною формулою знайдемо гх: гп ГП вектор q^ = 0 . Обчислимо м, = Aql = 2 ,0, ,3, 141
гп ҐП п = 2 - 0 = 2 ,з, ,0, ,з, ; Р,=7479 = 713 / Аналогічно, як на попередньому кроці, визначимо д2,и2,а2,г2, Р21 Яг = \ ' 13 " 0 Тїз 2 і ^2 іб Тїз 7Гз 3 7 ІТЇз] І7Ш 32 21 а, =—р= + 53 Тїз Тїз Тїз ’ 131 ( \ / \ Тїз 0 "Тїз" 0 Ґ іб 106 ібТїз-юб Тїз 13 0 0 V У 13 7 159 7ТІЗ-159 V ІТЇЗу 1 із ) 1 із ) о Л -3,72 -10,29 р2 »713,8384 + 105,8841 =7119,7225 «10,94. На третьому кроці обчислимо д3,м3,а3: ; а3= 1,2172 + 1,5228 *2,74. ґ 0 " ґ -3,5 " Яз ~ -0,34 ; щ = -3,58 ,-1.62, Отже, отримано таку тридіагональну матрицю: ' 1 Тїз 0 ' ( 1 3,6 о 1 Т = Тїз 53 Тїз 10,94 3,6 14,72 10,94 ,0 10,94 2,74 . 0 V 10.94 2,74 } 9 У Однак у разі реалізації розглянутого алгоритму на практиці для великих А строга ортогональність векторів Яі, зазвичай, втрачається. Головною причиною цього є скінченна розрядність комп’ютерів, що призводить до похибок заокруглень. У цьому 142
випадку можна використати метод Ланцоша з дуже точною переортогоналізацією. Однак така процедура досить трудомістка. 4.11. Метод бісекцій Для обчислення власних значень тридіагональних матриць розроблено досить ефективний метод бісекцій (половинного поділу). Його також можна вважати одним зі способів локалізації власних чисел. Розглянемо цей метод детальніше. Нехай задано тридіагональну матрицю «1 ь2 0 0 0 0 ь2 а2 Ьз 0 0 0 0 0 0 V. ап-1 к 0 0 0 0 к ап V Не зменшуючи загальності, можна припустити, що жоден з елементів Ь, не дорівнює нулю. Справді, нехай для деякого q елемент Ья= 0. Тоді можна розглядати тридіагональні матриці: А, порядку д -1 і А2 порядку п - д + 1, для них А = 0 0 А ‘2 У Власні значення матриць А, і Аг є власними значеннями матриці А. Якщо V - власний вектор матриці А{, то відповідний власний вектор матриці А буде (уг,0,...,0)г Можна довести, що в симетричній тридіагональній матриці, яка не має ненульових недіагональних елементів, усі власні значення різні. Якщо симетрична матриця має кратну кількість власних значень, то тридіагональна матриця, побудована з неї методом Хаусхолдера, матиме декілька близьких до нуля недіагональних елементів. Тому метод бісекцій можна розглядати для симетричних тридіагональних матриць з ненульовими недіагональними елементами. 143
Метод половинного поділу ґрунтується на властивості послідовності Штурма. Якщо інтервал (Д,,50), на якому шукають власне значення, невідомий, то прийнятними для А0 і В0 є значення ± ||л||и Оскільки матриця має тридіагональний вигляд,то цю норму легко знайти: ІИІ = тах {І6, | + к І +1ьм 1}; Ь, = Ьк+1 = 0. Схема обчислення методу половинного поділу для визначення £-го власного значення може бути організована так. Перед обчисленням задають значення А0, В0 і є - умова закінчення ітераційного процесу. Потім ділять інтервал (г- номер ітерації, г = 1,2,...) навпіл. Точка СГ=^[АГ_Х+Вг_х) є його серединою. Обчислюють послідовність рй{Сг), рх(Сг),...,р„(Сг) за правилом Ро (С,)= 11 Р\ (Сг) = я, — Сг, РЛСг) = (ак-Сг)-рк^-Ьк рк_г\ 2 <к<п, і визначають кількість збігів знаків д(Сг) Якщо 5(СГ) > к , то вважають, що АГ=СГ,ВГ= Вг, а у випадку \(СГ) < к уважають, що АГ = АГ_Х, ВГ=СГ. Тепер є(Аг,Вг). Цей процес повторюють доти, доки не буде виконана умова У разі виконання цієї умови значення Сг+, приймають за наближене значення Хк. На кожному кроці методу бісекцій необхідно 2п операцій множення і 2п операцій віднімання. Опишемо застосування цього методу на прикладах. Приклад 4.14. Нехай потрібно знайти третє власне значення матриці 144
2 -1 0 0 -1 2 -1 0 0 -1 2 -1 0 0 -1 2 методом половинного поділу. Розв'язування. Оскільки інтервал, у якому є третє власне значення, невідомий, то визначимо 11^=4 і власні значення будемо шукати в інтервалі (-4,4). Справді, підставивши значення -4 в послідовність Штурма, отримаємо р0(-4) = 1; дИ = 6; р2(~4) = 35; р3(-4) = 204; Л(-4) = 1184. Отже, кількість збігів знака $(-4) = 4. Це означає, що всі чотири власні значення матриці А більші, ніж -4. Підставимо тепер у послідовність Штурма число 4, отримаємо Л>(4) = 1, Р\ (4) = -2, р2 (4) = 3, р3(4) = -4, р4(4) = 5. Кількість збігів знаків 5(4) = 0 , і всі власні значення матриці А не більші від чотирьох. Тоді ділимо інтервал (-4, 4) навпіл, отримаємо С] = ~( 4 + 4) = 0 і побудуємо послідовність Штурма для цього значення С,: д,(0) = 1; р,(0) = 2; р2(0) = 3; Л(0) = 4. Оскільки маємо три збіги знаків, то подальші обчислення значень поліномів можна не виконувати. Отже, 5(0) > 3 означає, що к3 є (0,4). Далі маємо С2=І( 0 + 4) = 2, Р0(2) = 1; м2) = -0; Р2(2) = -1; Рі(2) = +0; Рл{2) = 1. 145
Знак нуля в рх(2) беруть протилежний до знака р0(2), а знак р3(2) - протилежний до знака р2(2). У побудованій послідовності Штурма 5(2) = 2<3 Це означає А,3є(0,2). Тоді ділимо (0,2) навпіл: С3=±(0 + 2) = 1; р0(1) = 1; р,(1) = 1; р2(1) = -0; Л(1) = -1; А(1) = -Ь У розглянутій послідовності Штурма 5(1) = 3 означає А,3є(1,2) і т. д. Продовживши цей процес, отримаємо Х3 «1,382, що добре узгоджується з істинним значенням Х3 =1,381966.... Приклад 4.15. Знайти друге власне число матриці А методом бісекцій, якщо Л = (\ 2 0' 2 3 2 0 2 1 Розв’язування. Аналогічно до попереднього прикладу визначаємо ||л|да = 7 Тому початковий інтервал, на якому міститься друге власне значення, є (-7,7). Справді, підставивши значення -7 у послідовність Штурма, маємо Ро (-7) = 1; Р\ (-7) = 8; р2 (-7) = 76; р3 (-7) = 576. Отже, кількість збігів знака 5(-7) = 3. Це означає, що всі три власні значення матриці А більші, ніж -7. Підставимо тепер у послідовність Штурма число 7, отримаємо ЛД?) = 1; />,(7) = -6; Рг(7) = 20; р3(7) =-96. Кількість збігів знаків 5(7) = 0, і всі власні значення матриці А не більші від семи. Тоді поділимо інтервал (-7, 7) навпіл, отримаємо С. = -(-7 + 7) = 0 1 2 і побудуємо послідовність Штурма для цього значення 146
р0(0) = 1; р,(0) = 1; р2(0) = -1; ^3(0) = -5. Оскільки 5(0) = 2 , то Х2 є (0,7). Далі маємо С2=\{ 0 + 7) = 3,5; р0(3,5) = 1; рх(3,5) = -2,5; р2(3,5) = -2,75; Л(3,5) = 16,875. Оскільки 5(3,5) = 1 < 2 , то Х2 є (0;3,5); С,=|(0+ 3,5) = 1,75; А)(1,75) = 1; А (1,75) = -0,75; р2 (1,75) = -4,9375; (1,75) = 6,703125. Тут «(1,75) = 1<2 тому Я,2є(0;1,75) і т. д. Продовживши цей процес, отримаємо Х,2 «1,001 (з точністю є = 0,01), а оскільки істинне Х2 = 1, то побачимо, що обчислення виконано правильно. Зазначимо, що розглянутий метод визначення власних значень матриці універсальний. Його можна використовувати не тільки для знаходження заданого за номером власного значення, а й для обчислення всіх чи частини власних значень, для дослідження загального розподілу власних значень тощо. На його реалізацію не впливає наявність близьких і кратних власних значень, і навіть дуже велике їхнє скупчення. У цьому разі точність не залежить від розмірів матриці. 4.12. ОІ-метод знаходження власних значень симетричної тридіагональної матриці Цей метод знаходження власних значень симетричної тридіагональної матриці зводиться до перетворення в ітераційному процесі вихідної тридіагональної матриці А в діагональну за допомогою перетворень подібності 4+1 =але[ Тут АІ — А . 147
По суті, QL -метод реалізують так: 4+і —Ьк0к де <2к - ортогональна матриця, що перетворює Ак в ліву трикутну матрицю Ік; к - номер ітерації. За досить великого к матриця Ак стає близькою до діагональної. Її діагональні елементи є наближеними власними значеннями матриці А. Матриця перетворення <0к на кожному кроці ітерації є добутком елементарних матриць поворотів чи відбиттів. Розглянемо варіант методу, що ґрунтується на використанні матриць поворотів. Нехай задано матрицю 4(*> /<*> А = о о о о 0 0 0 0 /<*> 0 0 0 0 і(к) ‘п-2 СІ(к) ип-\ /<*) ‘п-1 0 0 /(*) ‘я-І Анулюємо елемент використовуючи матрицю повороту, яка має вигляд э (*) 0 0 0 1 о о о с Унаслідок, перетворення відбувається занулювання елемента /**}, а перетворення Р^к\Ак {Р^к\ )т веде, з одного боку, до появи нового елемента меншого за значенням, ніж попередній, а з іншого, - до появи на місці (п - 2, п) і, з огляду на симетрію матриці, на місці (п, п-2) ненульового елемента g\k) На схемі 1 елементи матриці Ак позначені значком х , елементи (п, п -1) і (п -1, п), які знову з’явились, - • , а елемент g('k) - ®. 148
ґх X X X ч \ X X X X X X X X X X X X X X X X X X 0 X X • ® X X • V (8) • V 0 • Схема 1 Схема 2 Отже, на цьому етапі обчислень матриця Ак перестає бути тридіагональною, тому її необхідно звести до тридіагональної. Для цього обчислюють коефіцієнти поворотів с(к) _ Іп-2 і перетворюють рядки й стовпці з номерами п-1 і п-2 за формулами методу Гівенса. У підсумку £, дорівнює нулю, а на місці елементів з індексами (п - 3, п — 1) і (п -1, п - 3) з’являється елемент g2) (схема 2). Для анулювання елемента, що виникає, знову застосовують формули Гівенса і т. д. Лише анулювання елемента glnkJ2, який має індекси (1, 3), (3, 1), не спричиняє появи елемента g На цьому крок процесу вважають закінченим. Кроки ітераційного процесу повторюють доти, доки елемент 1(пк\ не стане достатньо малим. У цьому випадку елемент з індексами (п, п) можна взяти за наближення до власного значення матриці А. Після отримання наближеного власного значення розглядають матрицю, отриману з вихідної викреслюванням останнього стовпця й останнього рядка, порядок якого на одиницю менший від попереднього, і повторюють знову всю ітераційну процедуру обчислення наступного власного значення. І так продовжують доти, доки не обчислять усі власні значення з заданим ступенем точності. Отже, замість тридіагональної матриці отримують наближено діагональну. Приклад 4.16. Знайти ^-методом власні значення тридіагональної матриці <*) _ и-І — 8і (*) № 149
А = З -2 О -2 4 -2 ,0 -2 Зу Розв’язування. Крок 1. Занулимо елемент а23 Для цього знайдемо 5 і с в матриці поворотів Р2: а. 23 = -0,5547; с = а •зз \]а 23 + Матриця поворотів матиме вигляд ' 1,0000 0 = 0,8321. ^2 = 0 0 0,8321 0,5547 0 -0,5547 0,8321 V / Нескладно переконатись, що ' 3,0000 -1,6640 1,1094 л -1,6641 1,8462 -1,2308 1,1094 -1,2308 5,1538 Р2АР‘ = Тепер занулимо елемент аи матриці Р2АР2 Для цього обчислимо 5 і с: а, = 0,6695 ; с = о. 23 = -0,7428, після чого отримаємо нову матрицю '-0,7428 -0,6695 0 л 0,6695 -0,7428 0 0 0 1,0000 = 0,8276 -0,7460 0Л -0,7102 4,0186 1,6570 0 1,6570 5,1538 150
Крок 2. Приймемо А - Р3АР3 виконаємо операції аналогічно до кроку 1. Занулимо елемент а2г. Для цього знайдемо а. 23 = 0,3061; с - а •зз *33 *\]а23 ■*" а23 ліа23 ^ Матриця поворотів матиме вигляд ґ 1,0000 о о л 0 0,9520 -0,3061 0 0,3061 0,9520 = 0,9520. Р2 = Р2АР•' = 0,8276 -0,7102 -0,2283 -0,7102 3,1593 1,0157 -0,2283 1,0157 6,0131 V Тепер занулимо елемент а|3 матриці Р2АР[ Для цього обчислимо а0 ліа23+аі3 = -0,2193; с = Vа 23 +а\3 = 0,9757 після чого отримаємо нову матрицю / 0,9757 0,2193 0' -0,2193 0,9757 0 0 0 1,0000 рз = V і РгАРІ = 0,6358 -0,1429 0,0000 -0,1429 3,3511 1,0411 -0,0000 1,0411 6,0131 151
Після 12 кроків ми отримаємо матрицю ' 0,6277 0,0000 0,0000" 0,0000 3,0000 0,0006 ч 0,0000 0,0006 6,3723у з якої бачимо, що з точністю до трьох десяткових знаків ми обчислили наближені власні значення X, = 6,3723; Х2 =3,0000; >.з=0,6277. 152
Завдання до розділу 4 4.1. Задано матриці: 1) 6 -2 0 31 ' 7 -1 -2 -3" -2 6 1 2 ; ?) -1 6 0 2 0 1 4 1 -2 0 5 1 ,3 2 0 6, 2 1 7, 3) "8 1 2 3 0" Гб -1 1 2 1 ^ 1 6 1 2 1 ; 4) -1 7 -2 1 2 2 1 5 1 1 1 -2 5 -1 0 3 2 9 1 2 2 1 -1 7 -2 1 1 2 4, 2 0 -2 6, Знайти найбільше за модулем власне число і відповідний йому власний вектор: а) степеневим методом; б) методом скалярних добутків. (За початкове наближення взяти вектор (1;1;...;1)). 4.2. Для матриць із вправи 4.1 знайти найменше за модулем власне число і відповідний йому власний вектор: а) методом зворотних ітерацій; б) методом зворотних ітерацій зі співвідношенням Релея. 4.3. Для матриць із вправи 4.1 розв’язати повну проблему власних значень методом поворотів Якобі. Точність є = 10~6 (у евклідовій нормі). 4.4. Знайти грубі наближення до власних чисел матриці ґ5 2 -Зл А= 4 5 -4 6 4-4, степеневим методом, уточнити ці значення зворотними ітераціями зі зсувами. 4.5. А. Проаналізувати збіжність степеневого методу у випадку, якщо А,,- найбільше кратне за модулем власне число пхп- 153
матриці простої структури. Як можна знайти всі відповідні йому власні вектори залежно від показника кратності? Б. Що можна сказати про поведінку послідовності відношень, якщо \=-Х2,\ |Х2|>|Х3|>...>|Х„| (Х,єД)? В. Розглянути і пояснити поведінку степеневого методу у випадку, коли задана матриця А - діагональна. 4.6. Знайти всі власні пари матриці А = (5 -1 -1 1 З а) методом скалярних добутків; б) /?(5/-алгоритмом, починаючи його з різних векторів. 4.7. Методом поворотів Якобі знайти власні пари матриці А, якщо: а) А = З -2 б) А = ґ5 -2 2 -2 5 0 2Л 0 7 4.8. Порівняти два підходи для знаходження всіх власних чисел матриці А = 4 2 1 2 3 1 1 1 2 методом поворотів Якобі: а) застосовуючи його безпосередньо до заданої матриці; б) попередньо звівши її до тридіагонального вигляду перетвореннями Хаусхолдера. 4.9. Для знаходження власних пар симетричних додатно визначених матриць побудувати LU -алгоритм на базі UTU (або Lii) - розкладу Холецького. Випробувати його на матрицях: 154
ґ 4 -2" (5 1 0 ' і В = 1 5 -2 .-2 2 \ / -2 К А = Чи зберігають отримані на кожному кроці такого алгоритму подібні до В матриці тридіагональну структуру? . Зробити по три кроки: 4.10. Задано матрицю А = \-2 З а) Ш -алгоритму; б) QR -алгоритму на підставі перетворень Гівенса; в) 0І? -алгоритму на підставі перетворень Хаусхолдера. Порівняти отримані наближення до власних чисел матриці А за точністю (знайшовши спочатку її точні значення за допомогою характеристичного рівняння) і за обчислювальними затратами. 4.11. Матрицю а = ( З 2-ї 2 4 1 -1 1 З звести до тридіагонального вигляду: а) перетворенням Гівенса; б) методом Ланцоша. Порівняти ці способи за обчислювальними затратами. 4.12. Для ихи-матриці приблизно підрахувати кількість арифметичних операцій, потрібних для: а) одного кроку степеневого методу; б) одного кроку методу зворотних ітерацій (без зсувів); в) одного повного циклу методу поворотів Якобі; г) повного циклу зведення матриці до форми Хессенберга перетвореннями Хаусхолдера. 4.13. Знайти власні значення тридіагональних матриць А = 1 2 0 2 3 2 0 2 4 В = 1 2 0 0 2 3 2 0 0 2 3 1 0 0 1 1 155
с = 6-10 о о -17-2 0 0 0-25-10 0 0-1 0 0 0 використовуючи: а) метод бісекцій; б) -метод. -2 6 А = "20 20 0 0 0 0" 0 19 20 0 0 0 0 18 20 0 0 0 0 0 0 2 20 0 0 0 0 1, має найменше за модулем власне число, що дорівнює 1. Як воно зміниться внаслідок збурення першого елемента останнього рядка на є = 20"|920! » 5 -10~7 ? 4.15. Довести, що коли 'А - QR , то —сопсі,^ < сопсі,/? < и-сопс12Л • п Довести також, що соп<і2у4 = соп<і2/?. Тут використано позначення: согЦі? і соп(і25 - числа зумовленості матриці В за нормами ||| і відповідно. 4.16. Знайти матрицю поворотів Якобі, яка б давала нуль у ґ\ 3 5"\ позиції (3,1) матриці 2 4 6 3 5 9 156
4.17. Довести, що для квадратних матриць А і В однакового розміру спектри матриць АВ і ВА збігаються. 4.18. Нехай а = Ат > 0 . Довести, що ^maxА = max Ra (де); ^mjn А = юіп Ra (х), (Ах, х) . . „ де /?.(*) = - і - співвідношення Релея. (х,х) 4.19. Нехай Р = I-|_iwv/, де w - вектор такий, що wTw = 1 А. Довести, що матриця Р буде ортогональною тоді й тільки тоді, коли ц = 2. Б. Довести, що коли Q - матриця Хессенберга, a R - верхня трикутна, то добуток RQ є матрицею Хессенберга. 4.20. Довести, що коли А і В - дійсні ортогональні матриці розмірності пхп, то матриця АВ також є ортогональною. Після цього довести, що коли кожен з векторів wi задовольняє умову wlTwi = 1, то матриця Q = (І - 2w[ w,)(/ -2 w[w2)...(/ - 2 wl, w„_,)(/ - 2w„r w„) ортогональна. 157
Розділ 5 МЕТОДИ РОЗВ'ЯЗУВАННЯ ОДНОГО НЕЛІНІЙНОГО РІВНЯННЯ З ОДНІЄЮ ЗМІННОЮ Нехай задано рівняння /« = 0, де /(х) - задана функція дійсного або комплексного аргументу, визначена і неперервна на проміжку [а,Ь]. Зокрема, f(x) може бути алгебричним багаточленом. Універсальні обчислювальні алгоритми ґрунтуються на тому, що відоме наближене значення х0 одного з коренів, а потім його поліпшують до заданої точності. Обчислювальні алгоритми наближеного знаходження коренів нелінійного рівняння складаються з таких етапів: I) відшукання достатньо малих відрізків (інтервалів), що належать області визначення рівняння, у кожному з яких є один і тільки один .корінь рівняння f(x) = 0 Це етап відокремлення коренів рівняння, або визначення відрізків ізоляції коренів; II) обчислення кореня з заданою точністю, якщо відоме деяке початкове його наближення в інтервалі, який не містить інших коренів. Це етап уточнення наближених коренів. Перший етап складніший від другого, бо в загальному випадку не існує достатньо ефективних методів відокремлення коренів. 5.1. Методи відокремлення коренів Для відокремлення коренів рівняння /(*) = 0 (5.1) використовують відому теорему з математичного аналізу. 158
Теорема 5.1. Якщо неперервна функція /(х) набуває значення різних знаків на кінцях відрізка [а, Ь], тобто f(a) ■ f(b)< 0, то всередині цього відрізка міститься принаймні один корінь рівняння /(х) - 0, тобто знайдеться хоча б одне число £, є (а, Ь) таке, що /(£) = 0 Корінь £ явно буде єдиний, якщо похідна f'(x) існує і зберігає постійний знак усередині проміжку, тобто fix) > 0 (або f'(x) < 0) при a < х < Ь Процес відокремлення коренів починається з визначення знаків функції /(х) у граничних точках х = а і х - b в області її існування. Далі необхідно тим чи іншим способом упевнитися, що корінь на цьому проміжку єдиний. Для відокремлення коренів часто буває достатньо використати процес половинного ділення, наближено ділячи проміжок [а,Ь] на два, чотири, вісім і так далі однакових частин, і шукати зміни знаків функції. Корисно пам’ятати, що алгебричний багаточлен /7-го степеня має не більше п дійсних коренів. Тому якщо для такого рівняння ми отримали п +1 зміну знаків, то корені всі його відділені. 5.1.1. Табуляція функції Для того, щоб знайти проміжок існування коренів рівняння (5.1), скористаємося теоремою 5.1. Побудуємо таблицю значень функції y = f(x) на достатньо великому проміжку [а,Ь]. області визначення з великим кроком З’ясуємо, на якому підпроміжку [а2,Ь2] функція змінює знак. Знову табулюємо її на цьому проміжку з довільним кроком h,. На практиці достатньо мати проміжок у межах одиниць, наприклад, [-3,2] На підставі теореми 5.1 можна записати такий алгоритм знаходження проміжку [а, Ь]. 1. Знайти область визначення функції/(х) рівняння (5.1). 2. Обчислити похідну /'(х) і знайти точки, в яких похідна перетворюється в нуль. 3. Записати інтервали монотонності. 4. Дослідити знак функції на кінцях інтервалів монотонності. 5. Визначити проміжки ізоляції коренів. 6. Звузити ці проміжки, протабулювавши функцію. 159
П р и к л а д 5.1. Відокремити корені рівняння /(х) = х3 - 4х2 +2 = 0. Розв’язування: 1. О.В: (—оо,оо) 2. /'(х) = Зх2 -8х. Знайдемо розв’язки рівняння Зх2 - 8х = 0 ; 8 З >\ /< 3. Інтервали монотонності: (-оо,0) , 0, 8 V - . 00 з 4. Дослідження знаків функції на кінцях інтервалів монотонності: /8"\ 202 Ііш /(х) = —оо; /(0) = 2 > 0; / X—» -сю ІІШ /(х) = +00. V- 27 0, <0; 8 8 оо 5. Проміжки ізоляції коренів: (-оо 0), V 3 у \ з 6. Протабулюємо функцію у = /(х) на кожному з проміжків: а)(-1000 ; 0) при А = 100 ; /(-100) < 0 ; /(0) > 0 ; (-100 ; 0) при /г = 10 ; /(-10) <0 ;/(0)>0; (-10 ; 0) при А = 1 ; /(-1) < 0; /(0) > 0 ; (-1 ; 0) - це вже проміжок одиничної довжини; б) 0, 8 при к = 1 ; /(0) > 0; /(1) < 0 ; (0,1)- звужений другий проміжок; в) -,1000 V З у \ ^8Л при/г, =100;/ - <0;/(100)>0 З у 'І-100, (!•“ при к2 = 10 ; /[^ < 0 ; /(10) > 0; при А = 1 ; /(3) < 0 ; /(4) > 0 ; (З , 4) - проміжок, де є останній корінь. Отже, корені є на проміжках х, є (-1 ; 0) ; х2 є (0 ; 1); х3 є (3 ; 4) 160
5.1.2. Графічний спосіб Якщо функція /(х) нескладного вигляду, то знаходимо точки перетину графіка функції з віссю абсцис. Якщо це важко зробити, то рівняння (5.1) записуємо у вигляді ф(*) = У(*) ■ де ф(х), у/(х) - достатньо прості функції, графіки яких будують просто. Точки перетину графіків у - ф(х) та у = \|/(х) дадуть наближене значення розв’язку рівняння (5.1). Приклад 5.2. Відокремити корені рівняння е~х + х2 - 2 = 0. Розв’язування. Перетворимо це рівняння до вигляду е~х = -х2 +2 Тоді ф(х) = е~х; \|/(х) = -х2 + 2 . Графіки цих функцій будувати нескладно (рис. 5.1). і іУ ч2 ^ , (СМ -42 г V (*) Рис. 5.1. Із графіка бачимо, що рівняння має два корені, розміщені в проміжках (-1,5 ; 0) та (1 ; 1,5) Графічно функцію у = /(х) можна побудувати на комп’ютері й наближено знайти проміжки, де містяться корені рівняння. Можна скласти програму, яка згущує сітку по х для побудови графіка, що поєднує в собі графічний спосіб і табуляцію. 161
5.1.3. Аналітичний метод відділення коренів Якщо /(*) - багаточлен, то для локалізації коренів можна використати відомі з алгебри теореми про кількість коренів, про межі додатних і від’ємних коренів. Для алгебричного багаточлена /(г) - Апгп + А^г"'1 + ... + А0 відома теорема про кільце, в якому є корені рівняння /(г) = 0 Теорема 5.2. Корені багаточлена /(/) з дійсними чи комплексними коефіцієнтами містяться у кільці Приклад 5.3. Знайти кільце, у якому містяться корені де Л0-Л„* 0,. Теорема 5.3. Усі дійсні корені рівняння (5.3) містяться у проміжку де В = тахІЛ І; А Лк > 1) - перший з від’ємних коефіцієнтів А,< 0 1,1 ” рівняння, рахуючи зліва; Ап> 0. (5.2) де А, -4,^0; А = тах{\А0\,\А]\,...,\Ап_]\}, А„>0, В = тах{|^|, \А\,..„ \Ап\}. рівняння г4 +Зг3 +8г2 -5 = 0 Розв’язування. Згідно з позначеннями теореми, А0=-5; А = шах{|-5|, 8,3} = 8; В = шах{3,8,0,1} = 8 . 5 8 5 Тоді <Ы<1 + -; отже, —<Ы<9. 5 + 8 11 1 13 Нехай задано багаточлен з дійсними коефіцієнтами п = °- (5.3) (5.4) 162
Формулу (5.4) називають формулою Маклорена для відшукання верхньої межі коренів. Приклад 5.4. Знайти верхню і нижню межі додатних і від’ємних коренів рівняння х3 - 8х +1 = 0. Розв’язування. Скористаємося- формулою (5.4). Знайдемо І в верхню межу додатних коренів рівняння а < 1 + *|— У нашому \ А» прикладі Ап= 1; В = 8; к = 2. Тоді а = 1 + %/8 =1 + 2\/2 Відшукаємо нижню межу додатних коренів рівняння. Для цього зробимо заміну г= — . Тоді рівняння набуде вигляду д: -8г2 +1 = 0 Знову, згідно з формулою (5.4), визначимо Ап =1 ; 5 = 8; А: = 1, Ь* =1 + 8 = 9 - верхня межа додатних коренів перетвореного рівняння. Отже, нижня межа додатних 1 коренів початкового рівняння - —. Перейдемо до знаходження від'ємних коренів. Зробимо заміну змінних и = —х Одержимо рівняння м3-8м-1 = 0 Згідно з теоремою 5.3, маємо с*=1 + л/8=1 + 2л/2 - верхня межа додатних коренів перетвореного рівняння; с-—\ — 2'^2 - нижня межа від’ємних коренів. 1 Заміною V — знайдемо верхню межу від’ємних коренів х рівняння: V3 +8у2 -1 = 0 ; к = 3; 5 = 1; Д, =1; <Ґ =1 + ТГ = 2; = ~ Отже, додатні корені є в інтервалі І — ; 1 + 2л/2 ; від’ємні - у ) ( 1 ^ -1-272;-- . V ^) 163
5.2. Ітераційні методи розв'язування алгебричних і трансцендентних рівнянь 5.2.1. Метод дихотомії (половинного ділення) Нехай на проміжку [я, 6] є корінь рівняння (5.1), тобто виконується умова /(а) • /(b) < 0 Звужуватимемо цей проміжок так, щоб його довжина стала не більшою від наперед заданої точності обчислення кореня Є, тобто \b-a\<e. (5.5) Відрізок [а,Ь] ділимо навпіл с = ^ Якщо /(с) = 0, то а + Ь с — —-— є коренем рівняння (5.1). Якщо /(с)*0, то вибираємо той з проміжків [а , с] або [с , Ь], на кінцях якого функція /(х) має протилежні знаки. Звужений проміжок знову ділимо навпіл і виконуємо ті ж дослідження на знаки функції, як і на попередньому кроці. Отримаємо послідовність вкладених один в одного відрізків [а, , 6,], [а2 , Ь2],..., для яких f(a„) ■ f{bn) < 0 (п = 1, 2,...). Умовою закінчення обчислень слугує умова (5.5) або /(с) = 0. Наведемо алгоритм методу дихотомії. 1. Ввести межі коренів а, b і точність eps 2. Знайти середину проміжку с = (а + Ь) / 2. 3. Якщо /(с) = 0, то вивести с і закінчити алгоритм. Якщо ж /(с) * 0, то перейти до пункту 4. 4. Перевірити умову: /(а) ■ /(с) < 0 Якщо умова виконується, то Ь = с , інакше а = с 5. Якщо \b - а\ < є, то закінчити обчислення. Наближеним значенням кореня буде с. Якщо проміжок ще великий, то перейти до пункту 2. Приклад 5.5. Уточнити корені рівняння х3 - 4х2 + 2 = 0 методом дихотомії. Розв’язування. За наведеним алгоритмом складена програма мовою Pascal. З точністю до є на проміжках [а, 6] знайдено корені рівняння Xі - Ах2 + 2 = 0 за п кроків, які наведено в табл. 5.1. 164
Таблиця 5.1 Результати обчислення кореня для різних проміжків та різної точності a ь є Хп п 3 4 0,01 3,86718 7 3 4 0,0001 3,86615 14 3 4 0,000001 3,86620 20 0 1 0,01 0,789063 7 0 1 0,0001 0,789246 14 0 1 0,000001 0,789245 20 -1 0 0,01 -0,656250 5 -1 0 0,0001 -0,655457 14 -1 0 0,000001 -0,655442 20 Приклад 5.6. З точністю є знайти корінь нелінійного рівняння *3 - 2 sin х -1 = 0. Розв’язування. Побудуємо графіки функцій у = хі та у = 2 sin х +1 і локалізуємо корінь рівняння на проміжку [1,2]. У табл. 5.2 наведено послідовні наближення до кореня цього рівняння, отримані за методом дихотомії. Таблиця 5.2 Результати обчислень кореня нелінійного рівняння за методом дихотомії є п 0,000001 1 1,50000000 2 1,25000000 3 1,37500000 4 1,43750000 5 1,46875000 6 1,45312500 7 1,44531250 8 1,44140625 9 1,43945313 10 1,44042969 11 1,43994141 12 1,43969727 13 1,43957520 14 1,43951416 165
5.2.2. Метод ітерацій (послідовних наближень). Принцип стискувальних відображень Для розв’язування алгебричних і трансцендентних рівнянь (5.1) розроблено багато різних методів. Суть їхня така. Нехай відома достатньо мала область, у якій є єдиний корінь х = а рівняння f(x) = 0 Вибирають точку х0 - початкове наближення, і за допомогою деякого рекурентного співвідношення хк (5-6) відшукують послідовність точок xt,x2,....,x„,..., яка збігається до х-а. Збіжність послідовності точок {хп} забезпечена відповідним вибором функцій ф* і початкового наближення х0. Найчастіше на основі функції f(x) будують функцію ф(х) таку, що шуканий корінь х-а рівняння (5.1) є і коренем рівняння х = ф(х). (5.7) Після того будують послідовність точок {хи} за допомогою співвідношення Х„ =ф(.хп_]), (п = 1,2,...) (5.8) для деякого початкового наближення х0. Методи типу (5.6) називають нестаціонарними ітераційними процесами, а (5.8) - стаціонарними. Процес послідовного отримання чисел х],х2,...,хп за формулою (5.8) називають методом ітерацій, або послідовних наближень. Він є однокроковим. У разі виконання певних умов, накладених на функцію ф(х), послідовність (5.8) збігається до кореня а: lim xn-a. п—>оо Умови збіжності ітераційного процесу випливають з принципу стискувальних відображень. Теорема 5.4 (ознака збіжності методу ітерацій). Якщо в околі R = {х: \х - а| < г) функція ф(х) задовольняє умову Ліпшиця з константою k < 1 |ф(х)-ф(у)|<А:|х-7|, x<=R ; yeR, (5.9) 166
то послідовність (5.8) збігається до кореня х = а за будь-якого х0еЯ, причому швидкість збіжності характеризує нерівність К - а| < А:” |х0 - а| (5.10) Теорема 5.5 (ознака існування кореня рівняння). Якщо в окопі Я = {х: |х- а| < г) функція ф(х) задовольняє умову Ліпшиця (5.9) з константою к < 1 і в точці х0 справджується нерівність |*о-ф(*о) (5.11) то в И рівняння (5.7) має єдиний корінь х = а, який можна отримати як границю послідовності *„=ф(*„-і) ,и = 1, 2,..., де х0 - довільна точка з околу Я Наведемо умову збіжності ітераційного процесу, яка випливає з теореми 5.4. Теорема 5.6. Нехай на проміжку [а , Ь] є один простий корінь рівняння х = ф(х) і в усіх точках цього проміжку |ф'(х)| <к<\. Якщо в цьому разі виконується умова а < ф(х) < Ь, то ітераційний процес (5.8) збіжний, а за початкове наближення х0 можна взяти довільне число з проміжку [а ,Ь]. Чим менше значення |ф'(^)|, тим швидше збігається ітераційний процес. Із теореми випливає, що умова |ф'(х)| <1 є достатньою умовою збіжності ітераційного процесу (5.8). Оцінка методу простої ітерації така кп ^|ф(*°)-*о|; 0<Л< 1. За критерій кількості ітерацій можна взяти умову о<л<і. (5.12) Як бачимо з теорем, рівняння /(х) = 0 зводять до вигляду х = ф(х) так, щоб |ф'(*)| < 1. х є [а , Ь]. 167
Розглянемо геометричну інтерпретацію методу ітерацій. На рис. 5.2 зображено випадок, коли 0 < ср'(х) < к < 1. Рис. 5.2. Послідовність х1,х2,хі,... монотонно збігається до кореня з того боку, з якого розташовано початкове наближення х0. Розглянемо випадок -1 < к < ф'(х) < 0 (рис. 5.3). Рис. 5.3. Послідовні наближення розташовані почергово з різних боків від кореня х = а. У випадку |ф'(*)| > 1 ітераційний процес розбіжний (рис. 5.4). 168
ф'(х) > 1 ф'(х) < -1 Рис. 5.4. Наведемо один достатньо загальний спосіб зведення рівняння /(х) = 0 до вигляду х = ф(х) в разі виконання умови |ф'(х)| < к < 1. Нехай шуканий корінь а є [а, Ь] і 0 < w, </'(х) < Л/,, хє[а,і], де т, = min /їх); [«.*] М, = max /'(х) [а, Ь] Замінимо рівняння (5.1) еквівалентним йому рівнянням x = x-Xf(x). Підберемо X так, щоб виконувалася умова 0 < ф'(х) -1 - Xf\x) < к < 1. Звідси 0 < 1 - XMt < 1 - Am, < к Отже, можна вибрати X = ^—, к = М, М, Якщо ж обчислення похідної ф'(х) та її оцінка є громіздкими, то дослідження збіжності процесу ітерацій можна доручити обчислювальній машині, обмеживши кількість ітерацій деяким числом, наприклад, п < 100. Якщо після великої кількості ітерацій точність не досягнута, то в обчисленнях треба поміняти функцію Ф(х). 169
Приклад 5.7. Методом ітерацій з точністю до є знайти корені рівняння хг - 4х2 + 2 = 0 Розв’язування. Запишемо нашу функцію у вигляді (5.7), тобто знайдемо ср(лг). Рівняння (5.1) домножимо на константу М >0 і додамо до обох частин х Одержимо х = х + М f (л:) Отже, ф(х) = х + Mf(x). Знайдемо константу М з умови, що |ф'(*)| < 1: ф'(*) = 1 + М/'0с); -1 < 1 + Mf'(x) < 1 ; -2 < Mf'(x) < 0; 2 0 >f\x) > (якщо f'{x) >0 на [a , b], то виберемо М < 0 ). М Отже, умова вибору М така: (/'(*)<0; Л/>0); М fix) < ; (/'(*) > 0 ; М < 0). м Для нашого рівняння f'(x) = Зх2 - 8х. Для проміжку [3 , 4], /'(*) > 0, функція монотонно зростає, /'(4) = 16. Отже, 16 <—— ;Мє(--; 0). М 8 При М = -0,1 одержимо правильну нерівність 16 < 20 Для проміжку [3 ,4] виберемо ф, (x) = х - 0, 1(jc3 - 4х2 + 2), З |ф[(х)|<0,7 , критерій кількості ітерацій \хп -хп_х\<— є Для проміжку [0, 1] маємо /'(х)<0, тому функція монотонно спадає. Отже, М> 0; f'(x)>——; М /'(1) = -5; -5 > ——; 5 < — М < - = 0,4 . М М 5 170
При М = 0,1 одержимо (р2(Х) = х + 0,1(;с3 - 4л:2 + 2). Оскільки к = 0,99, то |лг„ - хи_, | < є • 0,01. Для проміжку [-1,0] маємо /'(х) > 0 , тому функція монотонно 2 зростає. Отже, М < 0 і ґ(х) < , М Л-1) = Н; \\<~\ Мє м 2 Л — ;0 11 За М можна вибрати -0,1, тоді ф3(х) = х-0,1(л:3 -Ах2 +2). Звідси ф,=ф3. Критерій завершення обчислень \хп -х„_,| < 0,01є, де є « 0,9 . Дані обчислень наведені в табл. 5.3. Приклад 5.8. Методом ітерацій з точністю до є знайти корінь рівняння я3 - 2 sin х -1 = 0. Розв’язування. Перетворимо наше нелінійне рівняння до вигляду (5.7). А. Додамо х до обох частин рівняння. Одержимо x = x + jc3-2sinx-l = 0. Отже, ф(х) = х + х3 -2sinx-l. Таблиця 5.3 Результати ітераційного процесу за формулою (5.8) а ь є ф(*) *0 Х„ п 1 2 3 4 5 6 7 3 4 0,01 ФіО) 3 3,911250 1 3,844642 2 3,873633 3 3,863247 4 3,867346 5 3,5 3,700000 1 3,910700 2 3,847272 3 3,873333 4 3,863368 5 3,867300 6 4 3,800000 1 3,888800 2 3,856965 3 3,869745 4 3,864800 5 3,866744 6 171
Продовження табл. 5.3 1 2 3 4 5 6 7 3 4 0,0001 ф, (X) 3 3,866188 11 3,5 3,866188 10 4 3,866193 11 3 4 0,000001 ф, (х) 3 3,866199 15 3,5 3,866198 16 4 3,866198 15 0 1 0,01 фч м 0 0,784113 10 0,5 0,785972 8 1 0,792287 7 0 1 0,0001 ФгС*) 0 0,789198 18 0,5 0,789191 15 1 0,789294 14 0 1 0,000001 ф2(х) 0 0,789244 26 0,5 0,789244 23 1 0,789245 22 -1 0 0,01 Ф, (х) -1 -0,657101 4 І І V / -0,5 -0,654272 5 0 -0,654463 8 -1 0 0,0001 Ф, (х) -1 -0,655451 9 ті V / -0,5 -0,655425 9 0 -0,655428 12 -1 0 0,000001 Фі оо -1 -0,655443 13 ті \ / -0,5 -0,655442 14 0 -0,655442 16 Перевіримо, чи ф(х) задовольняє умову Ліпшиця. Для цього знайдемо похідну ф'(*) = 1 + 3х2 -2совх Тоді ф'(1) = 1 + 3-2сов 1« 3. Оскільки |ф'(1)|>1, то таке перетворення нас не задовольняє. Б. У заданому рівнянні перенесемо х3 у правий бік і знайдемо л: = 728Іпл: + 1 / \ 11_ , , // \ 2 совх ф(х) = л/28іпх + 1; ф (х) = — З ^/(2 віп х +1)2 2 К 2-0 4 Ф'(1)« ——=£=== « 0,25 < 1, ф'(2)«—===«-0,137. Отже, для вибраної функції виконується умова |ф'(х)|<1 на проміжку [1,2]. Результати уточнення кореня рівняння Х = УІ28ІПХ + 1 методом ітерацій наведено в табл. 5.4. 172
Таблиця 5.4 Уточнення коренів трансцендентного рівняння методом ітерацій є *0 Хп п 0,01 1 1,439379 3 1,5 1,439567 2 2 1,439432 3 0,0001 1 1,439485 5 0,5 1,439485 4 2 1,439485 5 0,000001 1 1,4394851 6 0,5 1,4394851 5 2 1,4394851 6 5.2.3. Метод хорд Цей метод ще називають методом лінійної інтерполяції, методом пропорційних частин, методом січних. Якщо рівняння /(х) = 0 має корінь х-а, а функція \)/(х) неперервна в околі х = а, то рівняння х = ф(х), (5.13) де ф(х) = х-\|/(х)/(х), також має корінь х = а. Функцію \|/(х) можна підібрати так, що ітераційний процес для рівняння х = ф(х) буде збіжним. Ідея методу хорд полягає в тому, що на достатньо малому проміжку [а,Ь\ дугу кривої у = /(х) замінює хорда. За наближене значення кореня приймають точку перетину хорди з віссю ОХ. Якщо рівняння (5.1) має дійсний корінь а є \а , Ь\, а функція у|/(х) неперервна на [а, Ь] або хоча б в околі точки а, то рівняння х = ф(х) має також корінь а. Функцію \|/(х) підбираємо з умови збіжності ітераційного процесу. У методі хорд у(х) = - х-хп Тоді ітераційний процес матиме вигляд де х0 - точка з околу а - (*,-! -*0 )/(*—) ДО-Дхо) (5.14) 173
Формула (5.14) відображає метод хорд. Припустимо, що в деякому околі S точки х = а функція f(x) є неперервна і в цьому околі має неперервні похідні f'(x) і f(x). Крім того, f(x) і f(x) в околі S не змінюють знака і не набувають значення нуль. Це означає, що в разі переходу через точку х = а функція /(х) змінює знак і має точку х = а простим коренем. Для вибору початкового наближення в методі хорд користуються таким правилом: нерухомим кінцем проміжку є той, для якого знак функції збігається зі знаком другої похідної /(х0)/"(х0)>0. (5-15) Із рис. 5.5 бачимо, що метод хорд дає наближення кореня лише з одного боку (у нашому випадку х0 = b - нерухома точка в формулі (5.14)). Ідемо до кореня з точки а Формула (5.14) набуде вигляду г =г (*„-1 -£)/(*„-■) " /(0-/(6) ' Рис. 5.5. Якщо ж функція опукла вгору, то нерухомим кінцем буде точка а (рис. 5.6). 174
Рис. 5.6. Тоді ітераційний процес матиме вигляд х„ = х„_, - - Метод хорд є ітераційним методом першого порядку. Для достатньо малих проміжків можна використати оцінку похибки к-«к-№->' Приклад 5.9. Методом хорд з точністю до в знайти корені рівняння х3 - 4х2 +2 = 0. Розв’язування. Знайдемо похідні /'(х) = Зх2 - 8х, /\х) = 6х-%. Розглянемо ітераційний процес на кожному з проміжків локалізації коренів. а) [3,4]: /(3) = -7<0; /(4) = 2>0; /"(3) > 0; /'(4) > 0. Нерухомим кінцем буде точка х0 = 4. Ітераційна формула матиме вигляд 175
у =г (*-і -4)/(х,_,) п п~\ /»/• ч л /(хп-і) ~ 2 б) [ОД]: /(0) = 2>0; /(1) = -1<0; /'(0) = -8<0; Г(1) = -2<0. Отже, нерухомим кінцем буде точка х0 = 1. Розрахунки виконаємо за формулою г _г “ Л/7-1 г, 4,1 В) [-1,0]: /(-1) = -3<0; /(0) = 2>0; /'(-1) = -14<0; /”(0) = -8<0. Нерухомою буде точка х0 = -1. Формула (5.14) набуде вигляду г _г (У. +1)/(Уі) П — Лп~\ г, ч1<3 Ахп-1)+3 Результати обчислень наведені в табл. 5.5. Таблиця 5.5 Знаходження коренів алгебричного рівняння за методом хорд а Ь є Нерухома точка п а) 3 4 0,01 4 3,866168 3 3 4 0,0001 4 3,866196 5 3 4 0,000001 4 3,866198 7 б) 0 1 0,01 1 0,788686 3 0 1 0,0001 1 0,783242 5 0 1 0,000001 1 0,789244 6 в) -1 0 0,01 -1 -0,654215 5 -1 0 0,0001 -1 -0,655423 8 -1 0 0,000001 -1 -0,655442 11 176
5.2.4. Метод дотичних (Ньютона) Нехай на проміжку [а, Ь\ функція f(x) неперервна і на \a,U\ існують неперервні похідні f'(x) і f(x), які не змінюють знака і не набувають значення нуль на \а,Ь\. Якщо в формулі (5.13) прийняти \|/(х) = —-—, то отримаємо fix) ітераційний процес за методом Ньютона (и = и,...)- (5.16) За початкове наближення доцільно вибирати той край проміжку [а , Ь], для якого /(*о)Г(*о)>0. Геометрично методом дотичних знаходять абсциси точок перетину дотичних до графіка функції у = f(x) у точках х = хп(п = \, 2,...) (рис. 5.7). Якщо почати проводити дотичні з точки х0=а, то точка х, вийде за межі проміжку [а, Ь]. Отже, вибір початкового наближення суттєво залежить від вигляду функції f{x) Рис. 5.7. Метод Ньютона є ітераційним методом другого порядку. Швидкість збіжності методу 177
де тх = тіп|/'(х)|; М2 = тах|/''(х)|. Це свідчить про швидку [а,ЬУ [а,Ь]У збіжність методу Ньютона. В методі хорд, як і в методі дотичних, ми наближаємо корінь а лише з одного боку. Якщо /'(*) мало змінюється на проміжку [а, Ь], то для спрощення обчислень можна використати формулу Геометрично це означає, що дотичні в точках (хи,/(хп)) заміняють прямими, паралельними до дотичних, які проведені до кривої у = fix) в точці (х0,/(х0)) (рис. 5.8). П р и к л а д 5.10. З точністю до є методом дотичних знайти корені рівняння Xі - 4х2 +2 = 0 Розв’язування. Під час аналізу цього прикладу в методі дотичних ми з’ясували, що початковими наближеннями будуть відповідні значення д:0 на проміжках / У Рис. 5.8. [3,4]: х0 =4; [0,1]: ^=1; [-1,0]: х0 =-1. Результати обчислень наведені в табл. 5.6. 178
Таблиця 5.6 Результати обчислень кореня рівняння для методу дотичних а ь є *0 п 3 4 0,01 4 3,866240 2 3 4 0,0001 4 3,866198 3 3 4 0,000001 4 3,866198 3 0 1 0,01 1 0,789244 3 0 1 0,0001 1 0,789244 3 0 1 0,000001 1 0,789244 3 -1 0 0,01 -1 -0,655459 3 -1 0 0,0001 -1 -0,655442 4 -1 0 0,000001 -1 -0,655442 4 При клад 5.11. Методом Ньютона з точністю до є розв’язати нелінійне рівняння х3 -2sinx-l = 0. Розв’язування. З’ясуємо, яке початкове наближення вибирати з проміжку [1; 2]. Знайдемо значення функції та других похідних на кінцях проміжку f"(x) = вх + 2 sin х ; /"(1) = 6 + 2sinl > 0; /"(2) = 12 + 2 sin 2 > 0 ; /(1) = 1-2 sin 1 -1 = -2 sin 1 < 0; /(2) = 8 - 2sin 2 - 1 = 7 - 2 sin 2 > 0. Отже, умова /О0)/"(х0) > 0 виконується для точки л:0 = 2. З використанням формули (5.16) одержимо наближене значення кореня. Розрахунки наведені в табл. 5.7. Таблиця 5.7 Ітераційний процес за методом дотичних є п Хп /(*„) 0,01 1 1,596221 1,06769589 2 1,457463 0,10876887 3 1,439766 0,00167465 0,0001 1 1,596221 1,06769589 2 1,457463 0,10876887 3 1,439766 0,00167465 0,000001 1 1,596221 1,06769549 2 1,457463 0,10876887 3 1,439766 0,00167465 4 1,439485 0,00000042 179
5.2.5. Комбінований метод хорд і дотичних Методи хорд і дотичних дають наближення кореня з різних боків. Тому часто їх застосовують у комбінації один з одним, і уточнення кореня відбувається швидше. З урахуванням типу графіка функції ці методи комбінують так. Якщо /\х0)Г(х0)>0, то метод хорд дає наближене значення кореня з недостачею, а метод дотичних - з надлишком. Якщо ж Г(х0)Г(ха) < 0, то за методом хорд отримаємо значення кореня а з надлишком, а методом дотичних - з недостачею. У всіх випадках справжній корінь розміщений між наближеними значеннями, отриманими за методами хорд і дотичних, тобто де хп - наближене значення кореня з недостачею; хп - наближене значення кореня з надлишком. • Нехай /'(х0)/"(х0) > 0 , тоді з кінця а лежать наближені значення, отримані за методом хорд, а з кінця Ь - за методом дотичних. Ітераційний процес матиме вигляд • Нехай /'О0 )/"(*(> )<0> Т°Д'' навпаки, з кінця а є наближені значення кореня за методом дотичних, а з кінця Ь - за методом хорд а<хп<а<хп<Ь, х0=а; хо=Ь; 1 гґ— \ ґґ \ ’ (5.18) х0 - а; хо = Ь; - * и = 1,2. А*»-і )-/(*„-! ) (5.19) 180
Ітераційний процес закінчується, коли |х„ -хи| < є. За значення кореня вибираємо середину звуженого проміжку К- а = -(хп+х„). Комбінований метод є нестаціонарним методом уточнення дійсних коренів рівняння /(х) = 0 Збігається він значно швидше, ніж метод дотичних. Приклад 5.12. Комбінованим методом знайти корені рівняння х3 - 4х2 + 2 = 0 Розв’язування. Знайдемо похідні: /'(*) = Зх2 - 8х; /"(х) = 6х - 8; інтервал [3; 4]: /'(3) = 3 > 0; /"(3) = 10 > 0; /'(4) = 16>0; /"(4) = 16>0. Маємо випадок, коли /'(х0)/"(х0) > 0. Розрахунки виконаємо за формулами (5.18); інтервал [0,1]: /'(0,1) = -0,77 < 0; /'(1) = -5 < 0; /'(0,1) = -7,6<0; /'(1) = -2<0. Знову /'ОсоХ/^ОО > 0 і обчислення виконаємо за формулами (5.18); інтервал [-1,0]: /'(-1) = 11 > 0; /'(-0,1) = 0,83 > 0; /”(-!)--14<0; /'г(-0,1) = -8,6<0. У цьому випадку /'(х0)/"(х0)<0 і корінь шукаємо за формулами (5.19). Результати обчислень для різної точності наведені в табл. 5.8. 181
Таблиця 5.8 Результати розв’язування прикладу 5.12 комбінованим методом а Ь є п 3 4 0,01 3,866000 2 3 4 0,0001 3,866198 3 3 4 0,000001 3,866198 3 0 1 0,01 0,789065 3 0 1 0,0001 0,789244 3 0 1 0,000001 0,789244 3 -1 0 0,01 -0,657703 2 -1 0 0,0001 -0,655451 3 -1 0 0,000001 -0,655451 3 П р и к л а д 5.13. Комбінованим методом хорд і дотичних з точністю до є розв’язати нелінійне рівняння х3 -2зіп;с-1 = 0. Розв’язування. Єдиний корінь рівняння є на проміжку [1,2], згідно з прикладом 5.6. Вибір нерухомої точки для методу хорд і початкового наближення для методу дотичних виконують програмним способом. Результати розв’язування заданого рівняння комбінованим методом наведені в табл. 5.9. Таблиця 5.9 Наближені розв’язки комбінованим методом є п Хп /(*„) 0,01 1 1,42069644 -0,11000930 2 1,43461491 -0,02887370 3 1,43940203 -0,00049468 0,0001 1 1,42069644 -0,11000930 2 1,43461491 -0,02887370 3 1,43940203 -0,00049468 4 1,43948509 -0,00000012 0,000001 1 1,42069644 -0,11000930 2 1,43461491 -0,02887370 3 1,43940203 -0,00049468 4 1,43948509 -0,00000012 182
Метод хорд є ітераційним методом першого порядку, а метод Ньютона - другого порядку. Метод Ньютона можна застосовувати і для знаходження комплексних коренів. Тоді для випадку дійсної функції /(je) початкове наближення х0 повинно бути комплексним числом. Швидкість збіжності розглянутих методів така: S метод ітерацій: \хп - а| < Мп |х0 - а|, де М = max І ф'(х) І; [а,Ь] S метод хорд: \хп - а| < іце т = min\f'(x) |; Ш [а,Ь] S метод дотичних: \хп - а| < ^Мхп_х - а|2, де 2т мі = max І/'(де) І. Зауваження 1. За умов теореми 5.6 метод ітерацій збігається для довільного початкового значення х0 є [а, 6]. Завдяки цьому він є самовиправним, тобто окрема помилка в обчисленнях не впливає на кінцевий результат, бо помилкове значення можна розглядати як нове початкове наближення х0. Ця властивість робить метод ітерацій найнадійнішим методом обчислень. На практиці часто виникає ситуація, коли проміжок [а,6] досить великий і умова |ф'(х)|<1 виконується лише в деякому околі кореня, тому в разі невдалого вибору початкового наближення х0 послідовні наближення хя =ф(хи_,) (и = 1,2,...) можуть вийти за межі проміжку [а,Ь]. Зауваження 2. У методі дотичних з формули (5.16) бачимо, що чим більше числове значення похідної /'(х) в околі заданого кореня, тим менша поправка, яку треба додати до п-го наближення, щоб отримати (и + 1)-ше наближення. Тому метод Ньютона особливо зручно застосовувати тоді, коли в околі заданого кореня графік функції має велику стрімкість. Однак коли числове значення похідної /'(х) біля кореня мале, то поправки будуть великими й обчислення кореня за цим методом може виявитись довгим, а іноді й зовсім неможливим. Отже, якщо крива 183
У- f(x) поблизу точки перетину з віссю Ох майже горизонтальна, то застосовувати метод Ньютона для розв’язування рівняння f(x) = 0 не рекомендуємо. 5.3. Ітерації вищих порядків Нехай задано нелінійне рівняння /(*) = о, (5.20) яке на проміжку [а , Ь] має єдиний корінь а . Зведемо рівняння (5.20) до вигляду (5.21) причому шуканий корінь х = а є і коренем рівняння (5.21). Побудуємо стаціонарний ітераційний процес хп+1 =<р(*„) (« = 0,1,2,...), (5.22) починаючи з деякого початкового наближення х0, близького до а. Ітераційний процес (5.22) називають ітераційним процесом т - го порядку, якщо У [12] наведено таку оцінку збіжності ітераційного процесу При —— <1 і |;с0 - а| < 1 швидкість збіжності ітераційного т\ процесу т -то порядку (5.22) буде набагато більша, ніж швидкість збіжності простих ітераційних процесів за методами хорд і дотичних. Є декілька способів побудови ітераційних процесів вищих порядків: метод Чебишова, метод Ейткена, ітераційний процес за теоремою Кеніга та ін. ф'(а) = ф'(а) =... = ф^-0 (а) = 0 ; ф(т) (а) * 0. (5.23) (5.22): тп -1 (5.24) де Мт = max |ф(т) (дг)|. хє[а,Ь] І І Мт . . , 184
5.3.1. Метод Чебишова Зазначений метод призначений для знаходження дійсних коренів рівняння (5.20). В його основі є принцип зображення функції, оберненої до / (х), за формулою Тейлора. Нехай рівняння (5.20) на проміжку [а, Ь] має єдиний корінь х-а. Припустимо, що функція /(х) є неперервною на відрізку [а, Ь~\, має неперервні похідні достатньо високого порядку і /'00*0 на [а , Ь]. Тоді функція у = /(х) має обернену функцію х = Р(у), що визначена на відрізку [с , сі], який є областю значень /(х) при хє[а,Ь]. Функція Р(у) має стільки неперервних похідних, скільки має функція /(х), тобто X ^(/(х)), хе [а, Ь], У = /(Р(У)), ує[с,сі], і при х = а а^(0). У [14] доведено, що х = а є коренем рівняння х = Фг+І(х), де 9гМ.х + ±(-1)'^'[/М)(Лх))‘ к=1 * ! У цьому разі можна з’ясувати, що Ф(/>(а) = 0 (/ = 1,2,...,г). Побудуємо ітераційний процес не нижче (г +1) -го порядку за формулою хп+> = Фг+І (хп) (« = о, 1,...; х0 є [а, Ь]), (5.25) де п - номер ітерації. Ітераційний процес (5.25) при г -1 запишемо у вигляді 185
* =х _/<*»> тобто він збігається з методом Ньютона. При г = 2 маємо ітераційний процес третього порядку Ж) Г(х„)Ґ(х„) /'(*„) 2 (/'(х„))3 V -V ->у ■> У ”и У п> п+1 п ч ^ ччі ’ {0.^.0) який називають методом Чебишова. У [14] наведено таку оцінку збіжності цього ітераційного процесу: (Г + 1Г-1 \хт-°\<Я ' -|х0 -а|<г+І> (5.27) де 4 = ^Г+' п і ; 1 = ’ Мг+1 = П?а^1І/Г<Г+1>(-/Г(^))| • (г + 1) ! хє[а,ьу хє[а,ьу І Якщо # < 1 і |лг0 — а| < 1, то ітераційний процес (5.26) дуже швидко збігається. 5.3.2. Метод Ейткена Ейткен запропонував спосіб одержання ітерацій вищого порядку на підставі заданої ітерації або двох заданих ітерацій одного й того ж порядку. Нехай маємо ітерації = Фі(*1-1X 42) =ф2(д£),), П = 1,2,... порядку г, які збігаються до розв’язку х = а. За допомогою функцій ф,(х) і Ф2(х) побудуємо функцію = хф,[ф2(х)]-ф,(х)ф2(х) х - Ф, (х) - Ф2 (х) + ф, [ф2 (х)] Тоді ітераційний процес х„=Ф(хи_,), « = 1,2 — згідно з [3], має порядок г, якщо виконується умова [ф[(а) -1] • [ф2(а) -1] Ф 0. Якщо ф(х) = ф, (х) = ф2 (х), то 186
ф(х)= хф[ф(х)]-ф2(х) х - 2 ф(х) + ф[ф(х)] В ітераційному процесі х„=ф(х„.,), « = 1,2.... немає потреби шукати Ф(*) в явному вигляді, а можна чинити так. Знаючи початкове наближення х0, знаходимо *І=ф(*о)> *2=ф(*і)- Далі обчислюємо х3 за формулою х0-х2 -X, Х3 = —^- (Ах0)2 де х0 - 2х, + х2 0 Д2х0 Ах,. =х,.+| -х,.; Д2х, =х,+2-2х,+і+х, Одержуємо нестаціонарний ітераційний процес *3,4. =Фзі) = ф(*з,+і)> *' = 0,1,2,... 3/+2 Х3(/+1) — Х3 і (Ах3,.)2 Д2х3( (5.28) Ітераційний процес (5.28) визначає ітерацію не нижче другого порядку, якщо ф(х) визначає ітерацію першого порядку, і не нижче (2г -1) -го порядку, якщо ф(х) визначає ітерацію г -го порядку. Приклад 5.14. За допомогою ітераційних процесів Чебишова та Ейткена знайти корені рівняння /(х) = х3 +5х2-15х-7 = 0, розміщені на проміжках [-1,1], [-8 ,-6], [1,3] із заданою точністю є , тобто до виконання умови к+і-*„|<є Розв’язування. Для методу Чебишова знайдемо похідні 187
/'(х) = 3х2 +1 Ох -15; /"(х) = 6х +10 та запишемо ітераційний процес третього порядку у вигляді х =х /Ю Пх„)/\хп) Й+1 " /'(*„) 2[/'(хл )]3 _ X3 + 5хи2 -15х. - 7 (Зхи + 5)(х3 + 5х2 -15х„ - 7)2 Зх2 +10х„ -15 (Зх2+10х„-15)3 Результати обчислень на різних проміжках та з різними значеннями точності є наведені в табл. 5.10. Таблиця 5.10 Результати ітераційного методу Чебишова *0 а Ь є п 1 1 3 0,01 2,41421356 11 0,0001 2,41421356 12 0,000001 2,41421356 12 3 1 3 0,000001 2,41421356 4 1 -1 1 0,01 -0,41421356 3 0,0001 -0,41421356 3 0,000001 -0,41421356 3 -1 -1 1 0,000001 -0,41421356 4 -8 -8 -6 0,01 -6,99999992 3 0,0001 -7,0 4 0,000001 -7,0 4 -6 -8 -6 0,000001 -7,0 4 У табл. 5.11 методом Чебишова для початкового наближення х0, г = 0,0001 одержано на кожній ітерації значення п-го наближення хп і значення /(х„). Таблиця 5.11 Значення розв’язку і функції на кожній ітерації п /оо 0 0 -7 1 -0,39407407 -0,37361449 2 -0,41421242 -0,00002119 3 -0,41421356 0 188
Для методу Ейткена рівняння /(х) = 0 перетворимо до вигляду X = ф(х) , тобто х = - -7 + х3+5х2 15 Задамо початкове наближення *0, обчислимо х, і х2: х, =ф(*0) = ~7 + *°.+ 5х°2; *2 =ф(х,)=-7-+-^ далі побудуємо ітераційний процес %+і=фЮ=~7+^'+5Хз2'; _7 + г3 + 5 г2 х =ф(х )= ' +Хз/+1 + :}Хзм . 3/+2 Н'1Л3/+І/ 1 » Г =г (*ЗІ+1 -Хц) . 0 , 2 Л3/+3 Л3/ ~ 9 і V, 19 А... Хц+2 3/+1 + Х3/ до виконання умови |Л-3;+3 Х3;+2 І < Є . Результати обчислень за методом Ейткена наведені в табл. 5.12. Таблиця 5.12 Наближені значення розв’язку за методом Ейткена *0 є п 0,01 2,41425458 4 3 0,0001 2,41421356 5 0,000001 2,41421356 5 1 0,01 -0,40947458 2 0,0001 -0,41421247 3 0,000001 -0,41421247 3 -8 0,01 -7,00028110 5 0,0001 -7,00000010 6 0,000001 -7,0 7 У табл. 5.13 наведено значення наближеного розв’язку хп і функції /(хп) при х0 = -0,1; є = 0,0001, знайдені за методом Ейткена. 189
Таблиця 5.13 Значення розв’язку і функції за методом Ейткена п х„ /(*») 0 -0,1 -5,451 1 -0,41067050 -0,06595075 2 -0,41421295 -0,00001138 П р и к л а д 5.15. Знайти корінь нелінійного рівняння /(х) = Зх - cos х - 1 = 0 розміщеного на відрізку [0 ,1] Розв’язування. За методом Чебишова ітераційний процес запишемо формулою 3x„-cosx„-l cosx„(3x„ -cosx„ -І)2 л , . и = 0’ 2’- 3 + sinx^ 2[3 + sinxJ Результати обчислень наведені в табл. 5.14. Таблиця 5.14 Значення розв’язку нелінійного рівняння за методом Чебишова х0 8 X» п 0,01 0,60710165 2 0 0,0001 0,60710165 3 0,000001 0,60710165 3 Для початкового Наближення х0=0,1 та є = 0,0001 у табл. 5.15 за методом Чебишова одержано такі значення хп і Ж)- Таблиця 5.15 Значення розв’язку і функції за методом Чебишова п /оо 0 0,1 -1,69500417 1 0,59881817 -0,02954785 2 0,60710162 -0,00000011 3 0,60710164 0 Для методу Ейткена зведене рівняння х = <р(х) запишемо так: 190
х = - 1 + cosx а ітераційний процес Ейткена має вигляд 1 + cosx 'Зі . 3/+1 з • 1 + COSX, 3/+1 . х = х — і = 0 1 2 -Л'3/+3 л3і л f ? ? 5 • • • *з,+2 - 2^3,+. +^3і Результати за методом Ейткена наведені в табл. 5.16. Таблиця 5.16 Значення розв’язку за методом Ейткена *0 є п 0,01 0,60331992 1 1 0,0001 0,60799532 2 0,000001 0,60693190 3 У табл. 5.17 за методом Ейткена записано для кожної п-'і ітерації значення хп і /(х„) для є = 0,0001 і лг0 = 0,1. Таблиця 5.17 Значення розв’язку і функції за методом Ейткена п Хп Ж) 0 0,1 -1,69500417 1 0,60322292 -0,01384279 2 0,60710132 -0,00000117 П р и к л а д 5.16. Порівняти розглянуті методи за кількістю ітерацій. Розв’язування. 1. Дослідимо кількість ітерацій у разі обчислення кореня рівняння /(х) = 3;с-со8л:-1 = 0, розміщеного на проміжку [-1, 1], різними методами. Результати наведені в табл. 5.18. 191
Таблиця 5.18 Результати порівняння кількості ітерацій є Метод дихото¬ мії ітера¬ цій хорд Нью¬ тона комбі¬ нова¬ ний Ейтке- на Чеби шова 102 5 4 2 1 1 1 2 10“4 13 7 4 2 2 2 3 10‘6 15 10 5 2 3 3 3 2.Знайдемо корені кубічного багаточлена /(х) = х3 + 5х2 -15х - 7 = 0 різними методами. Для різної точності виконано порівняльні розрахунки. Результати наведені в табл. 5.19. Таблиця 5.19 Порівняльна таблиця кількості ітерацій [а, Ь] є Метод дихо¬ томії ітера¬ цій хорд Нью¬ тона комбі¬ нований метод Ейтке- на Чеби- шова [-1.1] 102 7 4 4 2 2 2 3 10'4 15 7 6 2 3 3 3 10_б 21 10 8 3 3 3 3 [-8,-6] 10“2 1 4 4 3 2 5 3 10“4 1 6 7 3 2 6 4 10~6 1 9 10 3 4 7 4 [1.3] 102 7 5 5 2 3 4 11 Ю-4 15 8 8 3 4 5 12 10“6 21 11 11 3 4 5 12 192
Завдання до розділу 5 5.1. Локалізувати й обчислити корені нелінійного рівняння з точністю є = 10-5 1) х2 + 4зіп(х)-1 = 0; 2) (х - З)3 + 4 віп(х) = 0; 3) е* - Зх - 2 = 0; 4) 2х -х-2 = 0] 5) х2+2сов(х)-4 = 0; 6) (х + 1)3 +—ех =0 ; 4 7) е~* +х2 - 2 = 0] 8) \%(2х) + х2 = 0; 9) 1§(х) + х-0,5 = 0; 10) 2(х-3)1п(х)-1 = 0; 11) х2 - зіп(я-х) = 0; 12) 21§(х)-0,5х + 1 = 0; 13) зіп(х)-2х + 0,5 = 0; 14) 2х - 2х = 0; 15) 1§(х) - Зх + 5 = 0 ; 16) 2зіп(х-0,6) + х-1,5 = 0; 17) х3 - зіп(х) -2 = 0; 18) (х-1)2 -0,5ех =0; 19) tg(0,58x + 0,l)-x2 =0; 20) х2-1п(х + 2) = 0; 21) (2-х)ех-0,5 = 0] 22) 2х + 1%(2х + 3) -1 = 0; 23) 5*-6х-3 = 0; 24) Зх-соз(х)-1 = 0; 25) 5зіп(х)-х + 1 = 0; 26) х1§(х + 1)-1 = 0; 27) е~2х - 2х +1 = 0. Відповіді: 1)-2,1069; 0,2381; 193
2) 1,4187; 3,1423; 4,5829; 3)-0,4553; 2,1254; 4)-1,6901; 2,0; 5)-2,3136; 2,3136; 6) -1,3956; 7)-0,5373; 1,3116; 8) 0,3668; 9) 0,6724; 10)0,7969; 3,4078; 11)0; 0,7872; 12)0,3975; 4,6816; 13) 0,4816; 14)1; 2; 15) 0,00001; 1,7475; 16) 0,9031; 17)1,4390; 18)0,2133; 19)-0,1391; 0,7905; 20)-0,5876; 1,0571; 21)1,9272; 22) 0,2304; 23) 1,5633; 24) 0,6071; 25) -0,2550; 26) 2,0592; 27) 0,63972. 5.2. Знайти найменші відмінні від нуля корені нелінійного рівняння. 1)ЛГ8Іп(х) + 1 = 0. 2) х соз(х) - 8Іп(х) = 0 . 3) 1д(0,55х + 0,1) - х2 = 0. Відповіді: 1)3,4368; 2) 4,4934; 3)-0,1441. 5.3. Знайти найменший за модулем дійсний корінь алгебричного рівняння з точністю є = 10 5 1) х3-9х + 3 = 0; 2) х3 + 10х —9 = 0; 3) х3 — 8х + 2 = 0. 194
4) X3 -15л:+ 10 = О ; 5) X4 + 4х3 + 4,8х2 +16х +1 = 01 6) X4 + 4х3 + 4х2 + 4х -1 = 0; 7) 8х4 - 8х2 + 32х + 1 = 0; 8) X4 -2х3 + х-1,5 = 0; 9) X4 - Зх3 + 8х2 - 5 = 0; 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 X3 + Зх2 - 24х + 1 = 0; X3 - Зх2 -3 = 0; X3 - X -1 = 0; 5х3 - 20х + 3 = 0; X3 - 2х2 + 2х — 1 = 0; X3 - Зх2 +9х-10 = 0; X3 + 0,4х2 + 0,6х —1,6 = 0 ; 5х3 + 2х2 -15х - 6 = 0; X6 - Зх2 + X -1 = 0; X5 - Зх2 +1 = 0; X6 -X2 + 0,5х-2 = 0; 2х3 - Зх2 -12х + 8 = 0; X3 -4х2 +1 Ох — 10 = 0; X3 + 2х -11 = 0; X5 + Зх4 -2х3 +х2-х + 1 = 0; X5 - 2х4 - 7х3 - ЗЗх2 - ЗОх - 25 = 0 ; X3 — 2х2 + 7х + 3 = 0; X3 - 2х2 - 4х + 7 = 0; X3 -0,2х2 +0,5х + 1,5 = 0; X3 + Зх2 -1 = 0; X4 +10х3 -1 = 0. Відповіді: 1) 0,3378; 2) 0,841; 3) 0,2520; 4) 3,4826; 5) -0,0637; 6) 0,2010; 7) -0,0310; 8) -0,9397; 9) -0,6887; 10) 0,0419 11) 3,2790 12) 1,3247 13) 0,1514 14) 1,0000 195
15) 1,4814 16) 0,9018 17) 1,7320 18) 1,2962 19) 0,5992 20) 1,1885 21) 0,6113 22) 1,6293 23) 1,9263; 24) -3,6493 25) 5,0000; 26) -0,3796 27) 1,4625; 28) -0,9464 29) 0,5321; 30) 0,4573. 196
Розділ 6 ІТЕРАЦІЙНІ МЕТОДИ РОЗВ'ЯЗУВАННЯ СИСТЕМ НЕЛІНІЙНИХ РІВНЯНЬ 6.1. Формулювання задачі Розглянемо систему нелінійних рівнянь /;(х,,х2,...,хи) = 0; /2(х,,х2,...,х„) = 0; (Ь.1) /ЙС*І>*2 ,-,Хя) = 0, де /, (/ = 1,2,...,п) -функції дійсних змінних хх,х2,...,хп. Систему (6.1) часто зручно вивчати як операторне рівняння в евклідовому просторі Я" Позначимо х = (х1,х2,...,хп)тєЯ,п Р'(х) = (/І(х),/2(х),...,/п(х))т і запишемо (6.1) у вигляді операторного рівняння F(x) = 0 , 0 = (0,0,...,0)гєЛи, (6.2) де ^ /?"->/?"- нелінійний оператор. Розглянемо ітераційний метод, який генерує послідовність точок {х*}, хк еЯ", к = 1,2,..., починаючи з початкового наближення х0 є Я" Означення 6.1. Нехай х*єі?", хкеЯ", к = 0,1,2,.... Тоді кажуть, що послідовність {х*} збігається до х*, якщо
Якщо, крім того, існують константа с і ціле к > 0 такі, що для всіх к > к то кажуть, ЩО {** } є лінійно збіжною ДО X* Якщо для деякої послідовності дійсних чисел {ск}, збіжної ДО 0, виконується нерівність >ск хк-х то кажуть, що {хк} збігається надлінійно до х* Якщо {хк} збігається до х* та існують сталі р> 1, с>0 і к> 0 такі, що для всіх к > к р хк +1 ~х - с\хк ~х (6.3) то кажуть, що {хк} збігається до х* з порядком, що принаймні дорівнює р Якщо р = 2 або р = 3, то кажуть, що швидкість збіжності є квадратичною або кубічною. Якщо {хк} збігається до х* і замість (6.3) для к > к виконується хк+] < с хк ~х за деякого фіксованого j, то кажуть, що {хк} має у-крокову збіжність з порядком, що принаймні дорівнює р Означення 6.2. Нехай п> 0 Є : Яп -» Япхп х є і?” , і нехай ||| - норма в і?”, а ||||| - норма в Япхп Будемо говорити, що функція в неперервна за Ліпшицем у точці х, якщо існують відкрита множина £> с /?”, ієй і константа у такі, що для всіх V є і) |||ед-с(х)|||<' IV-X . (6.4) Константу у називають константою Ліпшиця для Є в точці х. Для довільної конкретної О, яка містить х і для якої виконується 198
(6.4), кажуть, що в неперервна за Ліпшицем в окопі О точки х. Якщо (6.4) справджується для довільного л: є £>, то Є е Ир/О). Лема 6.1. Нехай функція Р Я” -»Я" неперервно дифе- ренційовна в опуклій відкритій області йсй" Тоді для довільних х, х + р є Б Лема 6.2. Нехай функція ^ Я" -»Я" неперервно дифе- ренційовна в опуклій відкритій області В с Я" х є £> Нехай для заданої векторної норми, породженої нею матричної норми і константи у якобіан J неперервний за Ліпшицем в околі И точки х Тоді для довільних х + р є £> Для оцінки швидкості збіжності ітераційних процесів ми використовуватимемо норми векторів і матриць. Зазначимо, що для нас найліпше підходять такі векторні норми для (4Й) - евклідова, або найменших квадратів, норма). Відповідно, породжені ними матричні /,(л)- та 4и) -норми для матриць А є Я"*п задають такими формулами: х+р F(x + р) - Р(х) = |«/(х + ір)рсіі = І Р'(г)сІг ■ о х (6.5) п МІ,=ІИ /=1 (/1<и) -норма, або норма найменших абсолютних різниць), * У/2 / И.=£“ матриці А ; И а . де через апозначено у'-й стовпець Хтах(АТА) - максимальне власне значення матриці АтА. 199
Для розв’язування рівняння (6.2) розроблено багато методів. Ми розглянемо низку найвідоміших, серед яких метод простої ітерації, градієнтний метод, метод Ньютона та його модифікації. 6.2. Метод простої ітерації Метод простої ітерації призначений для розв’язування нелінійного рівняння вигляду X = я(х), (6.6) або X, = gi(x^,x2,...,xл), і = \,...,п Рівняння у вигляді (6.6) часто отримують у разі апроксимації нелінійних крайових задач скінченними різницями. До такого вигляду можна звести і рівняння (6.1). Ітерації методу виконують за формулою =£(*«), (6.7) або х)Ш) = gi(x\k)’X{2к) ,...,х{пк)), / = 1,к = 0,1,... де Х<0) - задане початкове наближення. Для побудованої таким способом послідовності векторів {ха>}^0 справджується така теорема. Теорема 6.1. Нехай Ь - прямокутний паралелепіпед в п- вимірному евклідовому просторі £> = {х є /?"\ак < хк < Ьк, 1 < к < п} Нехай вектор-функція g{x) визначена на О і задовольняє таку умову: існує дійсна константа <], 0 < д <1, така, що ^(хЬ^ООИф-^І (6.8) для всіх х,у є О. Тоді: 1) рівняння (6.6) має єдиний розв’язок х* у О ; 200
2) ітераційна послідовність (6.7) збігається до х' для довільного початкового вектора х(0) є О; 3) справджується оцінка х(к)-х <- І-д' Для випадку системи нелінійних рівнянь F(д:) = 0 аналогічно до методу Зейделя одержуємо такий ітераційний процес, де компоненти наближень визначені зі співвідношень /2(*. ,—>хі„к)) = 0; /я(х‘к+,>,4*+,\...,хГ>)=0. .(*+»> М+і) (6.9) потребує роз- Знаходження кожного нового значення х: в’язування нелінійного рівняння з одним невідомим Ґ(г(к+1) г(А+1) г<*+1> V(^) Уі\Л1 9Л/ 9ЛІ+1 >"ЧЛи /—и, методи розв язування якого розглянуті вище. Проміжним між ітераційними методами (6.7) і (6.9) є метод, де компоненти наближень визначені зі співвідношень Лк+1) х(*+|) = е (х(К+п х(К> -*2 62'<-Л/1 ’ 2 /’ .(*+0 „(*) Л*)\. (6.10) <*+!) Г*+1) Л*+1) Лк) .О- Ітераційні методи (6.9) і (6.10) особливо часто використовують у різних моделювальних пристроях, бо вони прості в реалізації та потребують малої ємності пам’яті комп’ютера. 201
6.3. Градієнтний метод розв'язування систем нелінійних рівнянь Припустимо, що функції /(х,,...,хп) (/ = 1,...,и) - дійсні функції дійсних змінних х,,...,хи, неперервні з першими частинними похідними в деякій області (7, а також у цій області система (6.1) має єдиний розв’язок. Розглянемо функцію и(хі,...,*„) = £ (х„...,хп). (6.11) і=\ Кожному розв’язку а = (а,,...,ал) системи (6.1) відповідає нульовий мінімум функції и (х), і, навпаки, кожна точка нульового мінімуму и (х) дає розв’язок системи (6.1). Отже, задача відшукання розв’язку системи (6.1) зводиться до задачі відшукання точок нульового мінімуму допоміжної функції и(х). Для розв’язування цієї задачі й використовують методи спуску. Нехай х<0) - початкове наближення до деякого розв’язку системи /(х) = 0, тобто до точки мінімуму функції и (х). Розглянемо поверхню и (х) = и (х(0)). Нехай у0 - вектор, який не є дотичним до поверхні в точці х<0) Розглянемо пряму X = х(0) + X у0 і будемо рухатися з точки х<0) по цій прямій у напрямі спадання и (х) доти, доки функція ^{Х) = х<0) +А,У0) не досягне найближчого до X = 0 мінімуму. Нехай це буде при X = Х0. Одержимо точку х0) = х<0) + X 0у0 . Розглянемо поверхню и (х) = и (х(|)) і вектор V,, що не дотикається до поверхні в точці х(1) Знову шукаємо мінімум І^(А,)= х(|) + X. V,) Нехай він досяжний при X = Х], тоді приймемо х(2) = х(|) + ХІ V,. Кожного разу рухаємося в напрямі спадання и (х), тобто відбувається спуск до точки мінімуму. На к -му кроці необхідно знайти мінімум функції ^(?і) = м(х<*)+Ь'*), (6.12) тобто розв’язати рівняння 202
^'М=0. (6.13) Позначимо розв'язок рівняння (6.13) через Хк, тоді одержимо Вектори Ук, які визначають напрям спуску на /с-му кроці, можна вибирати різними способами. Найліпше за вектор ук брати бо цей вектор дає напрям найшвидшого спадання и(х) в точці х(к) Методи, у яких беруть \к =-gradu(x(k)}, називають градієнтними методами, або методами найшвидшого спуску. Часто за Ук вибирають вектори в напрямі осей координат, тоді кажуть про методи покоординатного спуску. Доцільно за вектор \к брати напрям уздовж тієї осі координат, яка відповідає максимальній за абсолютною величиною похідній функції и (х) в заданій точці. Такого типу методи називають релаксаційними. Розглянемо один варіант вибору X для градієнтного методу. В цьому варіанті за значення Хк приймають абсцису точки перетину дотичної до кривої у = Рк(Х) = и в точці (0,^(0)) з віссю X. Очевидно, що (6.14) (6.16) Тоді послідовні наближення визначають зі співвідношення 203
Як звичайно, застосування градієнтних методів дає змогу знайти розв’язок системи (6.1) і для менш точних початкових наближень, ніж це потрібно в разі застосування методу Ньютона, однак збіжність цих методів дуже повільна. 6.4. Метод Ньютона та аспекти його практичної реалізації Нехай потрібно знайти розв’язок рівняння де F R" -» R" - нелінійна за х функція. Треба знайти х таке, що F(x*) = 0. Ми розглянемо виведення формули методу Ньютона для задачі (6.18) і обговоримо умови його застосування, питання його реалізації та особливості його збіжності. Не розглядатимемо питання існування і єдиності розв’язку задачі (6.18), уважаючи, що на практиці з цим, зазвичай, не виникає проблем. Метод Ньютона для задачі (6.18) отримаємо зі знаходження лінійної апроксимації для F(x), яка відповідає поточному наближенню хк. (Оскільки розглядатимемо рівняння (6.18) у векторному вигляді, то надалі для позначення номера ітерації будемо використовувати нижній індекс). Цю апроксимацію будуємо за формулою Ньютона-Лейбніца, а саме: де j(z)=F'(z). Щоб отримати лінійну апроксимацію для F{x) щодо приросту р до хк, наближаємо інтеграл у (6.19) лінійним членом J(xk)p Тоді ньютонівський напрям sk знаходимо з рівняння F(x) = 0, (6.18) F(xk +P) = F(xk)+ І J(z)dz, (6.19) F(xk) + J(xk)sk = 0. (6.20) Отже, розв’язуємо систему J(xk)sk = ~F(xk)’ (6.21) 204
Оскільки не очікуємо, що хк+х дорівнюватиме х* а насправді буде лише наближенням до х*, більш вдалим, ніж хк, то побудуємо на базі ньютонівського кроку (6.21) алгоритм, застосовуючи його ітеративно з початкового наближення х0. Алгоритм 6.1. Задані: неперервно диференційовна функція F:^?И-»ЛИ х0єЛ" Потрібно на кожній к- й ітерації розв’язати рівняння (6.21). Що стосується збіжності, то природно, що метод Ньютона буде поводитися не ліпше, ніж у задачах з однією змінною. Тому особливості збіжності методу Ньютона свідчать про те, як його використовувати в багатовимірних алгоритмах. Для нас завжди буде бажаним застосувати його принаймні на завершальних етапах будь-якого нелінійного алгоритму, щоб використати його швидку локальну збіжність. Однак для того, щоб він збігався глобально, його треба модифікувати. Є дві головні проблеми, які стосуються реалізації ітерації алгоритму 6.1. По-перше, якобіан функції Р може не бути заданий аналітично. Це, зазвичай, трапляється в реальних застосуваннях, коли, наприклад, Р сама не задана аналітично. Отже, апроксимація J(xk) скінченними різницями або іншим, менш дорогим способом, є важливою задачею і буде розглянута нижче. По-друге, матриця J(xk) може бути виродженою або погано зумовленою, і тоді нема змоги отримати достовірний розв’язок ^ системи лінійних рівнянь Ахк)ак=-Р(хк). Тому можлива модифікація алгоритму 6.1 полягає у внесенні деякого збурення в Лхк), достатнього, щоб зробити її добре зумовленою і перейти до наступних дій на ітерації. Однак така модифікація J(xk) не має переконливого обґрунтування в термінах вихідної задачі (6.1), і тому її не рекомендують. Замість цього в разі поганої зумовленості J(xk) надають перевагу переходу безпосередньо до такого глобального методу розв’язування нелінійних рівнянь, який відповідає збуренню лінійної моделі (6.20), цілком осмисленому з погляду вихідної нелінійної задачі [9]. Розглянуті вище переваги і недоліки методу Ньютона слугують ключем до розвитку багатовимірних алгоритмів, оскільки вони свідчать про властивості, які бажано зберегти, і про області, які потребують поліпшення і модифікації. Назвемо їх. 205
Переваги. 1. Квадратична збіжність з доброго наближення за умови, що J(xk) не вироджена. 2. Точний розв’язок за одну ітерацію для лінійної F (точний на кожній ітерації для всіх лінійних компонент F). Недоліки. 1. Відсутність глобальної збіжності для багатьох задач. 2. Необхідність обчислення J(xk) на кожній ітерації. 3. Необхідність розв’язування на кожній ітерації системи лінійних рівнянь, яка може бути виродженою або погано зумовленою. 6.5. Локальна збіжність методу Ньютона Для заданої векторної норми ||| через N(x,r) будемо позначати відкритий окіл радіусом г з центром в х, тобто N(x,r) = {J є R" ||3с — х|| < г} Теорема 6.2. Нехай функція F:Rn-+R" неперервно диференційовна у відкритій опуклій області D a R" Припустимо, що існують х* є R" /' r, ft> 0 такі, що N(x,r)a D ,F(x*) = 0, існує J(x*y], причому ||j(x*)''|< (і і j(x) задовольняє умову Ліпшиця з константою у > 0. Тоді існує є > 0 таке, що для всіх x0eN(x',e) послідовність {хк}, породжена методом Ньютона xk+i=xk-J(xkY'F(xk) > k = 0,1,..., (6.22) коректно визначена, збігається до х* і задовольняє нерівність ||**+|-*І^Ру|**“**||2 * = 0,1... (6.23) Константи у і (3 можна об’єднати в одну уя = уР, яка, по суті, є константою Ліпшиця для вимірювання відносної нелінійності F в х*, бо - Д**)| * I-AxVJI ||Дх) - Д**)|| * ртг|х - х*| = yR\\x - х*| для xeN(x*,r). Отже, теорему 6.2 також можна трактувати як 206
твердження про те, що радіус збіжності методу Ньютона обернено пропорційний до відносної нелінійності і7 в х* Відносна нелінійність функції є головним чинником, який визначає поведінку цієї функції в наших алгоритмах. Може природно постати запитання, чи достатньо близькі на практиці до реальної області збіжності мбтоду Ньютона її оцінки з теореми 6.2. Виявляється, що оцінка Є в теоремі 6.2 розрахована на найгірший випадок. Вона досить добре відображає те, наскільки далеко поширюється область квадратичної збіжності в тому напрямі з ї(,у якому .Р найбільше нелінійна. З іншого боку, в тих напрямах з хк, у яких і7 менш нелінійна, область збіжності може простягатися набагато далі. Глибоке дослідження методу Ньютона для функціональних рівнянь виконав Л. Канторович. Тому цей метод ще називають методом Ньютона-Канторовича. Теорема Канторовича відрізняється від теореми 6.3 головно тим, що не припускає існування розв’язку рівняння Р(х) = 0 Замість цього вона доводить таке: якщо якобіан J(x0) невироджений, J(x) неперервний за Ліп- шицем у деякій області, яка містить х0, і перший крок методу Ньютона достатньо малий щодо нелінійності , то в цій області повинен існувати корінь і бути єдиним. Ця теорема має і важливе методичне значення. Теорема 6.3 (Канторовича). Нехай г> 0, х0єі?" і7 /?"-»/?", / припустимо, що функція Р неперервно диференційована у ЛГ(х0,г). Нехай для заданої векторної норми та породженої нею операторної норми J є Ьіру(М(х0,г)), причому J(x0) не вироджений, і існують р,г| > 0 такі, що ||7(х0)-'||<р, ||^(х0)_1Р(х0)|<г|. Якщо а = Руг| < і г > г0 = (1 - >/і-2а)/(ру), то послідовність {хк}, генерована методом Ньютона хш =хк ~АхкУ'Нхк)» * = о,і,..., коректно визначена, збігається до х*, який є єдиним нулем Р у ЛГ(х0,г0) разом з її границею. Якщо ж у цьому випадку а<~< т0 207
х* буде єдиним нулем Р в Ы(хй,г{), де гх =тіп г, 1 + л/і - 2а їх* -х*||<(2а)2* —, А: = 0,1,.... а Зазначимо, що для більшості методів отримання найліпших оцінок швидкості збіжності потребує в кожному випадку окремого доведення. 6.6. Модифікації методу Ньютона Метод Ньютона (6.22) передбачає на кожній ітерації обчислення якобіана J в точці хк та розв'язування системи лінійних алгебричних рівнянь, що потребує 0(п3) арифметичних операцій. Для зменшення кількості обчислень під час розв’язування нелінійних систем часто використовують різноманітні модифікації методу Ньютона. Найпростіша з них - модифікований метод Ньютона, ітераційна формула якого має вигляд У цьому методі якобіан обчислюють тільки на першій ітерації, і він є незмінним на наступних. Це дає змогу зробити прямий хід методу Гаусса (Ьи -розклад матриці-якобіана) лише один раз, на першій ітерації, а на наступних ітераціях виконувати тільки зворотний хід методу Гаусса (розв’язувати дві системи лінійних рівнянь з трикутними матрицями). Отже, часто можна отримати розв’язок з заданою точністю за меншу кількість арифметичних операцій, хоча теоретична швидкість збіжності методу (6.24) лише лінійна. Зазначимо, що є методи з порядком збіжності, вищим від квадратичного. Зокрема, метод з порядком збіжності 1 + 72 має вигляд [8] **+1 =х* ~^хо)~'Р(хк) > * = 0,1,- • (6.24) \ А ; ґ . , Vі (6.25) Уш=хк+\-АХк*Ук Ж+і)>*0 =Уо’ к = 0,1,— 208
Оскільки в обох формулах методу використано якобіан, обчислений в одній точці, то на одній ітерації треба розв’язувати фактично одну систему з двома правими частинами. Отже, одна ітерація методу (6.25) за кількістю обчислень майже така, як ітерація методу Ньютона. Тому часто метод (6.25) за кількістю обчислень ефективніший, ніж метод Ньютона. Розглянемо ще раз рівняння вигляду F(x) = х — g( х) = 0 (6.26) Для його розв’язування опишемо ітераційний процес [7] хш =хк +Vg(xk))~'F(xk) , £ = 0,1,.... (6.27) Цей метод є комбінацією методу простої ітерації та методу Ньютона і має квадратичну збіжність. При (д. = 0 з (6.27) отримаємо класичний метод Ньютона, при ц. = 1 - метод Стірлінга. На одній ітерації методу (6.27) потрібна така ж кількість обчислень, як і в методі Ньютона. Однак якщо функція g(x) задовольняє умову |И*)И<7<1. (6-28) то метод (6.27) має найшвидшу збіжність при ц=0,5. Ітераційна формула цього методу має вигляд Пхк),к = 0,1,.... (6.29) Будемо називати цю модифікацію методу Ньютона прискореним методом Ньютона. Методи третього і вищих порядків передбачають на кожній ітерації розв’язування кількох систем лінійних рівнянь з різними якобіанами, а то й обчислення похідних другого і вищих порядків. Такі методи досить громіздкі, і ми їх не розглядатимемо. 6.7. Методи зі скінчениорізиицевими похідними Розглянемо вплив на метод Ньютона заміни аналітично заданого якобіана J(x) скінченнорізницевою апроксимацією. Можна довести таке: якщо довжина скінченно різницевого кроку вибрана належно, то зберігається квадратична збіжність методу 209
Ньютона. Наведемо також практичні способи вибору довжини кроку з урахуванням впливу машинної арифметики. Для більшості задач метод Ньютона з використанням аналітичних похідних і метод Ньютона з належним вибором кроку скінченних різниць фактично збігаються. Позначимо апроксимацію (/,_/) -ї компоненти J(x) за допомогою апроксимації за різницями вперед Р,(х + ке,) - Р.(х) (А\=— р —. де е} позначає у-й одиничний вектор. Це еквівалентно апроксимації у-го стовпця J(x) за формулою Р(х + кеЛ-Р(х) А . = — — • (6.30) 1 к Лема 6.3. Нехай Р : Я" Я" задовольняє умови леми 6.2 у векторній нормі у, для якої ||еу-|| = 1, у = 1,Нехай далі А є /г”*”, де А у визначені за (6.30), у = 1,...,и. Тоді |^.у.-У(х)..||<І|Л|. (6.31) Теорема 6.4. Нехай Р та х* задовольняють умови теореми 6.2, де ||.|| позначає векторну /, -норму та узгоджену з нею матричну норму. Тоді існують є, к > 0 такі, що коли {кк} є послідовність дійсних чисел, причому 0<\кк\<к і х0 є /У(х*,є), то послідовність {хк}, задана формулами Р(хк+ккеу)-Р(хк) . (Ак).= -+ , у =1,2,...,п, (6.32) К ГІк -1 = хк-Ак~'Р(хк), к = 0,1,..., (6.33) лк+1 ~лк ™к коректно визначена і збігається лінійно до х* Якщо \\rnh =0, то збіжність надлінійна. Якщо існує деяка константа с, така, що 210
KNc. I** -**||. (6.34) або, що еквівалентно, константа с2 така, що (6.35) то збіжність квадратична. Для доведення надлінійної і квадратичної швидкості треба отримати поліпшену оцінку величин ІAk - J(xk )||. Теорема 6.4 не визначає, як точно треба вибирати довжину скінченнорізницевого кроку на практиці. Це зумовлено тим, що тут знову є два взаємно суперечливі джерела похибок, які виникають у разі обчислення скінченнорізницевих похідних. Розглянемо скін- ченнорізницеве співвідношення (6.32). Для зручності опустимо номер ітерації к За лемою 6.3 похибка апроксимації (/(*)) у за допомогою А ,у дорівнює 0(yh) у точній арифметиці, що наводить на думку вибирати h настільки малим, наскільки це можливо. Однак за малих значень h суттєво впливають інші похибки в (6.32), пов’язані з обчисленням в арифметиці скінченної точності чисельника цієї формули. Оскільки там чисельник ділиться на h, то похибка 5 в чисельнику приводить у (6.23) до похибки 8/h. Стосовно тієї похибки в чисельнику, яка походить з неточних значень функції та із втрати точності в разі їхнього віднімання, можна з достатньою підставою сказати, що вона становить лише малу частину від F(x). Справді, якщо h надто мале, то x + hej може бути настільки близьким до х, що F(x + hej) = F{x), і тому Ау може зовсім не мати достовірних розрядів або мати їх дуже мало. Отже, h потрібно вибирати так, щоб збалансувати в (6.23) похибки 0(yh) і 0(F(x)/h). Якщо F(x) має t достовірних розрядів, то доцільно прагнути до того, щоб F(x + hej) відрізнялась від F(x) правою частиною розрядів. Точніше кажучи, якщо відносна похибка в разі обчислення F(x) дорівнює г| (г| відображає відносний рівень шуму), то ми хотіли б мати F(x + hej)~ F(x) F(x) 211
Без якої-небудь додаткової інформації розумний спосіб задовольнити (6.36) полягає в використанні для збурення кожної компоненти Xj своєї власної довжини кроку hj = y/i\Xj, яка відповідає відносній зміні на величину д:у.. Тоді А . обчислюють за формулою )-fW »J Для зручності ми припускали, що використовують однакову довжину кроку h для всієї скінченнорізницевої апроксимації. Однак на практиці не треба так чинити. Єдина довжина кроку може призвести до згубних наслідків, якщо компоненти вектора х сильно відрізняються за значенням. У випадку, якщо F(x) задана простою формулою, розумно прийняти т)« macheps, і тоді довжина кроку /г; = Лjmacheps ■ xj. Якщо F(x) обчислюють дуже довгою програмою або ітера- ційною процедурою, то г| може бути значно більшим, ніж macheps Коли г| настільки велике, що можна очікувати неточність у скінченнорізницевих похідних (6.37), то варто скористатися замість цього апроксимацією J(x) за січними. Це стосується і випадку, коли недопустимі затрати пов’язані з п додатковими обчисленнями F(x) на кожній ітерації для отримання А. 6.8. Інші різницеві аналоги методу Ньютона У розглянутих вище скінченнорізницевих апроксимаціях для похідних виникає проблема вибору кроку. Цю проблему автоматично вирішують у методі Стеффенсена, який є різницевим аналогом методу (6.29). Метод Стеффенсена для рівняння (6.26) має вигляд хк+1 =хк-F(xk>g(xk)Y]F(xk) > * = 0,1,..., (6.38) де через F(u,v) позначено поділену різницю функції F(x) за вузлами и Ф v, яку визначають, наприклад, за формулою [8] F(u,v).. = 1 1 7+1 ” v 1 y~' 1 n> . (6.39) uj-Vj 212
Цей метод ефективніший, ніж метод Ньютона для рівняння (6.26), якщо справджується оцінка (6.28), хоча також має квадратичний порядок збіжності. Для рівняння загального вигляду F(x) = 0 використовують метод **+1 =**-F(xk’xk-iT'F(xk) > к = \,2, (6.40) який є узагальненням на багатовимірний випадок відомого методу хорд. Цей метод простий у реалізації, однак його швидкість збіжності має нижчий порядок, ^ + ~ і 618. 2 Квадратичний порядок збіжності має різницевий аналог методу Ньютона, запропонований В. Курчатовим [8]: хк+1 =хк ~F(2xk-хк-ихк-\Y'F(xk), к = 1,2,.... (6.41) Однак у цьому методі потрібне додаткове обчислення функції F(x) порівняно з методом (6.40). Назвемо також як недолік методів (6.40) та (6.41) потребу задання двох початкових наближень х0, JC, . 6.9. Квазіньютонівські методи для розв'язування систем нелінійних рівнянь У попередніх розділах описано методи, у яких на кожній ітерації похідні чи їхні різницеві аналоги обчислювали заново. Тепер розглянемо дещо інший клас апроксимацій, які не потребують додаткових обчислень функції або пам’яті і які досить дієві на практиці. Зокрема, з цього класу проаналізуємо метод Бройдена, що подібний до методу Ньютона, однак використовує певну апроксимацію замість аналітично заданого якобіана. Розглянемо лінійну модель для функції F(x): M+(x) = F(x) +А+(х-х+). (6.42) Вона задовольняє рівність Л/+(х+) = F(x+) для довільних A+eRnx" У методі Ньютона A+=J(x+). Якщо J(x+) недоступне, то вимогою, яка в одновимірному випадку приводила б до методу січних (хорд), є М+(х_) = F(x), тобто F(xc) = F(x+ ) + А+ (хс - х+) 213
або А+(хс -х+) = Р(х+)-Р(х_). (6.43) Ми називатимемо (6.43) співвідношенням січних, або квазіньютонівською умовою. Позначимо зс = х+ - хс для поточного кроку і ус = Р(х+)-Р(хс) для результату поточного кроку. Тоді співвідношення січних можна записати так: В одновимірному випадку А+ легко визначити з умови (6.43). Головна складність у разі узагальнення методу січних на п- вимірний випадок пов’язана з тим, що (6.44) не повністю визначає А+ при п > 1 Один зі способів отримання А+ пов’язаний з мінімізацією змін у лінійній моделі (6.42) за умови виконання рівності Л+5С = ус. Відмінність між новою і старою лінійними моделями для довільного х є Я" така: М+{х) - Мс(х) = Р(х+) + А+(х -х+) - Р(хс) - Ас(х-хс) = = х+)~ Р(хс) - А+(х-хс) + (А+ - Ас)(х -хс) = (А+- Ас)(х - хс), де в останній рівності використано співвідношення січних (6.44). Мінімізацією різниці М+(х)~ Мс(х) отримують формулу [9], яка задовольняє рівність (6.44): Формула для перерахунку А+ запропонована 1965 р. С. Бройденом, її називають формулою перерахунку Бройдена ("добра” формула Бройдена), або, простіше, формулою січних. Слово перерахунок означає, що тут не апроксимують повністю J(x+), а швидше перераховують апроксимацію А_ матриці J{x_) в апроксимацію А+ матриці J(x+). Ця властивість перерахунку характерна для всіх вдалих способів апроксимації за січними. З використанням (6.45) можна отримати такий алгоритм. Алгоритм 6.2. Метод Бройдена Задані: Р : Я" Я", *0 є Я", А0 єЛих” Для А = 0,1,... виконати: розв’язати А^ =-Р(хі) відносно як, (6.44) Т (6.45) 214
хм = •** +■**; л =*■(**+. <6-46) (Л -ДлК А _ Л І У-'* -Ук Лк+1 ~ Лк^ т Безпосереднє використання формули (6.46) для обчислення Ак+І потребує на кожній ітерації розв’язування системи лінійних рівнянь (знаходження ЬІІ- чи 0Л'РозклаДУ матриці Ак+{). Таку реалізацію формули перерахунку Бройдена називають формулою перерахунку в нефакторизованій формі. Факторизована форма передбачає безпосередній перерахунок множників та Як+> розкладу матриці Ак+1 через множники ^ та Як матриці Ак. Факторизована форма робить алгоритм ефективнішим, проте вона складніша в програмній реалізації. Постає запитання: як вибирати початкову апроксимацію А$ матриці J(x(>)? На практиці для забезпечення хорошого початку ітераційного процесу тут єдиний раз використовують скінченні різниці або приймають \ = J(x0). Для послідовності {^}, визначеної формулами (6.46), Дж. Денніс і Д. Море (1974) довели надлінійну збіжність до х* і Е(х*) = 0 тоді й тільки тоді, коли Ііт со Ьк\\ (6.47) де як=хк+і-хк. Пізніше Д. Гей (1979) довів 2п -крокову квадратичну збіжність методу Бройдена для загального випадку. Для довільної лінійної F метод Бройдена дає х2п+х =х* с формулу перерахунку Бройдена як Якщо відомо Ак то цим можна скористатися, записавши а-:,=А~и +(5* ?'.У?)5*А*', (6.48) Ь Ак Ук що потребує 0(п2) операцій. (Цю формулу називають “поганою” формулою Бройдена). Тоді напрям методу січних -Ак[+1Г(хк+1) можна обчислити множенням матриці на вектор, що потребує 215
додатково 0{п2) операцій. У цьому випадку в алгоритмі 6.2 треба замінити розв’язування системи лінійних рівнянь на обчислення хк+\ =xk~A~k'F(xk) і обчислення Ак+І на обчислення Ак1+1 за формулою (6.48). Однак ця реалізація має недолік: у цьому разі важко виявити погану зумовленість Ак+І. Оскільки факторизована формула перерахунку (6.46) з Ак в Аі+І не має цього недоліку і потребує такої ж кількості арифметичних обчислень, що й (6.48), то в програмній реалізації перевагу надають їй, а не (6.48). Зазначимо таке: уже не гарантують, що квазіньютонівський напрям sk=-Ak'F(xk) буде напрямом спуску для /(x) = ^-||F(x)|2 Визначимо s[V/(xk) = -F(xk)T(Ak')TJ(xk)rF(xk). Якщо Ак = J(xk), то ця величина недодатна, що необов’язково в протилежному випадку. Крім того, нема способу перевірити, чи є sk напрямом спадання. Тому можливо, що крок виявиться невдалим. В алгоритмах варто передбачити відновлення Ак з використанням скінченно різницевої апроксимації J(xk). 6.10. Числова апробація методів Для виявлення властивостей основних з розглянутих вище методів проведено значний числовий експеримент. Тестування виконували на багатьох системах нелінійних рівнянь. Методи реалізовані в середовищі MATLAB. Для всіх методів застосовували однакові критерії припинення обчислювального процесу. Розв’язки задач шукали з різних початкових наближень і з різною точністю. Наведені в табл. 6.1-6.12 результати відображають, який характер збіжності ітераційних процесів, як на кількість ітерацій впливає вибір початкового наближення та задана точність. П ри кл адб.1: | f\ (*, У) = 2х ~ sin 0,5(х - у) = 0; і /2 (*> у) = 2у- cos °> 50+У)=о. 216
Розв’язування. Розв’язок системи шукали методом простої ітерації з точністю є = 10-6 Таблиця 6.1 Результати за методом ітерації п х»/у„ 0 0,00000000000000 0,50000000000000 0,24740395925452 0,03108757828936 1 -0,12370197962726 0,48445621085532 0,05201068654705 -0,01486368627232 2 -0,14970732290079 0,49188805399148 0,01590900877948 -0,00162360247951 3 -0,15766182729053 0,49269985523124 0,00415650040598 -0,00060176178168 4 -0,15974007749352 0,49300073612208 0,00112699763710 -0,00014778689395 5 -0,16030357631207 0,49307462956905 0,30185659548132Є-003 -0,04057349704267е-003 6 -0,16045450460981 0,49309491631757 0,81078567736370Є-004 -0,10816249702006е-004 7 -0,16049504389368 0,49310032444242 0,21757909883291е-004 -0,02907907932448е-004 8 -0,16050592284862 0,49310177839639 0,58400898532707е-005 -0,07800829002758е-005 9 -0,16050884289355 0,49310216843784 0,15674466082305Є-005 -0,02093981010809Є-005 10 -0,16050962661685 0,49310227313689 0,42070023331675е-006 -0,05619980802951 е-006 Таблиця 6.2 Результати за методом Ньютона п *,/л Р(х„,уп) 0 0,00000000000000 0,50000000000000 0,24740395925452 0,03108757828936 1 -0,16157349074847 0,49477298710696 -0,00083268614150 0,00339164334075 2 -0,16051012047714 0,49310234157224 -0,30075298884658е-006 0,04546042264852е-006 217
Таблиця 6.3 Результати за модифікованим методом Ньютона п Хп/Уп 0 0,00000000000000 0,50000000000000 0,24740395925452 0,03108757828936 1 -0,16157349074847 0,49477298710696 -0,00083268614150 0,00339164334075 2 -0,16049344201748 0,49311303314888 0,30221158960286Є-004 0,23693996680674е-004 3 -0,16051012708198 0,49310284809402 -0,00709786328046е-005 0,10998798084527Є-005 4 -0,16050991066538 0,49310231758127 0,08156471609233Є-007 0,12858011322336Є-007 Таблиця 6.4 Результати за методом Бройдена (“добра” формула Бройдена) п V у* Пхп,Уп) 0 0,00000000000000 0,50000000000000 0,24740395925452 0,03108757828936 1 -0,16157349074847 0,49477298710696 -0,00083268614150 0,00339164334075 2 -0,16050025232154 0,49312350007584 0,24781941794283Є-004 0,44930518593445Є-004 3 -0,16051001372505 0,49310267853269 0,02176318936176е-006 0,75610537053628е-006 Таблиця 6.5 Результати за методом Бройдена (“погана” формула Бройдена) п Х„!У„ Пхя,У„) 0 0,00000000000000 0,50000000000000 0,24740395925452 0,03108757828936 1 -0,16157349074847 0,49477298710696 -0,00083268614150 0,00339164334075 2 -0,16050025232154 0,49312350007584 0,24781941794283е-004 0,44930518593445Є-004 3 -0,16051001372505 0,49310267853269 0,02176318936176Є-006 0,75610537053628е-006 218
Таблиця 6.6 Порівняльна таблиця кількості ітерацій X 0 у. Є Метод Ньютона модифі¬ кований Ньютона Бройдена (“добрий”) Брой¬ дена (“пога¬ ний”) простої ітерації 0 10~3 2 2 2 2 5 0,5 1(Г6 2 4 3 3 10 0 10~3 3 7 5 5 7 5 10~6 4 12 7 7 13 0 10~3 5 6 7 7 6 50 1(Г6 6 8 9 9 12 Таблиця 6.1 Кількість ітерацій для отримання розв’язку методом простої ітерації залежно від точності та початкового наближення Приклад *0 У9 Є Кількість ітерацій 6.1 0 0,5 103 5 0 0,5 І0‘б 10 0 5 10‘3 7 0 5 10~6 13 0 50 10~3 6 0 50 1(Г6 12 6.2 0,3 0,6 1(Г3 4 0,3 0,6 10~6 5 3 6 103 6 3 6 106 7 зо 60 103 6 зо 60 10‘6 7 6.3 -0,8 0,4 І0‘3 5 -0,8 0,4 10"6 9 -8 4 103 7 -8 4 10‘6 11 -80 40 10‘3 6 -80 40 10"6 11 219
Приклад 6.2: Г зіп(дг н-1) — >> = 1; [2х + со8>' = 2. Приклад 6.3: сов^х - у) - 2у = 0; вігі ^ (х + х) - 2х - 0. Для тестування інших методів вибрано суттєво нелінійну систему рівнянь. Розв’язки шукали з вищою точністю є = ІО“10 Приклад 6.4: (Вох-Зй) рі(х) = е,‘х' -е"л -*з(<?-'' /,=0,1 і; х0 = (0,10, 20), « = 3. Таблиця 6.8 Результати для методу Ньютона к хк Пхк) 0 0,00000000000000 10,00000000000000 20,00000000000000 -10,10703897846179 -12,80324468006400 -12,87041011464494 1 0,73140661840952 10,35235406498873 1,06515277411398 0,00238503304962 0,00986766305003 0,02213617686076 2 0,97285320166996 10,03576399920959 1,00686111436599 0,00008888501503 0,00073299075519 0,00184796342413 3 0,99968417296274 10,00041082505432 1,00007956175671 0,00969442147003е-004 0,08464319049106е-004 0,21350554461175Є-004 4 0,99999995670238 10,00000005602048 1,00000001087200 0,01408034799866Є-008 0,11762544271932Є-008 0,29465394568717е-008 5 1,00000000000000 9,99999999999999 1,00000000000000 0,00000000000000 0,00000000000000 0,00000000000000 220
Таблиця 6.9 Результати для модифікованого методу Ньютона к Пхк) 0 0,00000000000000 10,00000000000000 20,00000000000000 -10,10703897846179 -12,80324468006400 -12,87041011464494 1 0,73140661840952 10,35235406498873 1,06515277411398 0,00238503304962 0,00986766305003 0,02213617686076 2 0,88255396506644 10,14173399449066 1,02701574685707 0,00136061109407 0,00477899890502 0,00997098887793 3 0,94450106397030 10,06792550837326 1,01295624577085 0,00056912503035 0,00211023211759 0,00448874795160 4 0,97301934403361 10,03308679400520 1,00631820740130 0,00026717891037 0,00100469123042 0,00214632743399 5 0,98671594855834 10,01630589514298 1,00311531930616 0,00012936540977 0,00048974301541 0,00104838025205 6 0,99342015210592 10,00808014854500 1,00154412884526 0,06356486554415е-003 0,24141256274979Є-003 0,51728439153143Є-003 ■ ■■■ 24 0,99999997662342 10,00000002871859 1,00000000548948 0,02240788665731е-008 0,08536675810689Є-008 0,18308820015633Є-008 28 0,99999999856007 10,00000000176899 1,00000000033814 0,01380262570905е-009 0,05258338209302е-009 0,11277712097524Є-009 29 0,99999999928265 10,00000000088127 1,00000000016845 0,06876277325318е-010 0,26196378399845Є-010 0,56183835361878Є-010 221
Таблиця 6.10 Результати для методу Бройдена (“добра” формула Бройдена) к ** Пхк) 0 0,00000000000000 10,00000000000000 20,00000000000000 -10,10703897846179 -12,80324468006400 -12,87041011464494 1 0,73140661840948 10,35235406498895 1,06515277411398 0,00238503304964 0,00986766305004 0,02213617686078 2 0,88287380135203 10,14128831057684 1,02693504676268 0,00135849683538 0,00476880728243 0,00994674728495 3 0,98100993018913 10,02442083992161 1,00466922025877 0,00011004647975 0,00058392806481 0,00136934487098 4 0,99990281883009 10,00015956870613 1,00003531340191 -0,42982964209015е-005 -0,39008354660863е-005 -0,04209911764752Є-005 5 1,00001621042363 9,99998015531846 0,99999621184190 -0,01627426496897Є-005 -0,06027182691826Є-005 -0,12813525788191 е-005 6 1,00000220223403 9,99999729506027 0,99999948304749 -0,02119376474319е-006 -0,08053903910454е-006 -0,17260740070579Є-006 7 0,99999999464401 10,00000000657836 1,00000000125735 0,05149036752528Є-009 0,19581258836610е-009 0,41973213793511е-009 8 0,99999999999989 10,00000000000013 1,00000000000003 0,09992007221626Є-014 0,39968028886506е-014 0,85487172896137е-014 Приклад 6.5: Функція Розенброка [33]: і72м(х) = 10(л:2/-4-.); ^,(х) = 1-х2,_і, і = 1, 2, х0=(-1,2; 1; -1,2; 1); х* =(1; 1; 1; 1); и = 4, ^ = 0. Приклад 6.6: Функція Вуда [9]: 7^(х) = 10(х2 -х2); ^2(х) = 1-дг,; Г2(х) = лі90(х4-х32); ад = 1-х3, *0=(-3; -1; -3; -1); *’=(!; 1; 1; 1); F = 0. 222
Таблиця 6.11 Результати для методу Бройдена (“погана” формула Бройдена) к хк 0 0,00000000000000 10,00000000000000 20,00000000000000 -10,10703897846179 -12,80324468006400 -12,87041011464494 1 0,73140661840952 10,35235406498873 1,06515277411398 0,00238503304962 0,00986766305003 0,02213617686076 2 0,88287380135204 10,14128831057685 1,02693504676268 0,00135849683538 0,00476880728243 0,00994674728495 3 0,98100993018919 10,02442083992152 1,00466922025875 0,00011004647975 0,00058392806481 0,00136934487098 4 0,99990281883005 10,00015956870620 1,00003531340192 -0,42982964204574е-005 -0,39008354653092е-005 -0,04209911742548Є-005 5 1,00001621042366 9,99998015531839 0,99999621184189 -0,01627426498008Є-005 -0,06027182696267Є-005 -0,12813525807065е-005 6 1,00000220223401 9,99999729506031 0,99999948304750 -0,02119376463217е-006 -0,08053903899352е-006 -0,17260740003966Є-006 7 0,99999999464403 10,00000000657831 1,00000000125734 0,05149003445837Є-009 0,19581192223228Є-009 0,41973069464518е-009 8 0,99999999999989 10,00000000000013 1,00000000000003 0,11102230246252е-014 0,42188474935756е-014 0,91038288019263Є-014 Таблиця 6.12 Порівняння кількості ітерацій для функцій Розенброка, Вох-ЗР і Вуда Функція п Мето Д Ньютона модифі¬ кований Ньютона Бройдена (“добра” формула) Бройдена (“погана” формула) градієнт¬ ний Розен¬ брока 2 2 2 3 3 795 4 2 2 3 3 1131 8 2 2 3 3 1119 Вох-ЗР 3 5 29 8 8 4583 Вуда 2 2 2 3 3 924 4 2 2 3 3 940 8 2 2 3 3 1073 223
6.11. Тестові завдання Наведемо низку поширених тестових завдань, які використовуються для апробації методів розв’язування нелінійних систем рівнянь та порівняння їх між собою. Приклад 6.7. Функція Ковалика та Осборна [33]: иі + И,Хз + х4 у = (0,1957; 0,1947; 0,1735; 0,1600); и = (4,0000; 2,0000; 1,0000; 0,5000); х0 — (0,25; 0,39; 0,415; 0,39); х* = (0,1995; 0,2085; 0,2171; 0,2954); ^ = 0. Приклад 6.8. Вох-ЗО функція [9]: ^(х) = е~'Л -Хз(е-'' -е-щ); і, = 0,1/, х0 = (0; 10; 20), х* = (1; 10; 1); ^ = 0. Приклад 6.9. Функція [33]: і^(х) = х, -13 + х2(х2(5-х2)-2); ^(х) = х, - 29 + х2(х2(х2 +1)-14); х0 =(15; -2), х* = (5; 4), /г = 0. П р и к л а д 6.10. З необхідної умови мінімуму функції Ф(х) = х,2 +100(х,2 - х, - х2 )2 отримаємо таку систему нелінійних рівнянь: Ь\ (х) = 2х, + 200(х2 - х, - х2 )(2х, -1) = 0; 1*2 (х) - -200(х,2 - х, - х2) = 0; х0=(1;1); х* = (0; 0). 224
Приклад 6.11. “Погана” функція Пауелла [33]: ^(х) = 104х,х2 -1; F2(x) = ex' +е~х> -1,0001; х0 = (0; 1); х* =(1,098...Ю“5; 9,106...); F = 0. П р и к л а д 6.12. Сингулярна функція Пауелла [33]: ^(х) = х,+10х2, F2(x) = V5(х3-х4); F3(x) = (х2 -2х3)2, F4(x) = VT0(x, -х4)2; х0=(3;-1;0;1), F = 0. П р и к л а д 6.13. Тригонометрична функція [33]: п Fi (х) = п - cos Xj + /(1 - cos х.) - sin ;; y=l x0 n = 4, F = 0. n n n Приклад 6.14. Функція скінченнорізницевої крайової задачі [33]: Ft (х) = 2х,. - х,_, - хі+| + h2 (х,. + tj +1)3 /2; h = 1/(и +1), = /А, х0 = хи+1 = 0; х0=(^), $,=/,(*,-1), F = 0. П р и к л а д 6.15. Тридіагональна функція Бройдена [33]: F, (•*) = (3 - 2х, )х,. - х,_, - 2х,+1 +1, х0 = хп+| = 0; х0 = (—1;—1;...;—1), F = 0, и = 4,8,16,32,64,128. П р и к л а д 6.16. Об'єднана функція Бройдена [33]: F,(х) = х,.(2 + 5х2) +1 - £ Xj (1 + Xj); jeJi j і ={}'■ І ф U rnax(l, і-т,)< j < шіп(и, і + ти)}; т, =5, ти =1, х0 =(-1;-1;...;-1), F = 0, п = 4. 225
Завдання до розділу 6 6.1. Ітераційними методами з точністю є = 1 (Г4 розв'язати такі системи. Початкове наближення знайти графічно. Г8Іп(л: +1) - у -1 = 0; [2х + соз(у) -2 = 0. Гзіп(х) - у -1,32 = 0; [соз(>’) - х + 0,85 = 0. Г 8Іп(лг — 0,6) — —1,6 = 0; [Зх - соз(>>) - 0,9 = 0. Гсов(х -1) + у -1 = 0; [віп^) + 2х -1,6 = 0. (х - соз(>>) - 2 = 0; [соз(х -1) + у - 0,8 = 0. у-0,5х2 + х-0,5 = 0; 2х + у-—у3 -1,6 = 0. 6 8) {* 7 1 °’ [ху3 ->>-4 = 0. > (со8(0,4 у ■+■ х2) + х2 + у2 — 1,6 = 0^ [і,5х2 -2у2 -1 = 0. Г віпГх + у) — 1, Зх — 0,1 = 0; Ю) 2 / [х +}> -1 = 0. 11) |2*2 + Зу2 -6у-4 = 0; {х2 - Зу2 + 4х - 2 = 0. 12) [х + у - 8Іп(х) = 0. 226
13) 14) 15) 16) 17) 18) 19) 20) 21) 22) 23) 24) Г sin(jc + у) -1,1* + 0,2 = 0; \х2 + у2 -1 = 0. \tg{xy + 0,A)-x2 =0; |o,5jc2 +2у2 -1 = 0 , х>0, >>.>0. je** -X2 + у-1,5 = 0; |(х + 0,5)2+/-1 = 0. Г 2х2 —ху — 5jc + 1 = 0; |x + 31g(x)-y2 =0. fx2y2-Зх3-6у3+8 = 0; |/-9j/ + 2 = 0. Jsin(2jc->’)-l,2x-0,4 = 0; |o,8x2 + l,5y2 -1 = 0. J sin(x) - y-1,32 = 0; {cos(x) - X + 0,85 = 0. Ы*-1)-1 = 0; [x2 -y2 -1 = 0. hx2+y2-l = 0; [jc3 + 6 x2y -1 = 0. j2x - у - 6 lg(x) -3 = 0; [l 5x -1Oy - 60 IgOO -6 = 0. f5x - 6 у + 20 lg(x) + 16 = 0; [2x + у -10 lg(x) -4 = 0. *-^-61gO)-l = 0; x-Ъу-б \g{y) -2 = 0. 227
Розділ 7 ПОЛІНОМІАЛЬНЕ ІНТЕРПОЛЮВАННЯ Однією з головних задач чисельного аналізу є задача про інтерполювання функцій. У математиці під інтерполюванням розуміють задачу знаходження невідомого значення певної величини за декількома відомими її значеннями. Крім того, може виявитися, що функція задана формулою, і обчислення її значень за цією формулою дуже трудомістке, тому бажано мати для функції простішу формулу, яка б давала змогу відшукати наближене значення функції з потрібною точністю в будь-якій точці. У підсумку виникає така математична задача. Нехай на відрізку [а, Ь~\ задана функція у = /(х) такими п +1 значеннями: 7о=/(*о)> -Vi=/(*|), -,yn=f(x„) в точках х0 = а <х, <х2 <...<х„ = b , які називають вузлами інтерполяції. Треба побудувати інтерполянту - функцію F(x), яка збігається з функцією /(х) у вузлах інтерполяції F(xi) = yi, г = 0,и. Головна мета інтерполяції - отримати швидкий алгоритм обчислення значень функції F(x) для значень х , що не містяться в таблиці даних. Якщо аргумент х , для якого обчислюють наближене значення функції, не належить заданому відрізку [а, 6], то таку задачу називають екстраполяцією. Геометрично задача інтерполювання для функції однієї змінної у = /(х) означає побудову кривої, що проходить через точки площини (х,,у,), у, = f (х,), і = 0,«. Таких кривих F(x) може бути безліч, тому задача в такому формулюванні досить невизначена. 228
Ця задача стає однозначною, якщо за інтерполяційну функцію вибрати багаточлен Fn(x) степеня не вище п, для якого FSxi) = yi,i = d,n. Багаточлен F„(x), що задовольняє ці умови, називають інтерполяційним багаточленом, а відповідні формули - інтерполяційними формулами. Якщо інтерпольована функція f{x) періодична, то F(x) вибирають з класу тригонометричних функцій. У разі інтерполювання виникають такі задачі: 1) вибір найзручнішого способу побудови інтерполяційної функції для кожного конкретного випадку; 2) оцінка похибки в разі заміни /О) інтерполяційною функцією F(x) на відрізку [а, 6]; 3) оптимальний вибір вузлів інтерполяції для отримання мінімальної похибки. 7.1. Інтерполяційний багаточлен Лагранжа Найзагальнішою формулою інтерполювання є інтерполяційна формула Лагранжа. Задачу формулюють так. Треба побудувати поліном Ьп(х) степеня п, який в п +1 заданих точках - вузлах інтерполяції х0,х1,...,хп - набуває наперед заданого значення у0,уІ,...,у„ ■ Багаточлен Лагранжа має вигляд (*) = Е, ) ■ (7.1) *=о (х-хі)(0„+І(хі) Де п юл+І(*) = П(*~х*) к=0 <+1 (**) = (** -хо)-(хк~хк-])(хк ~хш)-(хк -*„)• (7-2) Різницю гп(х) = /(х)-Ь„(х) називають похибкою інтерполювання, або залишковим членом. У вузлах інтерполювання похибка перетворюється в нуль, в інших точках відмінна від нуля. Похибку багаточлена Лагранжа виражають формулою Ф) = - —ю„+і(*)> Де ^є[а,6]. (7.3) (и + 1)! 229
Якщо шах|/<и+|)(х)| =МП+1, хє[а,Ь\, то для похибки справджується оцінка М №)|<—^-К+1(*)|. (7.4) (и + 1)! Інтерполяційний багаточлен Лагранжа зручно записувати у вигляді І (х) = У/(* ) (*-*оХ*-*і)-(*-^-і)(*~^і)-(*-*,) (75) *=0 4 (хк-Х0)(хк-*,)...(**-х*_,)(х*-хк+])...(хк-х„) П р и к л а д 7.1. Побудувати багаточлен третього порядку, що набуває значень, заданих такою таблицею: X 1 2 3 5 У 1 5 17 89 Розв’язування. Скористаємося формулою (7.5): £ _х(х- 2)(х - 3)(х - 5) , 5 (х- IX* ~ 3)(х - 5) (1-2X1-3X1-5) (2 -1)(2 - 3)(2 - 5) | 17(х-1)(х-2)(х-5) | (х - 1)(х - 2)(х - 3) ^ (3-1)(3-2X3-5) (5-1)(5-2)(5-3) = --(х3 -1 Ох2 + 3 їх - 30) + -(х3 - 9х2 + 23х -15)- 8 17 89 (х3 -8х2 +17х-10) +—(х3 -6х2 + 11х-6) = 4 З 89 24' 1 5 17 89. 2,5 45 89. = х (— + + —) + х ( + 34 ) + 8 3 4 24 4 3 4 , 31 115 289 979. Л5 „ 170 89ч + х( + + ) + ( 25 + ) = 8 3 4 24 4 4 4 = х3 —2х2 +3х-1. 230
Приклад 7.2. З якою точністю можна обчислити у[Ї25 за допомогою інтерполяційної формули Лагранжа для функції у = у/х , вибравши вузли інтерполювання 100, 121,144 ? Розв’язування. Скористаємося формулою (7.4). Знайдемо похідні для функції /(х) = у[х /'«=-гт=; /'(*)=—/'(*)=■ 3 Тоді M3 = max | f”(x) \= = flO’5 8 VI00 8 Отже | r2 |< -10“5 • — I (125 -100)(125-121)(125 -144) |* 1,2 • 10“3 8 3! Кількість арифметичних дій під час обчислення за формулою Лагранжа пропорційна до п2 Якість інтерполяції за Лагранжом залежить від двох чинників: вибору вузлів хк та властивостей функції /(х) Як видно з (7.1), останні два чинники відокремлені: багаточлени со„+І(х) залежать лише від вузлів, а властивості функції враховує множник /(хк). Тому завдяки вибору вузлів інтерполювання можна зменшити похибку в (7.4). Обчислювальне застосування (7.1) має суттєвий недолік, оскільки треба наперед визначити п +1 вузлів інтерполювання, необхідних для досягнення прийнятної точності. Якщо ж потрібно додавати нові вузли інтерполювання, то обчислення треба виконувати заново. Тобто у формулі (7.1) не тільки з’являються нові доданки, а й необхідно перераховувати всі раніше знайдені члени суми, бо в них з'являються нові множники. 7.2. Схема Ейткеиа У випадку, коли нас цікавить значення інтерполяційного багаточлена Лагранжа в деякій точці х, а не загальний його вигляд, зручно користуватись інтерполяційною схемою Ейткена. Обчислювальний алгоритм має вигляд, як у табл. 7.1, де 231
Аи2...иС*) ~ " х„ -хп 012...(п-1) A23...M С*) (*) Хд х-х - інтерполяційний багаточлен Лагранжа за вузлами д:0, jc, ,..., . Кожен з Lon к(х) отримують з Ц '012...(А-1) (*) та А23 jW перехресним множенням та діленням. Із застосованням схеми Ейткена поступово можна залучати щораз нові значення вузлів хк доти, доки обчислення не засвідчать, що точність уже не зростає. Таблиця 7.1 Схема Ейткена Хк /» х„-х Lк-\,к ^к-2,к-\,к Lk-4,k-],k-2,k-l,k Хо /о х0-х X, f, X, - X АїІ (-*) х2 /2 хг — X ^12 (*) х3 /з хъ-х М*) ^123 (*) ^/012з(Л') х4 /4 х4-х Lu(x) ^234 (*) ^І234(*) ^01234 (■*) х5 /з х5 - X ^345 (■*) ^“2345 (*) А 2345 (*) Приклад 7.3. Користуючись таблицею значень sin* для х є [0,65; 0,7] з кроком /г = 0,01, знайти наближене значення sinx при х = 0,676. Розв’язування. Обчислення наведено в табл. 7.2. Таблиця 7.2 Схема Ейткена для функції sin х ** fk хк -х Af-I .к Lk-2,k-t,k ^к-г.к-2.к-\,к 0,65 0,6051864 -0,026 0,66 0,6131169 -0,016 0,6528056 0,67 0,6209860 -0,006 0,6257075 0,6256780 0,68 0,6287930 0,004 0,6256702 0,6256777 0,6256777 0,69 0,6365372 0,014 0,6256954 0,6256778 0,6256777 0,625677 0,70 0,6442177 0,024 0,6257845 0,6256775 0,6256777 0,6256777 Отже, sinx = 0,625678. 232
7.3. Інтерполяційний багаточлен Ньютона Розглянемо інше зображення формули Лагранжа, яке допускає послідовне уточнення результатів обчислень у разі додавання нових вузлів. Крім того, часто не потрібно зазначати степінь інтерполювання. Це інтерполяційний багаточлен Ньютона Р(х) = /(хJ + (х - х0 )/(х0, х,) + (х - х0 )(х - х, )/(х0, х,, х2) + (7.6) + + (x-x0)(x-x1)...(x-x„_1)/(x0,xl,...,x„) + ..., де f(x0,x{,...,xk) - поділена різниця к-го порядку. Для неї відома рекурентна формула v v ч /(Л,*,+!,->хм) ~/(*,-1 */+*-1) _ J yXj_\,Xj,...,Xj+k) — — */+* £<о'(х,) <о(х) = (х - х,)(х - хм )...(х - хі+к). (7.8) Багаточлен Р„ (х) = /(х0) + (х - х0 )/(х0 ,*,) + (*-*„ )(х - х, )/(х0, х,, х2) + + + (х - х0 )(х - х,).. .(х - х„_, )/(х0, X,,..., х„ ) (7.9) називають інтерполяційним багаточленом Ньютона інтерполювання вперед для нерівновіддалених вузлів. Його зазвичай використовують для наближення функції біля початкового вузла. Залишковий член має вигляд К„+і(х) = (х-х0)...(х-х„)/(х0,х,,...,хи). (7.10) Якщо ж відома похідна функції, то /(х0,х,,...,х„)=^ (7.11) («4-1)! де - деяка точка, яка належить найменшому проміжку, що містить усі точки х,х0,..., хп На відміну від полінома Лагранжа, в якого кожний член залежить від усіх вузлів інтерполювання, будь-який к-\л член багаточлена Ньютона залежить лише від к перших вузлів інтерполювання і від значення функції в цих вузлах. 233
Якщо вибрати порядок вузлів Х„,ХЯ_,,...,Х0 , то одержимо інтерполяційний багаточлен Ньютона інтерполювання назад для нерівновіддалених вузлів: Р„ (х) = /(■*„ )+(х-х„ )/(х„, х„_,) + + (*-*„)(*- Х„-\ )/(Х„ > Хп-1 >Хп-2 ) + (7-12) + (х - Х„ Xх - ) • • • О - X, )/(х„, Х„_,,..., Х0 ). У випадку рівновіддалених вузлів х, = х,_, + й у формулах (7.9) та (7.12) поділені різниці замінюють скінченними різницями /(*..*,- = <7-13> Одержимо, відповідно, інтерполяційну формулу Ньютона інтерполювання вперед для рівновіддалених вузлів г,/ ч 'О-О .2 '('-1)0-2) а3 РЛх)=Уо + ^АУо Уо + ——Ау° +-+ /(/“ —1)...(/ — А: Ч-1) к +-——г, -Д Ч; к\ (7.14) ^ _ р^к+І !)•••(' *) /~<*+ІУ^л • / _ х хо ■ (£ + 1)! _ к ' та інтерполяційну формулу Ньютона інтерполювання назад для рівновіддалених вузлів г> ґ \ * * + 1) А 2 !)(' + 2) з РЛх) = Уп +—Ау„_, +-Ц—^А2Л-2 + “ ^ -д У з +•••+ К (7.15) /(/ + 1)...(/ + *-1)4* +±-±Ті—-АЧ-‘; ^ _ ^к+1'(' + !)...(' + к) ,(*+І) „ (£ + 1)! Зокрема, для п = 1: /(х)» у0 + /Ду0 - лінійна інтерполяція; для п = 2:/(х)&у0+ іАу0 + ——— Д2у0 - квадратична інтерполяція. 234
Формулу Ньютона інтерполювання вперед використовують у разі інтерполювання функції для значень х, близьких до початкового вузла х0, а інтерполювання назад - до хп. З оцінок похибки багаточлена Ньютона видно таке: якщо перейти від таблиць з великим кроком, до таблиць з дрібним кроком, то похибка методу буде спадати як /гя+1 Тому говорять, що багаточлен Ньютона має похибку 0(кп+') і забезпечує (п + 1)-й порядок точності інтерполяції. Інтерполяцію застосовують у багатьох задачах, а не лише для обчислення табульованої функції за будь-яких значень аргументу. За допомогою поділених різниць контролюють точність таблиць. Для цього складають таблиці поділених різниць різних порядків для сусідніх вузлів і аналізують їхню поведінку. Якщо, наприклад, другі скінченні різниці змінюються хаотично, то лінійну інтерполяцію застосовувати не можна. Інтерполяцію використовують для субтабулювання - згущення таблиць. Алгоритми безпосереднього обчислення багатьох функцій досить складні. Тому в разі математичного табулювання функцію безпосередньо обчислюють у невеликій кількості вузлів, тобто з великим кроком. Потім за допомогою інтерполяції високого порядку точності сітку вузлів згущують і складають детальну таблицю. Крок цієї таблиці вибирають таким, щоб найпростіша інтерполяція (двоточкова) забезпечила потрібну точність. У випадку розрахунків на комп’ютерах задання детальних таблиць невигідне, бо вони займають багато місця в пам’яті, а час пошуку стає більшим від часу виконання алгебричних дій. Вигідніші таблиці з великим кроком, хоч у цьому разі потрібні складніші й точніші способи інтерполювання. Приклад 7.4. З тисячі народжених до віку 20, ЗО, 40, 50, 60 років доживають, відповідно, 800, 770, 720, 640, 520 людей. Скільки людей із тисячі доживають до 25 і 55 років? Розв’язування. Спочатку відшукаємо значення /(25). Оскільки 20 <25 <30, то застосуємо інтерполяційну формулу Ньютона інтерполювання вперед (7.14): *^ = 25-20 Ь 10 Побудуємо таблицю скінченних різниць: 235
і X, У, Ау А2у AV AV 0 20 800 -ЗО 1 ЗО 770 -50 -20 -10 2 40 720 -80 -ЗО -10 0 3 50 640 -120 -40 4 60 520 Тут АЧ=А‘Ч-Д*"’Л-. Використаємо верхній рядок таблиці: /(25) = 800+0,5 • (-30) + °’5' (~°’5) (-20) + °’5' (~°’5)'(-1,5) (-10) = 2 6 = 800-15+2,5-0,625 = 786,875 «787. Для знаходження значення функції в точці х = 55 скористаємося інтерполяційним багаточленом Ньютона інтерполювання назад (7.15) та нижніми значеннями в кожному стовпці таблиці скінченних різниць: /(55) = 520-0,5-(-120)+( °’5)'°,5(-40) +( °’5)'°,5'1,5(-10) = 2 6 = 520 + 60 + 5 + 0,625 = 585,625 * 586. Приклад 7.5. З використанням таблиці значень функції у = sin х для х = 30 °,35 °,40 °, 45 °,50 °,55 0 відшукати значення sin 54° і sin 56°. Визначити точність обчислень. Розв’язування. Побудуємо таблицю скінченних різниць: п X У Ау А2 у А3 у А4 у 0 30° 0,5 0,0736 1 35° 0,5735 0,0692 -0,0044 -0,0005 2 40” 0,6428 0,0643 -0,0049 -0,0005 0 3 45° 0,7071 0,0589 -0,0054 -0,0004 0,0001 4 50° 0,7660 0,0532 -0,0057 5 55° 0,8192 236
Використаємо інтерполяційний багаточлен Ньютона інтер- 54° - 55° полювання назад (7.15). Обчислимо t = —— = -0,2. Тоді sin 54° * 0,8192 + (-0,2) • 0,0532 - (~°,2)-0,8 ^ 005? _ - 0,0004 * 0,809016. 6 Залишок визначимо за другою з формул (7.15) Чх) = h* t(t + \)(t + 2)(t + 3) У нашому прикладі h = 5° « 0,0873; /(/И)(£) = sin^ < 1. Тоді Я,(54°) < 0,08734 0,2'°,8'Ь8'2-’8 * 0,2• IO'5 24 Отже, sin 54° «0,8090. Аналогічно знайдемо sin 56°: 56°-55° л„ *=—j.—=0,2; 02-1 2 02 1 2-22 sin 56° и 0,8192 + 0,2 • 0,0532 —г —0,007 —г - 2-0,0004 < 2 6 « 0,829038; | Ä3(56°)|< °’°8734'0,2-1,2-2,2-3,2 я м.10_ 24 Отже, sin 56° «0,8290. 7.4. Інтерполяційний багаточлен Ерміта Нехай табульована не лише функція, а також її похідні до деякого порядку. Тоді можна домагатися, щоб у вузлах інтерполяції збігалися не лише значення шуканої функції /(х) та інтерполяційної функції Ь„(х), а й значення похідних до певного 237
порядку. Таку інтерполяцію називають ермітовою, а якщо Ьп{х) - алгебричний багаточлен и-го степеня, то його називають інтерполяційним багаточленом Ерміта. Він має вигляд Яи(х) = Ія(х) + ши+1(х)Яи_и_1(х), (7.16) де т + 1 = а0 +а, +... + а„ - кількість умов, що накладаються на функцію /(х), тобто а0 - кількість значень функції у вузлах; а, - кількість значень першої похідної у певних вузлах; а2 - кількість значень другої похідної у певних вузлах і так далі; Ьп(х) - інтерполяційний багаточлен Лагранжа; юя+, (*) = (х - х0)(х - х,)...(х - х„) . Формула (7.16) є рекурентною, тобто кожного разу треба шукати багаточлен Ерміта нижчого порядку , для якого потрібно задавати свої умови. їх знаходять диференціюванням (7.16). У цьому разі порядок заданих похідних буде зменшуватись весь час на одиницю. Цей процес повторюють доти, доки залишиться побудувати інтерполяційний багаточлен Лагранжа за деякими точками х,. Приклад 7.6. Нехай функція задана таблицею X 0 1 2 У 1 2 129 V 0 7 448 У' 0 1344 Побудувати інтерполяційний багаточлен Ерміта. Розв’язування. Всіх умов є вісім, тобто т +1 = 8. Отже, степінь багаточлена Ерміта т = 7 Оскільки задано три вузли, то степінь багаточлена Лагранжа п = 2. Тобто шукаємо #7 (х) = Ь2 (х) + оо3 (х)Н4 (х). Побудуємо інтерполяційний багаточлен Лагранжа (£-1)^ + 2 = 2 2 -1 2 = 63х2 — 62х +1. 238
Тоді Я7 О) = 63х2 - 62х +1 + х(х - 1)(х - 2)Я4 (х). Продиференціюємо цей вираз: Н!!(х) = П6х-62 + (Зх2-6х + 2 )Я4(х) + (х3-Зх2+2 х)Н'4(х). Підставимо сюди значення х = 0,1,2 (з урахуванням, що Я' О,.) = у'), отримаємо Я4(0) = 31; Я4(1) = 57; Я4(2) = 129 Друга похідна від Н7(х) має вигляд Я"(х) = 126 + (6х-6)Я40) + 2(3х2 -6х + 2)Н\(х) + + (х3-Зх2+ 2 х)Н"4(х). Звідси знайдемо значення Н4(х) в точках х = 0 та х = 2: я;(0) = і5 я;(2) = ш. Задача звелася до відшукання багаточлена Я4(х), що задовольняє такі умови: X 0 1 2 Я4(х) 31 57 129 Н[(х) 15 111 Знову використаємо формулу (7.16): Н4 (*) = Аг (*) + ®з (х)ні О)- Г2 (х) = 31 •~1)(Х ~ + 57 • Х(<Х ~ 2) +129 • ~= 23х2 + Зх + 31. 2 2 -1 2 Тобто Я4(х) = 23х2 + Зх + 31 + (х3 - Зх2 + 2х)Я, (х). Продиференціюємо останній вираз: Н4 (х) = 46х + 3 + (Зх2 - 6х + 2)Я, (х) + (х3 - Зх2 + 2х)Н[(х). Підставимо сюди х = 0 та х = 2, одержимо Я,(0) = 6; Я,(2) = 8. 239
Для Я, (х) маємо таблицю X 0 2 Я,(х) 6 8 Отже, Я, О) = Ц (х) = х + 6. Остаточно Н1 (х) = 63х2 - 62х +1 + + х(х - 1)(х - 2)[23х2 + Зх + 31 + х(х - 1)(х - 2)(х + 6)] = х7 +1. 7.5. Найліпше наближення і поліноми Чебишова, що найменше відхиляються від нуля Абсолютна похибка (7.3) методу інтерполювання на заданому проміжку [а, Ь] для заданої функції /(х), тобто за фіксованої величини /<я+1)(^), залежить лише від сои+1(х). Однак поліноми со„+І(х) визначені повністю вузлами інтерполяції х0, х,, ...,х„. Природно тепер сформулювати таку задачу: як потрібно на [а, Ь\ розташувати вузли інтерполяції, щоб похибка методу була найменшою? Розв’язком її є багаточлен, що найменше відхиляється від нуля на [а, Ь]. На відрізку [-1,1] таким буде багаточлен Чебишова першого роду (п + 1)-го степеня = + (7.17) 2к +1 з простими коренями ґ* =сов п (к = 0,1,...,и) Всі ці корені 2 (п +1) к лежать усередині відрізка [-1,1]. Точки ^ скупчуються на краях відрізка [-1, 1]. Всі максимуми дорівнюють , а мінімуми дорівнюють ~, тобто |7;+1(01<^г- Отже, со„+1(х) матиме найменше можливе значення вир | юи+, (х) | за умови, що за нулі інтерполювання взято корені 240
багаточлена Чебишова, і в цьому випадку оцінка похибки матиме вигляд Ґ+'Ч^) гп+,< — (7.18) п+І 2"(п + 1)! Якщо інтерполювання виконують на' довільному проміжку [а, Ь], то лінійною заміною а+Ь Ь—а х = і і його можна перевести в [-1,1]- Тоді корені багаточлена Г„+І(х) перейдуть у *; =і[(6-а).С08|^л + (6 + а)]. (7.19) 2 2п + 2 Оцінку похибки в цьому випадку виражають так: /•(«+!) /еч Лп*\) ,рч _ ч»+1 Г(х) = і ^(0 (*)</ “> (7.20) (и + 1)! (и + 1)! 2 оскільки | сол+І(х) |<2у+І Багаточлени Чебишова можна отримати за рекурентними формулами Т^(х) = 2хТ„(х)-Т„_](х) (7.21) де Т1(х) = х, Т2(х) = 2х2 -1 Багаточлени Чебишова є ортогональними на [а,Ь\ з вагою 1 р(х)-- х2 Приклад 7.7. Оцінити похибку інтерполяції функції /(х) багаточленом Лагранжа п'ятого порядку в точках *е[оф, якщо вузли інтерполяції 241
<=|(1 + со5л(2™ + 1)); т = 0,5; |/(/ю(х)|<1. Розв’язування. За формулою (7.20) для нашого прикладу маємо ґ—\6 1 V я6 я6 | г5(*) |< V = -7 п = -7 < 0,0000006. 6! 2" 3 -360-2 З6-368640 7.6. Обернене інтерполювання Задача оберненого інтерполювання полягає в такому. Нехай на відрізку [а,Ь\ задані точки хй,х,,...,хп і значення деякої функції /(х) в цих точках: Уо =/(*о)> Д'і =/(*,), -> Л = /(*„) За заданими значеннями функції /(х) потрібно знайти відповідне значення аргументу х. У випадку нерівновіддалених вузлів цю задачу легко розв’язати за допомогою інтерполяційного багаточлена Лагранжа. Для цього достатньо взяти у за незалежну змінну, а х уважати функцією, тобто -_у- {у-Уо^у-у^Ау-УіЛу-УіЛЛу-Уп) (722) '(у,-УоХк-уМу,-У'ЛУ,-ум)Ау,-у.)' ' У разі рівновіддалених вузлів інтерполювання звичайно використовують метод послідовних наближень. Якщо задана монотонна функція з однаковим кроком інтерполювання к і значення х міститься на відрізку х0 < х < х, (тобто на початку таблиці), то можна застосувати першу інтерполяційну формулу Ньютона, яку запишемо у вигляді У = Уо+^гі + -1) + - + - !)-(* -« + !)> (7-23) 1! 2! п\ і = (7.24) 242
Якщо відома кількість кроків к, тоді з (7.24) можна визначити х = х0 + й . (7.25) З рівняння (7.23) визначимо і = + (7.26) Ау0 2!Ду0 п\Ау0 За початкове наближення г0 беруть ґ0 =(у- уа)! Ду0 і будують ітераційний процес = 'о ~ -» + !)• (7-27) 2!Ау0 и!Ду0 Тобто значення / визначають методом послідовних наближень як границю послідовності і = Ііш , (7.28) /-» 00 де /,=<р(/м) (І = 1,2,...) Кількість членів у формулі (7.27) залежить від кількості вузлів інтерполювання. На практиці процес ітерацій (7.27) триває до виконання умови де є- задана точність. Шукане значення х, що відповідає заданому значенню у, знаходять за формулою (7.25). П р и к л а д 7.8. Функція у = /(х) задана таблицею X, 10 15 17 20 У, 3 7 11 17 Знайти значення аргументу х, для якого у = 10. Розв’язування. За формулою (7.22) знайдемо х = Ф(10)^10(10-7)(10-11)(10-17) + 15(10-3)(10-11)(1()-17) + (3-7X3-11X3-17) (7-3X7-11X7-17) |17(10-3)(10-7)(10-17) [ 2()(10-3X10-7X10-11) ^ ^ (11-3)(11-7Х11-17) (17-3)(17-7)(17-П) 243
Приклад 7.9. Функція у = /(х) задана таблицею X,. 1,0 1,2 1,4 У; 35 55 63 За якого значення х значення у дорівнює 40? Розв’язування. Складемо таблицю скінченних різниць х,. У, Ьу, а27,- 1,0 1,2 1,4 35 55 63 20 8 -12 За початкове значення у приймемо у0 = 35 Звідси д>-у0_ 40-35 ■ = 0,25. ДУо 20 З використанням методу ітерацій знайдемо /, = /.= 0,25-^0,25(-0,75) = 0,194; *4 ~ 'о 2!ЛУ0 АУо 2!Ду0 АУо 2!Ау0 АЧ 2!Ду0 /,(/, -1) = 0,25 - 0,3 0,194 0,806 = 0,203; *2 (?2 -1) = 0,25 - 0,3 • 0,203 • 0,797 = 0,201; /3 (/3 -1) = 0,25 - 0,3 • 0,201 • 0,799 = 0,201. За формулою (7.25) х = х0 + Ік = 1 + 0,201-0,2 = 1,04 244
Завданя до розділу 7 7.1. Відшукати значення функції в точці * = 13,5, якщо вона задана таблицею X 11 13 14 18 19 21 У 1342 2210 2758 5850 £878 9282 7.2. Задані значення 1§56,1§58,1§60,1§62. Відшукати значення \%51 7.3. Функція задана таблицею X -0,5 0 0,5 1 У 0,57735 1 1,73205 3 Побудувати інтерполяційний багаточлен Лагранжа. Відшукати значення функції в точках х = 0,2; 0,25; 0,333. 7.4. Відомі значення функції у = 1п х: X 2 3 4 5 У 0,693147 1,098613 1,386295 1,609438 Знайти 1п2,5. 7.5. Відомі значення функції у = ех: X У 1 2,7183 1,05 2,8577 1,10 3,0042 1,15 3,1582 X У 1,20 3,3201 1,25 3,4903 1,30 3,6693 Побудувати інтерполяційний багаточлен та за ним відшукати значення функції при х = 1,13 та х = 1,17 7.6. Узявши крок А = 0,05, побудувати на проміжку [4,5; 4,8] інтерполяційний багаточлен Ньютона для функції е* заданої таблицею X 4,50 4,55 4,60 4,65 4,70 4,75 4,80 У 90,0171 34,6324 99,4843 104,5850 109,9472 115,5843 121,5104 245
7.7.У таблиці наведені значення інтеграла ймовірностей Ф(х) = -і [е~* сіх ■ V 71 о X У 1,5 0,9661 1,6 0,9763 1,7 0,9838 1,8 0,9891 1,9 0,9928 2,0 0^953 X У 1,0 0,8427 1,1 0,8802 1,2 0,9103 1,3 0,9340 1,4 0,9523 \ Застосовуючи першу інтерполяційну формулу \Ньютона, наближено знайти Ф(1,3) • І 7.8. Задано таблицю значень у = \^(х) семизначних логарифмів X 1000 1010 1020 1030 У 3,0000000 3,0043214 3,0086002 3,0128372 X 1040 1050 У 3,0170333 3,0211893 Знайти 1§1044. 7.9. Маючи таблицю значень повного еліптичного інтеграла Уі К(р)= [ . <^Х- - , знайти К(80°30'). І4\-вт2р-5т2х Р К(Р) 75° 2,76806 76° 2,83267 77° 2,90256 78° 2,97657 79° 3,06173 Р К(р) 80° 3,15339 81° 3,25530 82° 3,36987 83° 3,50042 84° 3,65186 7.10. Побудувати інтерполяційний багаточлен Ньютона інтерполювання вперед для значень функції Бесселя y = J<^(х), заданої таблицею X 2,4 2,5 2,6 У 0,0025 -0,0484 -0,0968 246
7.11. Для функції х = 8Іплх побудувати інтерполяційний поліном Лагранжа, вибравши вузли х0 = 0; х1 = х2~^- 7.12. Побудувати інтерполяційний багаточлен для функції у = совх, заданої таблицею значень для хє[0,28; 0,32] з кроком к = 0,01. 7.13. Дослідити таблицю 7 = совд: для х є[0,28; 0,32] з кроком /г = 0,01 на можливість лінійної інтерполяції. Знайти 7 = соз0,30333. 7.14. Побудувати інтерполяційний багаточлен і відшукати значення функції у = /(х) в точках а та Ь. Функція задана таблицею 7.15. АІ X 1 1,5 2 2,5 3 3,5 У -1 -1,84453 -3,30685 -5,33371 -7,90139 -10,999724 а = ,7; 6 = 3,4 БІ X -1 -0,5 0 0,5 1 1,5 У 2,09861 1,31093 0,69315 0,31093 0,09861 -0,05308 а = -0,7; 6 = 1,2. _ві х -2 -1,5 -1 -0,5 0 0,5 У -1,64165 -1,21062 -0,78028 -0,33781 0,13863 0,66219 а = -1,58; Ь = 0,3. л. X У -0,5 -0,29727 -0,4 -0,16500 -0,3 -0,03469 -0,2 0,09389 -0,1 0,22093 а = -0,45; Ь = -0,45. X У 0 0,34657 0,1 0,47097 0,2 0,59423 0,3 0,71645 0,4 0,83773 0,5 0,95815 247
7.16. Побудувати інтерполяційний багаточлен Ерміта для функції, заданої таблицею: _А1 X X -0,5 1 1,5 3 У -0,22943 1,84147 3,24749 9,14112 у' -0,12242 2,54030 3,07074 5,01001 У' 2,47943 1,00251 Б1 X 0 1 1,5 2 У 1 2,36788 4,72313 8,1^534 у' -1 3,63212 5,77687 7,864(36 У" 5 4,36788 "І " ' Ві X 0,5 1 2 3 У -0,81815 -1,00000 -7,30685 -25,90139 у' 1,25000 -2,00000 -11,50000 -26,66667 У' -7,00000 -18,11111 П X 0 0,5 1 1,5 У 0 -1,38014 -2,15853 -2,25564 у' -3 -2,30118 0,15164 У’ 0 2,59416 0,17505 248
Розділ 8 МЕТОД НАЙМЕНШИХ КВАДРАТІВ І НАЙЛІПШІ СЕРЕДНЬОКВАДРАТИЧНІ НАБЛИЖЕННЯ 8.1. Просте опрацювання емпіричних даних методом найменших квадратів Розглянемо дві найпростіші задачі, які приводять до відомого методу найменших квадратів: розв’язування перевизначених систем лінійних алгебричних рівнянь (СПАР) і підбір параметрів емпіричних залежностей. Характерна особливість таких задач та, що вхідні дані, зазвичай, є наближеними внаслідок неточності вимірювальних приладів або випадкових похибок. Задача А. Нехай потрібно відшукати значення т різних величин хІ,х2, ■•-,хт, які неможливо виміряти безпосередньо, проте відомо, що їх знаходять за лінійним законом, а коефіцієнти можна одержати наближено за допомогою вимірювання. Виконавши п таких вимірювань, одержимо СЛАР аих,+а]2х2+... + а]тхт=Ьі; а2\х\ + а22х2 +... + а2тхт (8.1) Для того, щоб ця система мала єдиний розв’язок хх,х2,.-,хт, потрібно, щоб кількість вимірювань була не менша, ніж кількість невідомих п>т, і ранг матриці системи (8.1) повинен дорівнювати т Якщо п>т, то система рівнянь (8.1) перевизначена. В загальному випадку така система не має розв’язку, тому її розв’язують у сенсі найменших квадратів. 249
Для цього шукаємо наближений набір х\,...,хт значень змінних хі,...,хт не такий, який би перетворював кожне з рівнянь системи (8.1) в тотожність, а за якого була б мінімальною сума квадратів відхилень значень лівих частин рівнянь (8.1) від правих (інакше, квадратів відхилів). Це означає, що розв’язок ) повинен бути розв’язком задачі мінімізації функції вигляду г\ + гі +— + гп ► тіл, де ri=anxx+...+ almxm-bi, і = \,п. Функція ф(х1,...,хи) = ^(апх, +... + аітхт -Ь,) (8.2) будучи невід’ємною квадратичною, має єдину точку мінімуму (х\,х*2 ...,х*т), яку знаходимо з необхідних умов гладкого екстремуму d(p(x,,...,xm) дх. = 0 для і = \,т, (8.3) тобто як розв’язок системи п 2Yj(anx1 +••• + «,тхт-Ь,)ап = 0, і=1 п 22>л*. +- + аітхт -Ь,)а,2= 0, /=1 п 2^а'Л +••• + «,тхт ~b.)ajm =0. /=1 Ця CJ1AP має т рівнянь і т невідомих ( п л ( п \ Ґ п \ п *1 + ^jai2ai\ %2 +... + 2Хді н м V /=1 ) \ i= =1 / ^ /=1 і=і ( п \ ( " Л ( " п 72 *1 + Z<£ Х2 +... + ^^aimai2 Хп, 2. V /=1 ) ^ i=l J V /=1 у 1 = 1 (8.4) /=і / V /=і ft ft І 1 Еа-іат, х\+ Zanah. k+-+ к=Хыт- /=і 250
Якщо розв’яжемо систему (8.4) із симетричною матрицею, наприклад, методом квадратного кореня, то одержимо розв’язок (х,\х2\..,х*) Такий спосіб розв’язування перевизначених систем називають методом найменших квадратів (МНК),*а вектор (**,...,**) стосовно вхідної системи (8.1) - нормальним псевдорозв’язком. Приклад 8.1. Знайти два значення х{ і х2, які задані трьома рівняннями: хх + 2х2 =8,5, 2х, +х2 =6,7, лс, + 3х2 =11,1. Розв’язування. Нехай праві частини цієї перевизначеної системи є наближеними числами. Розв’яжемо цю систему методом найменших квадратів, для чого відшукаємо мінімум функції тобто ф(*1. *2 ) = 2 (*/1*1 + °І\Х2 ~ Ьі )2 1 = 1 дф(х,,х2) дх. ■ = 6х. +1х2 -33 = 0, ^^ = 7^+14-57 = 0. дх2 Розв’яжемо цю систему: Ъ «1,80; х* «3,17 Задача Б. Нехай функція у = /(*) задана таблицею X х0 х\ хп У Уо У\ Уп наближених значень у( « /(хі), які одержані експериментально. Потрібно знайти функцію ф(х) таку, яка б на відрізку [х0,х„] апроксимувала функцію /(х), що задана окремими наближеними 251
значеннями уі Функцію ф(х), яка апроксимує /(jc), беремо з визначеної т -параметричної сім’ї функцій, і її параметри підбираємо так, щоб сума квадратів відхилень обчислених значень ф(х,) від заданих наближених значень yt була мінімальною. Така функція (тобто за такого оптимального набору параметрів) буде найліпшою апроксимацією f(x) серед функцій вибраної сім’ї в сенсі методу найменших квадратів. Отже, згідно з МНК, задаємо сім’ю у = ф(х,а1,а2,...,аш) і шукаємо значення параметрів а1,а2,...,ат, де т<п +1, розв’язуючи екстремальну задачу і2 ф(а1,а2,...,аи) = ^[ф(хі,а1,...,аи)-уі] ->min. (8.5) /=о Оптимальний набір параметрів а, ,—,ат знаходимо з системи J[cp (хпа„...,ат)-у] /=0 п £[ф (хпа„...,ат)-у] Е[ф (Хпа1,.:,ат)-у] і=0 0ф дах 5ф да, 5ф х = х х = х, = 0, 0, (8.6) да_ = 0. х = х Якщо функція ф(х,а|,...,аот) є лінійною функцією відносно своїх параметрів ах,...,ат, то система (8.6) також буде лінійною. В загальному випадку система (8.6) нелінійна, а це зумовлює певні труднощі під час її розв’язування. Приклад 8.2. Функція задана таблично: X 2,0 2,2 2,4 2,6 2,8 3,0 У 0,301 0,3424 0,3802 0,4150 0,4472 0,4771 Підібрати багаточлен другого степеня у = ах2 +Ьх + с, знаходячи а,Ь,с методом найменших квадратів. Розв’язування. Параметри а,Ь,с виберемо з умови 252
J _ —.2 S = £є2 = ^[y,■ -(й*,2 + 6*/ + c)J -> min . /=0 1=0 Одержимо систему es da |^ = 2Z [ Я “ («z2 + 4 + c)] (“*/) = 0 ’ 1Г = 2Z[Уі - + bx< + c)](-!) = °- „ öc /=0 Після перетворень отримаємо таку систему: «Z х‘+ blLх!+ cZх' = Z xf у> * 1=0 /=0 1=0 1=0 a2jX,3 + + с^х,. = ’ 1=0 5 1=0 5 1=0 1=0 5 <*Т,хї+ьИх'+6с=Т<Уг ^ /=о /=0 /=0 Для нашого випадку '260,7664а + 996 + 3 8,2с = 15,6565, 99 а + 38,2Ь + 15с = 6,0302, 38,2а +15 Ь+ 6с = 2,3629. Звідси а = -0,035762; b = 0,35448; с = -0,2647. Тоді шуканий багаточлен набуде вигляду у = -0,035762х2 + 0,35448х - 0,2647 Залежно від характеру табличних даних для опрацювання результатів експериментів часто використовують, наприклад, такі двопараметричні сімї функцій: у = ах + Ь\ у = а + Ь In х (у = а + b lg х); у = ахь; b у = - ь ь і у = ае ; у = а +—; у = -; х ах + о ах + Ь рідше застосовують трипараметричні сім'ї' у = ах2 +Ьх + с; у = ахь + с; у = аеЬх+с (у = аЛ0Ьх +с). 253
Для дослідження періодичних явищ використовують тригонометричні функції. Приклад 8.3. Нехай значення х, і відповідні їм наближені значення увиражають деяку лінійну залежність ф(х,а,Ь) = ах + Ь Потрібно знайти параметри а і Ь Розв’язування. Знайдемо — = х; — = 1. Для обчислення параша дЬ метрів цієї функції ф складемо систему типу (8.6) п £(ах,+&-я)лс,= 0, /=0 '£(ах,+Ь-уіуі = 0. і=0 Звідси одержимо СЛАР щодо коефіцієнтів а і Ь V /=0 / V /=0 ^х, \а + (п + \)Ь = ^Уі \ і=0 ) і=0 Ця система з симетричною квадратною матрицею має єдиний розв’язок (а ,Ь*). Зауваження. Замість того, щоб розв’язувати систему нелінійних рівнянь (8.6) для відшукання параметрів конкретних наборів функцій, якщо ці параметри входять нелінійним способом, іноді можна зробити лінеаризацію підібраноГзалежності. Приклад 8.4. Нехай за апроксимувальну функцію /(х) вибрано експоненціальну ф (х,а,Ь) = а-еЬх Знайти параметри а і Ь Розв’язування. Знайдемо частинні похідні 5ф Ьх 5ф Ьх . — = е , — = ао-е да дЬ У цьому випадку система (8.6) буде нелінійною. Щоб не розв’язувати нелінійні рівняння, прологарифмуємо рівність аеЬх=у: 1п а + Ьх = 1п у 254
Уведемо позначення А = In а За цими значеннями у і = / (х,), і = 0,п складемо таблицю значень Yt = ln у, Y, Методом найменших квадратів знайдемо оптимальні параметри А* і Ь* для лінійної функції У = А + Ьх Після цього обчислимо оптимальне значення а = еА й остаточний результат /(х) ~ а еь х 8.2. Середньоквадратичне наближення за допомогою тригонометричних багаточленів Нехай задано неперервну функцію /(х) з періодом 2л. Апрок- симувальний багаточлен Тт(х) беремо у вигляді TJx) = ^(ак coskx + bk sinfcc). к= о Коефіцієнти Фур’є ак і Ьк запишемо так: j 2л ао=у~ j/(x)dx, Zn 0 j 2л ак=— Jf(x)coskxdx, 71 о j 2 п bk=— jf(x)sinkxdx. Якщо функція f{x) парна, то 1 71 ^71 а0=— \f{x)dx\ ак=— \ f(x) cos kxdx, Ьк =0, к = \, -ir J я J т, (8.7) (8.8) (8.9) і якщо функція /(х) непарна, то 2 ”г а0 =0; а* =0; = — ^f{x)smkxdx. (8.10) 255
Нехай у випадку періодичної з періодом 2л функції відомі п її значень у рівновіддапених точках проміжку [0,2я] *,=—, / = (8.11) п Коефіцієнти ак і Ьк тригонометричного багаточлена (8.7) при п > 2т підбираємо так, щоб значення я=Е[/(*/)-г-Мг (8-12) було мінімальним. Прирівняємо до нуля частинні похідні від 5 за всіма ак і Ьк та, зробивши відповідні перетворення, знайдемо коефіцієнти Фур’є: *0=-£/(*,)> я ' ак =-!^/(х])со$кхі, (8.13) П ]=0 ьк=-^/(*.)віпкху (к = І,т). 71 ;=о Зауваження. У формулах (8.13) підсумовування можна виконувати тільки на половині відрізка [0,2я], тоді остаточний результат подвоюється. Нехай функція /\х) має період Т Тоді коефіцієнти Фур’є знаходять за формулами а0 ІДх)(Іх, * 0 ґу Т г\ \/(х)со$к^-<іх, (8.14) ^ 0 * Ьк = — |/(х)8Іп&-^^с&: (к = \,т). Т о Т 256
Приклад 8.5. За допомогою тригонометричного багато- члена дев’ятого степеня потрібно одержати наближення періодичної функції f( ч 0<х< л, [х(я + х) - к < х < 0. Розв’язування. З урахуванням непарності цієї функції за формулами (8.10) маємо ak = 0, k = 0,1,2,..., 2 *f bk=— [х(я — x)sin kxdx — n ' -x(n - x) 0 COSÄX 1 * + — J(rc - 2x) cos kxdx _2_ nk (я - 2x) sin kx 2 ”r . jsin kxdx Я Jsin kxdx - Отже, nk ^2n ~ 0’ ^2n-l “ nk 8 n(2n -1)3 Шуканий тригонометричний багаточлен запишемо так: Т9(х) = - п 1-о 1 • 1 • а 1 ■ п sin х +—sin Зх н sin 5х н sin 7х + sin 9х 27 125 343 729 Приклад 8.6. З використанням тригонометричного полінома третього степеня знайти наближення непарної періодичної функції /(х), яка задана на відрізку [0,тг] відповідними значеннями: 0 п п Зп я ■*/ 4 2 Т У і 0 5 7 6 0 Розв’язування. Тут п = 8 . Оскільки функція /(х) непарна, то всі ак= 0, а для визначення коефіцієнтів Ьк за формулою (8.10) маємо 1 1 К =J7yZf(Xj)sinbJ = ^£/ÄsinÄ:^- ■ і=о 2£Г 257
або , .. 11л/2 , п. , .. 11^2 6, =3,5 + —-—; b2 =-0,5; Ь3 =-3,5 + —^—. Тоді шуканий тригонометричний багаточлен запишемо так: Т3(х) = 3,5 + 11л/2 sinjc-0,5sin 2х + -3,5 + 1К/2Ї sin3jc. Приклад 8.7. Побудувати тригонометричний багаточлен для парної функції, заданої таблицею і хі /(*,) 0 0 9,55 1 п/П 9,46 2 я/6 9,25 3 7і/4 8,96 4 л/3 8,58 5 5ф2 8,10 6 п/2 7,59 7 7 7ї/і2 7,00 8 2 я/3 6,34 9 3 тс/ 4 5,56 10 5п/6 4,80 11 Пя/12 4,24 12 71 4,00 Розв’язування. Беремо 'т = 12, тобто відрізок [-л,л] ділимо на 24 частини. Обмежимось шістьома гармоніками (і нульовою), п = 6, Ьк= 0, бо функція парна: п '£jyicoskx = Sk для к = 0,1,2,...,6 1=0 Поділимо S. на —■ =6,5. Одержимо наближені значення 2 коефіцієнтів ак. Шуканий поліном запишемо так: Q6(x) = 7,22 + 2,59 cos jc-0,41 cos 2л: + + 0,18 cos Зх - 0,04 cos 4х + 0,01 cos 6х. Для перевірки: Q6(0) = 7,22 + 2,59 -0,41 + 0,18 -0,04 + 0,01 = 9,55 258
Завдання до розділу 8 8.1. Методом найменших квадратів розв’язати такі пере- визначені системи: 1) хх + Зх2 - 2х3 = 5; Зх, + 4х2 - 5х3 = 6; -2х] - 5х2 + Зх3 = -13; х2 - 2х3 = 4; -2х1 - Зх2 + 2х3 = -10; Зхх +х2-х3=2; -5^ +х2 +Зх3 =-10; 2) < 2х] + х3 = 1; х] -5х2 -\-Зх3 =7; 2х1 - 4х2 -х3 =11; 3) 4) 2хх - х2 + Зх3 = 8; хі + Х2 ~ ~ “^5 Зхх - х2 + х3 = 8; х, - Злс2 + Зх3 = 8; Хі - х2 + х3 = 4; 2^ + 2лс2 - х3 = -2; 4л:, + 3я;2 -х3 =-1; 8х, + 5х2 - Зх3 = -3; Зхх + Зх2 — 2х3 — —4; хх + 2х2 + 4х3 = 7; 259
5) 6) 7) 8) 9) хх+х2+ 2х3 = -3; Злг, - х2 - х3 = -6; 2х, + 3х2 - х3 = 0; х, + 2х2 + Зх3 = -3; Зх, -2х2 -х3 = -7; х, + 2хг + Зх3 = 8; 2х, -х2 -2х3 =3; Зх, +2х2 -х3 =10; 2х, -Зх2 +2х3 =5; -2х, - Зх2 + 2х3 = -7; Зх, - 2х2 + 2х3 = -1; 2х, + х2 + х3 = 6; Зх, - х2 + 2х3 - 2; X, + 2х2 - х3 = 6; -2х, + х2 - х3 = 0; X, + 4х2 + х3 = 8; -х2 + Зх3 = 8; Зх, + х2 = 4; X, - 2х2 + х3 = 2; Зх, - х2 + 2х3 = 8; X, + х2 - х3 = 4; 2х, + х2 + 2х3 = 10; X, - х2 + Зх3 = 4; Зх, +х2 -х3 =10; X, +2х2 +Зх3 =10; 4х, - х2 + х3 = 11; 260
8.2. Для функції, заданої таблично, підібрати багаточлен другого степеня у = ах2 + Ьх + с, знаходячи параметри а, Ь, с методом найменших квадратів. 1) X 0,41 0,46 0,52 0,60 0,65 0,72 У 2,5741 2,3251 2,0934 1,8620 1,7493 1,6210 2) X 0,35 0,41 0,47 0,51 0,56 0,64 У 2,7395 2,3008 1,9686 1,7878 1,5950 1,3431 3) X 0,05 0,10 0,17 0,25 0,30 0,36 У 0,0500 0,1003 0,1717 0,2553 0,3093 0,3764 4) X 3,62 0,67 0,74 0,80 0,87 0,96 0,99 У 3,5379 0,5117 0,4771 0,4493 0,4189 0,3829 0,3716 5) X 1,03 1,08 1,16 1,23 1,26 1,33 1,39 У 2,8011 2,9447 3,1899 3,4212 3,5254 3,7810 4,0149
6) X 0,15 0,20 0,25 0,30 0,35 0,40 0,45 У 0,8607 0,8187 0,7788 0,7408 0,7047 0,6703 0,6376 7) X 0,01 0,06 0,11 0,16 0,21 0,26 0,31 У 3,9918 0,9519 0,9137 0,8769 0,8416 0,8078 0,7753 8) X 0,15 0,17 0,18 0,20 0,21 0,23 У 4,4817 5,4739 6,0496 7,3891 8,1662 9,9742 9) X 0,45 0,46 0,48 0,49 0,51 0,53 0,56 У 2,7946 2,6133 2,1746 1,7301 1,5198 1,2551 0,9265 10) X 0,63 0,64 0,65 0,66 0,67 0,68 У 0,5891 0,5972 0,6052 0,6131 0,6210 0,6288 8.3. Для функції, яка задана таблично, побудувати багаточлен Ь . , у = а + —, параметри а і о знаити методом найменших квадратів. х 1) X 1,1 1,3 1,4 1,8 1,9 У 1,3421 2,2107 2,7583 5,5803 6,8789 2) X 2,0 2,3 2,5 3,0 3,5 3,7 У 5,7343 6,1274 6,3007 6,6943 7,0474 7,2434 3) X 0,90 0,96 1,00 1,04 1,09 1,13 У 1,1384 1,2804 1,4705 1,7076 1,9916 2,0195 262
4) X 1,0 1,1 1,3 1,5 1,6 1,8 У 1,1752 1,3357 1,6984 2,1293 2,3756 2,9422 5) X 1,0 1,1 1,3 1,4 1,6 1,9 У 0,6827 0,7287 0,8064 0,8385 0,8664 0,9426 6) X 0,3 0,4 0,6 0,7 0,9 1,0 У 0,2913 0,3799 0,5370 0,6044 0,7163 0,7616 7) X 1,0 1,1 1,3 1,4 1,6 1,7 У 1,0205 0,9514 0,8975 0,8873 0,8935 0,9086 8) X 1,2 1,4 1,6 2,0 2,4 2,6 У 0,6711 0,5669 0,4554 0,2239 0,1104 0,0025 9) X 0,20 0,24 0,26 0,29 0,32 0,38 У 1,2214 1,2712 1,2969 1,3364 1,3771 1,4623 10) X 0,1 0,15 0,18 0,22 0,28 0,30 У 1,1052 1,1618 1,1972 1,2461 1,3231 1,3499 263
Розділ 9 ІНТЕРПОЛЯЦІЙНІ СПЛАЙНИ 9.1. Куск< ія У випадку, коли функція /(х) не є достатньо гладкою на проміжку [а,Ь], замість апроксимації її багаточленами високих степенів перспективнішим є застосування кусково-поліноміальної апроксимації /(х) У цьому разі апроксимувальна функція ф(х) складається з окремих багаточленів, зазвичай, однакового невеликого степеня, кожен з яких визначений на своїй частині відрізка Використання низьких степенів багаточленів, які становлять фх), дає змогу легко знаходити їхні коефіцієнти як з інтерполяційних, так і з інших умов. Зокрема, якщо задані значення yt функції у = /(х) на системі вузлів х, такій, що і необхідно апроксимувати /(х) кусково-лінійною функцією ф(х) з огляду на умови інтерполяції Ф(*,-) = .У/* « = 0,1,•••,«, то, узявши функцію <Кх) у вигляді [аМ- а < х0 < х, < • • • < хп < b , (9.1) ф(х) = ахх + Ьх прихє[х0,х,], а2х + Ь2 прихє[х,,х2], (9.2) апх + Ьп прихє[х„_,,хп], 264
для знаходження п пар її коефіцієнтів ак,Ьк (к = 1,2,...,п) маємо систему з 2п лінійних рівнянь Га,х0 II <Г + [а.х, + II [а2Х\ + Ь2 =уІг ' \а2Х2 £ II + \апХ„ (|_ + II Чі \а»х» + II (9.3) Кожну пару сусідніх рівнянь (9.3) можна розв’язувати окремо. Аналогічно, кожна ланка кусково-квадратичної функції (при п = 2т у (9.2)) Ф(*) = а,х2 + 6,х + с, прихє[х0,х2], а2х2 + Ь2х + с2 при х є [х2,х4], (9.4) а„х2+Ь„х + сг при х є [х2т_2 ,х2т], визначена трійкою коефіцієнтів ак,Ьк,ск (к = 1,2,...,т), які можна знайти послідовним розв’язуванням (при к = 1,2тривимірних лінійних систем + ^кХ2к-2 ~*~Ск ~У2к-2' ак*гк-\ + ЬкХ2к-\ Ск = У2к—\ ’ акх2к + Ькх2к + ск = у2к, (9.5) які відповідають інтерполяційним умовам. Приклад 9.1. Для функції у = /(х), заданої таблицею х,. -2 -1 0 1 1.5 2 3 Уі 3 1 1 2 3 1 4 виконати найпростіші кусково-лінійне і кусково-квадратичне інтерполювання. 265
Розв’язування. Використавши лінійне інтерполювання заданої функції на кожному з елементарних проміжків, визначених сусідніми вузлами верхнього рядка таблиці, отримаємо /(дг)*ф,(х), де -2х -1 при X є [-2,-1], 1 при хе [-1,0], х + 1 при хє[0,і], 2х при хе [і; 1,5], -4х + 9 при хє[і,5; 2], -Зх-5 при хє[2,3]. Квадратичне інтерполювання за трійками вузлових точок [-2;0], [0; 1,5] і [1,5; 3] приводить до наближеної рівності /(х)*ф2(х), Де Ф2(*) = х2+х + \ при хе [-2,0], 2 1 —х2+—х + 1 при х є [0; 1,5], і(14х2-6ІХ + 69) при х є [1,5; 3]. 9.2. Інтерполяційний сплайн Нехай на відрізку [а,Ь\ задано впорядковану систему незбіжних точок хк (к = 0,1,..., и). Означення 9.1. Сплайном 5,„(х) називають визначену на \а,Ь\ функцію, яка належить класу С'\а,Ь\ І разів неперервно диференційовних функцій, таку, що на кожному проміжку [х*_,,х4] (к = 1,2,..., и) - це багаточлен т -го степеня. Різницю <і = т -1 між степенем сплайна т і показником його гладкості І називають дефектом сплайна. 266
Якщо для сплайна Sm(x) виконуються умови Sm(xi) = /(*,), то такий сплайн називають інтерполяційним сплайном для функції f{x); у цьому разі вузли сплайна хк, взагалі кажучи, можуть не збігатися з вузлами інтерполяції. Розглянуті вище кусково-лінійна функція ф1 (jc) і кусково- квадратична функція ф2 (де), визначені, відповідно, формулами (9.2) і (9.4), є інтерполяційним сплайном степеня 1 з дефектом 1 та інтерполяційним сплайном степеня 2 з дефектом 2. Збіг дефекту сплайна з його степенем забезпечує лише неперервність сплайна. Важливою є побудова сплайнів з більшою гладкістю, тобто з малим дефектом. Широковживаний інтерполяційний сплайн степеня 3 з дефектом 1. У цьому разі будемо вважати, що вузли сплайна a = x0,x],x2,---,xn_l,x„=b (9.6) одночасно є вузлами інтерполяції, тобто в них відомі значення функції = Означення 9.2. Кубічним сплайном дефекту 1, що інтерполює на відрізку [а,Ь\ задану функцію /(х), називають функцію £(*) = {Sk (*) = ak+bk{x-xk) + Ck(x-xkf + + dk(x-xkf при xe[xk_uxk]}nk=l, яка задовольняє сукупності таких умов: а) g(xk) = f(xk) (умова інтерполювання у вузлах сплайна); б) g(jt) є (двічі неперервна диференційованість); в) g "(a) - g "(b) = 0 (крайові умови). Визначений так сплайн ще називають природним. Зазначимо, що крайові умови в означенні 9.2 можна замінити на інші. Наприклад, можна накласти додаткові умови на першу похідну функції g(x) в точках a і Ь. Однак у цьому випадку кубічний сплайн (9.7) втрачає властивість природності. Для побудови за заданою функцією /(х) її інтерполяційного сплайна (9.7) необхідно знайти 4 п його коефіцієнтів ak,bk,ck,dk (k = 12r-,n). їх можна визначити а) з умов інтерполяції gi(x0) = f0,gk(xk) = fk при k = 1,2,...,и; (9.8) б) з умов гладкості з’єднання ланок сплайна 267
при £ = 2,3,—,я; (9.9) £*_,(**_, ) = £*(**-і)> в) із крайових умов гі'(*о) = 0, я'(лси) = 0. (9.10) Таких умов виявилось 4п - стільки, скільки є в записі сплайна (9.7) невідомих коефіцієнтів. У кінцевому підсумку для визначення невідомих коефіцієнтів ск сплайна (9.7) необхідно розв’язати триточкове різницеве рівняння другого порядку К-\ск-2 + 2(К~\ +Юск-\ + Кск =з/(**-і;**)-з/(дг*_2;**_,), (9.11) де £ = 2,3,...,«, с0 =0, сп =0, кк =хк -хк_„ /(х*_,;х4) = І'к /к-1 К поділена різниця першого порядку. Інші коефіцієнти сплайна визначають за формулами сІк = С* ~Ск-' (к = 1,2,...,«), (9.12) ЗА* 2 1 Ьк=/(.хк_1;хк) + -Ькск+-Ькс1_1 (£ = 1,2,...,«), (9.13) ак = /* при довільному к є {1,2,...,«}. (9.14) Оскільки |2А*_, +2АІ|>|А*_І| + |А1І|, то ця нерівність, згідно з умовами (2.44), забезпечує стійкість методу прогонки для розв’язування системи рівнянь (9.11). Приклад 9.2. Для функції, заданої таблицею (див. приклад 9.1), побудувати інтерполяційний сплайн степеня 3 з дефектом 1 у вигляді (9.7). Розв’язування. За даними таблиці, згідно з формулою (9.11), знайдемо А, = 1; Аг = 1; А, = 1; А4 = 0,5; А5 = 0,5; А6 = 1; /(хо;де,) = -2, /(х,;х2) = 0, У(х2;х3.) = І, /(х3;х4) = 2, /(х4;х5) = -4, /(х5;х6) = 3. 268
Далі сформуємо тридіагональну матрицю Н і вектор правих частин е: (\ 0 0 0 0 0 ол ' 0 л 1 4 1 0 0 0 0 6 0 1 4 1 0 0 0 3 0 0 1 3 0,5 0 0 , е = 3 0 0 0 0,5 2 0,5 0 -18 0 0 0 0 0,5 3 1 21 ,0 0 0 0 0 0 ь V 0 , Розв’яжемо систему Не = е методом прогонки, отримаємо вектор с = (0; 1,610245; -0,440980; 3,153675; -12,040089; 9,006681; 0)т Потім за формулами (9.12)-(9.14) знайдемо значення інших коефіцієнтів сплайна ак,Ьк,ск. Запишемо їх у табл. 9.1. Таблиця 9.1 Значення коефіцієнтів кубічного сплайна к ** ак=Ук К Ск 4 0 -2 3 — 0 - 1 -1 1 -0,926503 1,610245 0,536748 2 0 1 0,242762 -0,440980 -0,683742 3 1 2 2,955457 3,153675 1,198218 4 1,5 3 -1,487751 -12,040089 -10,129176 5 2 1 -3,004454 9,006682 14,033180 6 3 4 6,002227 0 -3,002227 Цими коефіцієнтами сплайн (9.7) для заданого прикладу визначений повністю. Зокрема, для х = 1,5 за допомогою елементів виокремленого в таблиці рядка отримаємо ф3 (1,5) = 2 + 2,95545 • (-0,5) + + 3,15367 0,25-1,19822-0,125 = 1,160915. 269
9.3. Базисні сплайни Важливу роль у разі побудови чисельно-аналітичних методів розв’язування диференціальних та інтегральних рівнянь відіграють так звані базисні сплайни (В -сплайни). Зокрема, лінійні В -сплайни є в основі популярного методу скінченних елементів. Означення 9.3. Базисним сплайном, або В -сплайном, степеня т-1 (з дефектом 1) відносно вузлів хк <хк+і <... < хк+т називають функцію вт-\Лх) = Вш-Мк-,хк^,...,хк+т-,х) = т^ +. , (9.15) де (х, -х)"“‘ = [тах{0;(х,. - х)}]'"-1; (9.16) Ча (х) = (х~хк )(х ~ хм )-(х ~ хк+т )• (9.17) Розглянемо, чим є В -сплайни від нульового до третього степеня у простішому, проте й у більш уживаному випадку рівновіддалених вузлів В -сплайна, тобто коли хк+і =хк+ іИ, де і = 0,1 ,...,т. У цьому разі врахуємо позначення у формулі (9.17): сот і(л:,)- добуток різниць між вузлом х, і рештою вузлів від хк до хк+т . 1. Нехай т = 1. Тоді з (9.15) маємо В0,к ('*') — В0 (Хк »Хк+\ ’ — 0 при х<хк, 7 прих*<х<х*+1, п 0 при х^х^^. (9.18) Отже, В -сплайн нульового степеня є функцією-“сходинкою” (рис. 9.1). Рис. 9.1. 270
2. При т = 2 з (9.15) випливає вираз лінійного В -сплайна: О при х<хк, 1 х — х, 1" - к к2 1 х-х. 'к+1 при хк <х<хк+1, (9.19) к+1 к к2 О при х>хк+2. прихк+1<х<хк+2, Геометричне зображення лінійного В -сплайна (рис. 9.2) - це так звана функція-кришка (інакше, функція-шапочка). Рис. 9.2. 3. Прийнявши в (9.15) т = З і виконавши нескладні перетворення, отримаємо квадратичний В -сплайн: В 2 ,к (х) = В2 (хк; хк+1; хк+2; хк+3; х) = 0 при х<хк, 11 1 2 — ““ ■*)+ при х* ~ х ~ х*+• ’ 1 — + ^г(Л*+2 - X) + ^Х^2 ~ Х) ПРИ ХШ ^Х^ Хк+2, 1_ 1 Ік 1 2к 3(**+3~Х) о прих*+2<*<х*+3, при *>хі+3. (9.20) Графік такого сплайна зображений на рис. 9.3. 4. Аналогічно при т = 4 можна отримати з (9.15) кубічний В -сплайн 271
Взл(х) = В3(хк;хк+1;хк+2;хш;хк+4;х) = О при х<хк, 1 Ш(х-х‘у 1 1 При хк<х< хк+і, Т7+^7Т(Х-Хш) + ^7Т(Х-Хм) 6И 2Иг 2И> 1 " - ХМ )3 ПРИ **+. ^ ^ Хк+2 > 1 1 / Ч 1 , ч 2 + ТКхм ~ х) + Г (**+■» “ х) ~ 6И 2к *+3 2к *+3 (9.21) _1_ 2/г4 - ТГТ<>*+з - *)3 при х4+2 < х < х*+3, 1 6/г 7Гт(^+4-*)3 прих*+3<х<х4+4, О при х>х4+4. Базисний сплайн третього степеня має неперервними не тільки перші похідні, а й другі. Графік цього сплайна зображений на рис. 9.4. Рис. 9.3. Рис. 9.4. 272
Як лінійно незалежні функції, В -сплайни певного степеня утворюють базис у відповідних функціональних просторах, що пояснює їхню назву і свідчить про можливість зображення через В -сплайни інших функцій цього простору. 9.4. Ермітові (лекальні) сплайни Припустимо, що в апроксимованої функції у = /(х) в точках х0,хх,...,хп є[а,б] відомі не тільки значення у0,у,,—,у„, а й значення похідних до т-\ включно, тобто функція у=т задана таблицею. X У У ... у(т) *0 Уо Уо ... у(ґ *1 У, я ... у(ґ У„ Уп ... УҐ За цією інформацією можна побудувати єдиний інтерполяційний багаточлен Ерміта степеня (« +1 )(т + 1) -1 Навіть за порівняно невеликих значень п і т цей степінь може виявитися невиправдано високим. Застосування в таких випадках інтерполяційних сплайнів високих степенів і малих дефектів дає потрібну гладкість інтерпольованої функції, тобто самого сплайна, однак не забезпечує узгодження його похідних із заданими похідними функції Лютому виникає потреба в утворенні гібрида інтерполяційного сплайна й інтерполяційного багаточлена Ерміта. Такі гібриди називають ермітовими сплайнами. Якщо дивитись на таблицю, то легко уявити, що за заданими в точках х0 і дг, значеннями функції f(x) та її т похідних можна побудувати єдиний багаточлен Ерміта Н\т+\ (*) степеня 2т +1, за заданими в точках х, і х2 - багаточлен такого ж степеня НІт+\(х) і так далі. Оскільки кожен з цих багаточленів-ланок ермітового сплайна 273
*^2т+1 (*) {•^2я+і('*)> Х Є [*/-1 (9.22) побудований незалежно від решти, то такі сплайни називають локальними сплайнами. Властивість локальності ермітового сплайна дає певні переваги в разі його побудови, зокрема, у випадку великої кількості п елементарних проміжків , а також дає змогу складати ермітів сплайн із ланок різних степенів, якщо на якихось ділянках проміжку інтерполяції [а,6] функція /(х) відображена похідними одного порядку, а на інших - іншого порядку. У цьому разі в точках стику таких ділянок можливе використання односторонніх похідних. Розглянемо для прикладу ермітів сплайн третього степеня. Нехай на і -му елементарному проміжку функція у = /(х) задана таблицею X У У *1-1 У,-1 У 1-х X, Уі Уі Приймемо в (9.22) т = 1 і відшукаємо і -ту ланку сплайна 53(х) у вигляді Нз (х) := а‘0 + а\(х - х,_, ) + а‘2(х- )2 +а'3(х- хм)3 (9.23) Два рівняння для знаходження багаточлена Н3 (х) отримаємо з інтерполяційних умов Н3 (х(._,) = у^х, Н3 (х,) = уі, а саме: 4>=Уі-х, (9-24) а‘0 + + с^И,2 + а‘3к? = уі, (9.25) де А(, = х, - х;_,. Далі продиференціюємо (9.23): (#3) (х) = а\ + 2а\ (х - х,_,) + За' (х - х,_, )2, а з умов (#з)'(хм) = у\(Яз)'(х,) = у] отримаємо ще два рівняння 274
З рівностей (9.24), (9.26) визначають перші коефіцієнти багаточлена Щ(х). Підставивши їх у рівності (9.25), (9.27), знайдемо третій і четвертий коефіцієнти а2=^Т О У, ~ З У і-і - 2кіуі_] - кіуі), (9.28) п, а‘г=ТТ (2Уі-і " 2Уі + к.У-\ ~ Ь,У') ■ (9 29) Зазначимо, що формула (9.22) визначає ермітів сплайн непарного степеня. Для побудови ермітових сплайнів парного степеня формулювання задачі дещо інше. Приклад 9.3. Наблизити кубічним ермітовим сплайном 71 функцію у = соб—х на відрізку [-1,1], інформація про яку задана такою таблицею: X У У п -1 0 2 0 1 0 к 1 0 ~2 Розв'язування. Приймемо і = 1 та / = 2, за формулами (9.24), (9.26), (9.28), (9.29) знаходимо коефіцієнти кубічного ермітового сплайна, підстановка яких у (9.23) дає
7Г К К Точність апроксимації функції cos—х та її похідної -—sin—х за допомогою ермітового сплайна S3(x) відобразимо в трьох 112 контрольних точках х = х = —,х = — такою таблицею: X п cos—X 2 ад ( к 1 cos—X У 2 ) ад -1/2 0,707 0,696 1,111 1,107 1/3 0,866 0,857 -0,785 -0,810 2/3 0,500 0,492 -1,360 -1,333 276
Завдання до розділу 9 9.1. Побудувати лінійний інтерполяційний сплайн за значеннями /(0), /(1). 9.2. Нехай відомі такі значення деякої функції /: /(1)= 2, /(2) = 3, /(3) = 5, /(4) = 3; а) побудувати за цими даними інтерполяційний поліном третього степеня і записати його у вигляді а0 + ахх + а2х2 + а3х3; б) побудувати за цими даними квадратичний сплайн, який задовольняє умову р '(1) = 0 (вказівка: почніть зліва); в) побудувати за цими даними кубічний сплайн, який задовольняє умови р"( 1) = 6, р"(4) = -9 (вказівка: попробуйте використати поліном пункту а). 9.3. Для функції з вправи 9.2 побудувати кубічний сплайн, який задовольняє умови р'( 1) = 1, р'(4) = -1. 9.4. Скласти програму побудови природного кубічного сплайна за заданим набором точок хх <х2 <...<х„ і відповідним значенням функції У\>У2>—Уп. Програма повинна спочатку розв'язувати тридіагональну систему (9.11), а потім використовувати формули (9.12), (9.13), (9.14). Скласти також програму обчислення значення цього кубічного сплайна в заданій точці х 9.5.Побудувати лінійний сплайн 5,(ж), який інтерполює функцію /(х), задану таблицею X 0 1 2 3 /(X) 0 1 1 3 Виразити 5,(л:) через лінійні В -сплайни. 9.6.3а даними вправи 9.5 побудувати кубічний і квадратичний інтерполяційний сплайни дефекту 1, приймаючи /"(0) = /"(3) = 0 277
Розділ 10 ЧИСЕЛЬНЕ ІНТЕГРУВАННЯ 10.1. Задача чисельного інтегрування. Квадратурні формули інтерполяційного типу Нехай потрібно обчислити інтеграл Ь Ь І = ^Г(х)сЬс = ^р(х)/(х)сІх, (10.1) а а де \а,Ь\ - скінченний або нескінченний проміжок числової осі; р(х) - деяка функція, яку називають ваговою. Уважатимемо функцію р(х) фіксованою і такою, що добуток р(х)/(х) є абсолютно інтегровна функція на [а, Ь\. На практиці у випадках, коли підінтегральна функція задана таблично або функція /7(х) має особливості чи складний аналітичний вигляд, постає питання наближенного обчислення інтеграла (10.1). Наближені формули обчислення інтеграла (10.1) ґрунтуються на апроксимації підінтегральної функції іншою функцією або алгебричним багаточленом, або раціональною функцією, або іншим способом. У разі заміни підінтегральної функції деяким інтерполяційним багаточленом одержимо таку квадратурну формулу: )рШ(х)с1х = Х4П)Ж) + КІЛ. (10.2) о *=0 де хк - квадратурні вузли, або абсциси квадратурної формули (а<х0 <х, <...<хп<Ь) \ числа А[п)(к = 0,гі) - коефіцієнти квадра- 278
турної формули, що залежать тільки від вибору вузлів; R„(f) - залишковий член квадратурної формули. Таку квадратурну формулу називають інтерполяційною. У випадку інтерполяційного багаточлена Лагранжа коефіцієнти А[п) мають вигляд 4-> = ї * ,к=оГ„ (ю.з) ®п+1 (*) = (* - *oX* ~X\)-(X~XJ- (Ч °-4) Для залишкового члена формули (10.2) справджується оцінка ~ \\P^x^nJx)\dx- (10.5) де Mn+] = max /<”+І)(*). Оцінка (10.5) є точною, якщо добуток xe\a,b\ І І р(х)іo„+i(jc) зберігає знак на [а,Ь]. 10.2. Квадратурні формули Ньютона-Котеса Квадратурні формули інтерполяційного типу для рівно- віддалених вузлів інтерполювання називають формулами Ньютона-Котеса. Вони мають вигляд \f(x)dx«(b-a)Y,C[n)f(xk), (10.6) к=0 де xk=a + kh, h = -——, C[n) - коефіцієнти квадратурної форму- ли, які обчислюють за формулою с(и) = Г- 4 J і t\ t-- П; к — 1 t »у t-- к +1 n 1) / к( к 1 n V n n ґк *-lYifc к + іЛ (к U n n n n dt (10.7) На практиці найчастіше використовують формули Ньютона- Котеса при п = 0,1,2,3; їх називають, відповідно, формулами прямокутників, трапецій, Сімпсона (парабол), “трьох восьмих” Для 279
підвищення точності обчислення визначеного інтеграла відрізок \а,Ь\, як звичайно, розбивають на N однакових частин довжиною И = -—— і застосовують відповідну формулу до кожної частини. N Такі квадратурні формули називають узагальненими. Наведемо відповідні квадратурні формули та їхні залишкові члени. Квадратурна формула прямокутників (п = 0) має вигляд |/(х)с& = (£>-а)/ а + Ь (10.8) де г) є (а,Ь). Узагальнена квадратурна формула середніх прямокутників така: \/{х)сіх = Ь-а N а + - ЗН +/ 2ЛГ-1 а + і V 2 /у (Ь-аУ 24ЛГ2 /0і). (10.9) де г| є (а,Ь), N - кількість однакових частин, на які поділено [а,Ь]. Квадратурна формула трапецій (п = 1) }/(х)А = ^(/(а) + /(6))--Ь(6-а)3/й), (10.10) а І 12 де £є(а,6). Узагальнена квадратурна формула трапецій ]/(*) & = ^-(т + 2/(а + *) + ... + 2/{а + (М-1 )И) + (10.11) ■ту \2И‘ ■(Ь-а)3 /(£), де £є(а,г>). 280
Квадратурна формула Сімпсона, або формула парабол (п = 2), Jf(x)dx = b-a Ґ \ ґ т \ b — а f(a) + 4/ л +/(*) — \ 2 ) ) v 2 у /(4)(5) 90 ,(10.12) де ^є(а,6). Узагальнена квадратурна формула парабол має вигляд )f(x)dx ~(f(x0) + 4/(x,) + 2 f(x2) + 4/(X,) + +2 f(x4) +... + 2 f(x2M_2) + 4 f{x2M_x) + f(x2M)) - '6-aY/<4>® . 2 J 90M4 ’ де ^ є (a,Z>), x0 = a, x2M = b , x(. = x0 + /А (/ = 0,1,...2M) Квадратурна формула “трьох восьмих” Jf(x)dx = ^-[m + 3 f(a + h) + 3/(a + 2 h) + /(6)] - (10.13) {b-af 34 -80 b-a (10.14) де % e(a,b), h = і Узагальнена квадратурна формула “трьох восьмих” jf(x)dx = “^[(А*о) + /(**)) + 2(А*з) + А*6) + - + a +/(**-з» + 3(/(*1) + А*г) + /(*4) + Дх5) + - + /(**-2) + (1 °-15) (6-а)5 З4 • 80./V де 1ї,є(а,Ь), N = 3k , keZ, х, = х0+ ih (і = 0,1,.. JV). 281
10.3. Принцип Рунге практичної оцінки похибки чисельного інтегрування На практиці часто використовують так званий принцип Рунге для оцінки похибки формул чисельного інтегрування. Залишковий член кожної з квадратурних формул (10.8)—(10.15) можна записати у вигляді Я = ккМ, де к - фіксоване число, к - крок інтегрування; М - добуток сталої на похідну підінтегральної функції (к -1) -го порядку в деякій точці проміжку інтегрування. Нехай / - точне значення інтеграла, Ік(к) - наближене, тоді І = Ік(к) + Скк (10.16) За тією ж формулою обчислимо інтеграл / проте за крок к інтегрування візьмемо величину — , ТОДІ 1=и (кл І+с, ,2, І 1 <2 у (10.17) Якщо за малого к значення величин С і С, близькі, то із формул (10.16) і (10.17) одержимо Ік{к) + С{к)^=Ік (кЛ ^(кЛ к (кЛ (кЛ ~ + с. - ~ I у + С Ы \2) К <2 у к Далі гЛ с«с, -Л(л) к - .\к (10.18) Підставимо значення (10.18) у формулу (10.17) й отримаємо 7-\ + - 2* — 1 (10.19) 282
На підставі подвійного розрахунку з кроком к і кроком — можна контролювати точність чисельного інтегрування, порівнюючи з заданою похибкою є абсолютне значення виразу R,. < I-L -h{h) 2к (10.20) У цьому і полягає принцип Рунге, який часто використовують під час практичного обчислення інтеграла із заданою точністю. Приклад 10.1. Обчислити з точністю є = 10'6 такі інтеграли: /, = f /,,точ„е = ^(c°s21 - cos2 0,5) + ln 0J5 smx 24 7 4 , W- i sini sin 0,5 dx ; (a- + a)\lx2 - a2 2,точне 4-а 3-a 4 + а V 3 -ha Розв’язування. Обидва інтеграли обчислені за різними квадратурними формулами і порівняні з точними значеннями. Результати обчислень наведені в табл. 10.1 і 10.2. Таблиця 10.1 Значення інтеграла за різними квадратурними формулами Інтеграл Значення інтеграла за квадратурною формулою прямокут¬ ників трапецій Сімпсона “трьох восьмих” !\ 0,3234505 0,3234508 0,3234506 0,3234506 /2, a = 1 0,0674896 0,0674899 0,0674898 0,0674898 І2,а = 2 0,0650680 0,0650684 0,0650683 0,0650683 Точні значення: /,=0,3234506..., /2 =0,674898... (а = 1), /,=0,0650683... (а = 2). 283
Таблиця 10.2 Кількість етапів поділу навпіл кроку к за різними квадратурними формулами Інтеграл Кількість кроків за квадратурною формулою прямо¬ кутників трапецій Сімпсона “трьох восьмих” А 7 7 2 2 І2,а = 1 4 5 2 2 І2,а = 2 4 5 2 2 Нехай у формулі чисельного інтегрування JpW/W*=Z4"№*)+^C0 (10-21) a к—\ вагова функція р(х) така, що ь р(х)>0, для хє[а,Ь\ і ^p(x)\f (x)\dx — існує. а Формула (10.21) містить 2п параметрів А[п) хк, і вибрати їх можна так, щоб рівність (10.21) виконувалась точно для всіх алгебричних багаточленів степеня 2п -1: • (Ю.22) а к=\ Виберемо р(рс) = 1.3 умови (10.22) визначимо коефіцієнти »!) ЧЬ-аГ" (10.23) ((2 п)1)!(х,-аХІ>-х,К(^) й абсциси хк як корені багаточлена (х) = (х-х, )(х - х2 )...(х -х„). 284
Проміжок інтегрування [а,Ь] переводимо в [-1,1] заміною змінних Для кожного п необхідно знаходити коефіцієнти й абсциси квадратурної формули (10.25). Оскільки вони не залежать від підінтегральної функції, то їх можна протабулювати. В табл. 10.3 наведені абсциси і коефіцієнти формули Гаусса. Приклад 10.2. З точністю є = 10"6 обчислити інтеграли Розв’язування. Для обчислення інтегралів з точністю до є скористаємося таким алгоритмом: 1) зафіксуємо порядок квадратурної формули, наприклад, п = 6; 2) обчислимо інтеграл за формулою (10.25); 3) проміжок інтегрування [а,Ь] поділимо навпіл. До кожного з підпроміжків застосуємо квадратурну формулу (10.25) при п = 6 . Обчислені значення підсумуємо, оскільки інтеграл можна розбити на суму інтегралів по підпроміжках; х = -і(а + Ь) + -і (Ь - а)г (10.24) Тоді квадратурна формула Гаусса матиме вигляд )/(*>&=Ь-^- \rndz)+к(/) - (і0.25) 2 -1 1 к=1 і порівняти з точними значеннями 4 V 1 + -1п ІБІП XІ * 0,3234506545 . 285
4) порівняємо отриманий результат з подвоєною кількістю проміжків із попереднім. Якщо вони збігаються з точністю до є , то вважаємо, що інтеграл обчислений із заданою точністю. Якщо ж ні, то знову подвоюємо кількість проміжків інтегрування т :=2т. Таблиця 10.3 Абсциси і коефіцієнти квадратурної формули Гаусса /7=1 II о 1/1 и ю /7=2 -гх=г2 = 0,5773502 А<2)=А<2)= 1 /7=3 -г{=г3 =0,7745967; г2 =0 АІ3)=Л<3)= 0,5555556; 43)-0,8888889 /7=4 — =0,8611363; -72=73 =0,3399810 А}4) = 44)= 0,3478548; 44) = 44)= 0,6521452 /7=5 — 2Х -2Ъ =0,9061798; -z2=zЛ= 0,5384693; г3=0 АІ5) = 45) = 0,2369269; Л<5) = 45)= 0,4786287; 45)= 0,5688889; /7=6 0,9324695; -22-2ъ =0,6612094; - г3 = =0,2386192; Л<6> =46> =0,1713245 А<6)=А(56)= 0,360761 Є Л<6) = 46)=0,467913< /7=7 -2Х-21 - 0,949108; -22=26 =0,741531; - = 25 = 0,405845; =0 Л,(7> = Л<7> = 0,129485 47> = 47> = 0,279705 АР = 47)= 0,381830 47) = 0,417960 /7=8 - z1'•= г8 = 0,960290; - 0,796666; -г3=г6 = 0,525532; -г4=г5 = 0,183434 А,(8) = А^8)= 0,101228; 48)= 48) =0,222381; Л<8>=48>= 0,313707; 48) = 4в)= 0,362684 Зазначимо, що порядок квадратурної формули є фіксованим на кожному проміжку розбиття і його зручно вибирати однаковим на всіх підпроміжках. 286
Для обчислення першого інтеграла виконано чотири розбиття проміжку [3,4] на підпроміжки й отримано наближене значення Jx = 0,065068336. Для другого інтеграла маємо J2 « 0,323450655 Наближені значення збігаються з точними до восьми знаків після коми, оскільки були використані .квадратурні формули Гаусса найвищого алгебричного порядку точності. 10.5. Квадратурні формули з ваговими функціями Квадратурну формулу (10.21) ефективно застосовують для функцій, що мають на кінцях проміжку \а,Ь\ степеневі особливості, або коли апріорі відомо, що точки а і Ь є нулями функції /(*), і відома кратність цих нулів. Лінійним перетворенням (10.24) відрізок [а,Ь\ переведемо в [-1, і] і обмежимося розглядом інтеграла і /, = |(і - лс)а (і + Л:)13 /(х)<& (а,Р > -і). (10.26) -1 Системою багаточленів, ортогональних на [-1, і] з вагою />(х) = (1 - д:)“ (1 + х)р, є система багаточленів Якобі. Для побудови квадратурної формули найвищої алгебричної точності |(1 -х)а (1 + х)Р /{х)<Ь * £с*°/(х4) (10.27) _і *=і виберемо за вузли хк корені багаточлена Якобі степеня п: /^(а'Р) (хк) = 0; (к = 1, п). Коефіцієнти С(кп> можна відшукати за формулою см _ 2а+Р+І Г(а + /7 + і)Г(р +п + 1) и!Г(а + Р + и + І)(і -х2к )[^іа’р)' (хк )]2 сю де Г(х)= х>0 - інтеграл Ейлера другого роду. о Частковим випадком (10.27) є квадратурна формула Гаусса при 287
а = Р = 0. У випадку а = |3 = -— вагова функція матиме вигляд р(х) = —г ^ Тоді вузлами квадратурної формули є нулі л/і-х2 2к -1 багаточлена Чебишова першого роду хк=соь( я) 2 п (к = 1,2,...и). Коефіцієнти С[п) будуть однакові й дорівнюватимуть я п Отже, отримаємо квадратурну формулу Ерміта найвищого алгебричного порядку точності з вагою р(х) = —рі— на [-1,1]: VI-*2 )-Щах = * ХДсоз^Ія) + *„(/), (10.28) -іл/і-д:2 2" *.</> = 2^-”2я)І /<г"№); 5®Н;Ч- Приклад 10.3. Обчислити за квадратурною формулою Ерміта інтеграл т * 3 Розв’язування. Цей інтеграл обчислено з точністю до є = 10-6 за формулою (10.28) з подвоєнням кількості абсцис квадратурної формули і для и = 18 отримано наближене значення У3» 2,221441469 10.6. Квадратурна формула Чебишова Квадратурні формули наближеного інтегрування, всі коефіцієнти яких однакові, мають вигляд \р(х)/{х)с1х £/(**). (10.29) 288
Невідомі хк(к = \,гі) та ап в (10.29) можна обчислити з умови точної рівності для всіх багаточленів степеня п, що рівносильно виконанню співвідношення Ь* п ^р(<х)х1сіх=апУ^х1к, і = \,п. (10.30) а к=\ Таблиця 10.4 Абсциси і коефіцієнти квадратурної формули Чебишова /7=1 о II /7=2 — Х| =х2 =0,5773503; /7=3 -х, =х3 =0,7071068; х2=0; /7=4 - х, = х4 = 0,7946545; - х2 = х3 = 0,1875925; /7=5 -х, =х5 = 0,8324975; -х2 = х4 = 0,3745414; х3 = 0; /7=6 —X, = х6 = 0,866246§ - х2 = х5 = 0,4225187, - х3 = х4 = 0,2666354 /7=7 -х, =х7 =0,8838617; -х2 = х6 = 0,5296568; - х3 = х5 = 0,3239118; *4 = 0; /7=9 -х, =х9 =0,9115893 ; -х2 =х8 =0,6010187 ; -х3 =х7 =0,5287618 ; -х4 =х6 =0,167906 ; х5 = 0 Для проміжку інтегрування [-1,1] формула (10.29) матиме вигляд V я ]/О)(ІХ *ап ^/(хк), (10.31) -1 к=\ 2 де ап= —. Цю формулу називають квадратурною формулою п Чебишова. Абсциси хк обчислюють для кожного конкретного п. їхні значення наведені в табл. 10.4. При я = 8,10... серед хк будуть комплексні значення, тому ці випадки недоцільно розглядати. Приклад 10.4. За квадратурною формулою Чебишова обчислити з точністю до є = 10-6 значення інтегралів 289
, Г СІХ е СІХ з (х + 2)л/х^-4 Та 4 = /і + х- Розв’язування. Для обчислення інтеграла виконано розбиття на т = 4 підпроміжки з кількістю абсцис для п-6 і отримано наближене значення Jx «0,650683. Для обчислення другого інтеграла виконано т = 8 розбиттів на підпроміжки. Одержано У4 «0,7853981808, яке сімома знаками збігається з 71 точним значенням цього інтеграла —«0,78539816134. 10.7. Формули Ейлеро-Маклореиа Точність розглянутих вище квадратурних формул залежить від властивостей підінтегральної функції та вибраного квадратурного правила. Квадратурні формули побудовані за допомогою заміни функції /(х) алгебричним багаточленом і розраховані на інте- гровність функцій з певним порядком гладкості. Наприклад, похибка квадратурної формули Гаусса з п вузлами залежить від того, наскільки точно /(х) на проміжку [а, Ь] може бути наближена багаточленом степеня 2я-1. Якщо ж розглядати похибку, зумовлену недостатньою точністю п квадратурної формули, то до основної суми ^ак/(хк) треба до- к=\ дати доданок, який є головною частиною залишку Ли(/). Цей доданок повинен бути достатньо простим і легко обчислюваним. Така ідея закладена у формулі Ейлера-Маклорена. В різних задачах необхідно виділяти різну кількість головних частин і для побудови теорії уточнення правил ми повинні передбачити розклад К„(ї) У РЯД їз головних частин щораз більших порядків, а також уміти знайти залишок після виділення з Я„(/) довільної скінченної кількості членів такого розкладу. Формула Ейлера-Маклорена має вигляд [12] а+пИ , \ /{х)ск = -[/(а + пИ) + /(а)] + л£/(а + кіг) - *=І (10.32) т~ 1 /72у /? и(2^\а + пК) - /(2''-,)(а)] + **«(/), 290
де В1у - числа Бернуллі; КіЛЛ = ~пЬ2т+3-^п±2г-.Ґ1т+2)(^\ $є[а,а + #ій]. (10.33) (2т+ 2)1 Розглянемо декілька доданків- для похідних у (10.32) і для практичного використання одержимо таку формулу: а+пИ 1 -а І /(л)Л*А(-у;+/2+/3+... + /я+_/и+1)- а -§(/;+, - л- (Ю.34) /76 /78 Л5) _ Л5)ч ■ ” / Л7) _ /*(7)ч 30240 1209600 У формулі (10.34) доданків з непарними вищими степенями к нема, бо числа Бернуллі з непарними номерами дорівнюють нулю. Часто формули Ейлера-Маклорена використовують для підсумовування значень функцій у точках рівномірного розбиття проміжку [а; а + пК\: £/(,я+*й)=- І /(дс)л+-с/;+/я+1) + *=о т У? (/'Г0 - )+л2т (/), (10.35) Де К (2т + 2)\~ Приклад 10.5. За формулою Ейлера-Маклорена (/) = п^т+2 ^ 2т+1ч, /(2т+2) (£> • (10.36) обчислити інтеграл і7 = | 13 ах Розв’язування. Проміжок інтегрування [1,13] розіб’ємо на частини і на кожному підпроміжку застосуємо формулу Ейлера- Маклорена з певною кількістю доданків функції та її похідних. Величини п та т залежать від поведінки функції на конкретному підпроміжку. Для нашого прикладу використаємо три підпроміжки пгсІх 2есІх \сіх [\сіх ^ |= ]— + )— + 1— У у •'V * у V у 291
На перших двох з них виберемо п = 10, т = 3 з кроками к = ОД та к = 0,2; для третього я = 9, га = 3, к = 1. Обчислимо похідні Л*) = -4-; Г(*) = -4-; /(5)(^) = -^ XX X Тоді за формулою (10.35) одержимо 2 , 1 , «0,1[—/(1) + /(1,1) + /(1,2) +... + /(1,9) +—/(2)] - •» х 2 2 1200 (/'(2) -/'(!)) + 1 7200000 (Г(2)-Г(1)) = А^1 111 1-, 1 г 1 — 0,1[—і 1 1 1- ...ч—] н [—-— 1] — 2 1,1 1,2 1,3 4 1200 22 1 1 -[-г-1]~ 0,6937714 - 0,000625 + 0,0000007 * 1200000 24 *0,6931471; 4 ґіг 1 1 ^ * І— * 0,2[-/(2) + /(2,2) + /(2,4) +... + /(3,8) + -/(4)] - 2x2 2 -—(/'(4) - /'(2)) + 1 300 450000 СГ(4)-/"(2)): = 0,1 1 1111 111 —І 1 1 Ь ... Н 1 — 4 2,2 2,4 2,6 3,8 2 4 1 ■ 1 1" 1 300 _42 22 _ 450 000 _1 1_ 44 24 і 0,6937713 - 0,000625 + 0,0000007 * 0,693147; /—-1- \т+т+т+...+ят+\т) -^(/'(13) - /'(4)) + ^(Г (13) - /*(4)) = ііііі і і і ■ 1—і 1 ь... н 1— • — 2 4 5 6 7 12 2 13 1 і ' 1 Г 12 1 1 сч 1 ^ 1 1 ^ СО і 1 120 _1 1_ ІЗ4 44 і 1,1833386 - 0,0047152 + 0,0000322 = 1,1785912. Остаточно F = ^ + + Fз * 2,5648853. 292
Точне значення інтеграла ^ = 1п 13 « 2,56494935. Приклад 10.6. Обчислити суму значень функції /(л) = — х на проміжку [51,99] з кроком к = 2 , тобто 24 і 24 1 ,=о х, ,=0 (51 + іИ) Розв’язування. Для обчислення 5 скористаємося формулою (10.35). Спочатку обчислимо похідні /'(*) =-4-; Г(Х) = ~; X XX Тоді 5-І 2 сіх 1 1 —7 Н 7 Н ^ X2 512 99 ♦4.2 2! 2 2 993 +513 +—-23 4! 4! " Н г + —-25 6! 6! " н—— 4! _~99г 51 _ 6! 997 51 . 1 1 Н 7 Н 7 512 99 30 І 2 4_ 15 ]_ х J 1_ 515 995 51 J 1_ 515 995 99 + - 1 513 1 993 1 + 32 42 1 1 Н 7 Н 7 512 99 1 + - З J 1_ 517 997 J 1_ 513 993 + - 16 21 J 1_ 517 997 +2,16932 10-6 - 7,448949 • 10“10 +8,40829 1043 «0,0049966. ! 4,996665 10'3 + 10.8. Обчислення невласних інтегралів На практиці часто трапляються задачі, пов’язані з обчисленням невласних інтегралів. Це можуть бути інтеграли з нескіченними межами або інтеграли зі скінченними межами, проте 293
з підінтегральною функцією, яка перетворюється у нескінченність на відрізку інтегрування. Невласний інтеграл з нескінченними межами завжди можна перетворити у невласний інтеграл чи навіть власний зі скінченними межами. Для цього достатньо зробити відповідну заміну змінної під знаком інтеграла чи взяти інтеграл у скінченних, але достатньо великих межах так, щоб відкинута частина інтеграла була значно менша, ніж задана нами точність обчислення інтеграла. Для обчислення невласних інтегралів зі скінченними межами інтегрування найзручніше використовувати метод виділення особливостей. Є кілька методів виділення особливостей. Ми розглянемо мультиплікативний та адитивний способи. Суть мультиплікативного способу виділення особливостей полягає в такому. Нехай нам треба обчислити інтеграл ь /=]/(*)<&, (10.37) а де функція /(х) перетворюється в нескінченність в одній або декількох точках відрізка \а,Ь\. Ми запишемо цю функцію у вигляді /(*) = §(х)р(х), (10.38) де ф(х) - обмежена функція на \а,Ь\, яка має там достатню кількість неперервних похідних, а р(х) > 0 на [а,Ь\. Розглядають р(х) як вагову функцію і будують відповідну формулу чисельного інтегрування за допомогою тих же способів, які описані вище (наприклад, квадратурні формули типу Гаусса). За наближене значення інтеграла (10.37) приймають результат застосування отриманої формули чисельного інтегрування до функції ф(х). Розглянемо квадратурну формулу Гаусса-Кристоффеля (або типу Гаусса, або просто Гаусса). Нею називають формулу найвищого алгебричного порядку точності вигляду \р(хЩх)сІх * ^4<я)ф(х,.), (10.39) а де межі інтегрування а і Ь можуть бути як скінченними, так і нескінченними, а вагова функція р(х) повинна задовольняти такі умови: вона повинна бути неперервна і додатна на інтервалі (а,Ь); 294
при х = а і х = 6 вона може перетворюватися в нуль або в ь нескінченність. У цьому разі повинен існувати |р(х)сІх. Очевидно, а на скінченному проміжку [я,Ь] ці вимоги задовольняє функція р(х) = 1, з якою квадратурна формула Гаусса є частковим випадком формули (10.39). Проаналізуємо конкретні квадратурні формули Гаусса- Кристоффеля, отримані на базі класичних ортогональних багаточленів. Приймемо у формулі (10.39) а = -\, Ь = 1, р(х)= !— та V 1-х2 візьмемо за вузли х, корені багаточлена Чебишова Тп(х). Тоді отримаємо формулу )4Щ<ь * Х4(я)/(*,.) - (10-4°) VI - X2 7^ яку називають квадратурною формулою Ерміта. Всі коефіцієнти 71 у формулі (10.40) однакові між собою: =—, і = \,2,...,п, а п х, = соб——-я - корені багаточлена Тп(х). 2 п Якщо одна або обидві межі інтегрування нескінченні, то на базі ортогональних багаточленів Лагерра й Ерміта отримаємо, відповідно, формули ]е-хх/(х)ск * £ Д(и)/(х,) (10.41) ]>7 (х)с&*£л,(я)Дх,.), (10.42) -ОО І = 1 які іноді називають також квадратурними формулами Лагерра й Ерміта. За вузли в них приймають корені багаточленів Лагерра А.(х) У (Ю.41) та Ерміта #и(х) у (10.42), а вагові коефіцієнти Д(и) обчислюють за формулами -|2 д-’Л «-*. о (х-х,)4(х, ) (»-!)! х. 295
для квадратури (10.41) і .... 7 Н.(*) .-г*. Т-\п-\уМ і(х-х,)Яи(х,) пН„_ ,(*,) для (10.42). Формули (10.41), (10.42) точні для багаточленів степеня не вище 2п -1. Залишкові члени формул (10.41) і (10.42) мають, відповідно, вигляд пЛ _ (п\)2 УІК М2п)(ь ч і рЕ _ піл/її „(2 „>,е . *• (адГ7 <5л> ' к№і)' де =(0, +оо) , =(-00, +00) Числові дані про вузли і ваги квадратур Лагерра й Ерміта для значень від 1 до 6 наведені в табл. 10.5. Приклад 10.7. Обчислити інтеграли Іх = р111 » хе _ {е * сояхсіх, 0М>5 + * і використовуючи квадратурні формули з вагами. Розв’язування. Використаємо для обчислення інтеграла /, квадратурну формулу Лагерра (10.41), а для /2 — квадратурну формулу Ерміта (10.42). Необхідні значення вузлів та коефіцієнтів беремо з табл. 10.5. У результаті обчислень отримано: для першого інтеграла» у випадку п = 3 наближене значення /, «0,195078, а для п = 5 - Іх »0,218690; для другого інтеграла у випадку л = 3 значення /2 * 1,382033, а для и = 6 - 12«1,3803884. Точне значення цього інтеграла /2 =л/пе~У* *1,3803885. 00 Для обчислення інтеграла |/(х)с6с можна використати о квадратурну формулу Лагерра (10.41), виділивши під інтегралом відповідну вагову функцію ОО 00 п //(*)*= \е*е*/(х)сІх^А(і’"е^(хі). (10.43) 0 0 1=1 296
Таблиця 10.5 Вузли і ваги квадратурних формул Лагерра й Ерміта Формула Пагерра Формула Ерміта п і X,. Д<"> х,. 4п) 1 1 1 1 0 1,77245385 2 1 0,58578644 0,85355339 -0,70710678 0,88622693 2 3,41421356 0,14644661 0,70710678 0,88622693 3 1 0,41577557 0,71109301 -1,22474487 0,29540896 2 2,29428036 0,27851773 0 1,18163590 3 6,28994508 0,01038926 1,22474487 0,29540896 4 1 0,32254769 0,60315410 -1,65068012 0,08131284 2 1,74576101 0,35741869 -0,52464762 0,80491409 3 4,53662030 0,03888791 0,52464762 0,80491409 4 9,39507091 0,00053929 1,65068012 0,08131284 5 1 0,26356032 0,52175556 -2,02018287 0,01995324 2 1,41340306 0,39866681 -0.,5857246 0,39361932 3 3,59642577 0,07594250 0 0,94530872 4 7,08581001 0,00361176 0,95857246 0,39361932 5 12,6408008 0,00002337 2,02018287 0,01995323 6 1 0,22284660 0,45896474 -2,35060497 0,00453001 2 1,88893210 0,41700083 -1,3584907 0,15706732 3 2,99273632 0,11337338 -0,43607741 0,72462960 4 5,77514356 0,01039919 0,43607741 0,72462960 5 9,83746741 0,00026101 1,33584907 0,15706732 6 15,98287398 0,00000089 2,35060497 0,00453001 Коефіцієнти А\п) і хі відповідають формулі Лагерра. Загальніший спосіб інтегрування на проміжку [а,со) зводиться до розглянутого вище або лінійною заміною змінних, або зображенням 00 інтеграла |/(х)а!х: у вигляді суми двох інтегралів а О 00 ^/(х)ск+ |/(х)йЬс, перший з яких означений. а О +00 Аналогічно для інтеграла | /(х)сіх можна отримати -00 +00 +00 п \ Ах)еЬ = \е*геЧ(х)ах * £ 4< V /(х,), (10.44) де А\п) і хі повинні відповідати квадратурній формулі Ерміта. 297
Приклад 10.8. Обчислити значення невласного інтеграла 00 /3 - |іпіїі—СІХ. о 2 Розв’язування. Застосуємо до цього інтеграла формулу (10.43) 00 уі у вигляді [іп Йх—сіх « ^ Д-И)Ф(Х,). Де ф(х) = ех\п(Ь — = О 2 '=1 2 = 1п -—-—\/е~х коефіцієнти 4м і х, взяті з табл. 10.5. Для п = 5 отримано результат /3 *-2,353028. Точне значення я2 інтеграла /3 =—— * -2,467401. Отже, точність отриманого наближеного розв’язку невелика. Для обчислення невласного збіжного інтеграла вигляду ]/(д:)<& а за наявності нескінченних розривів у функції /(х) або в точці х = а, або в точці х = Ь , або в загальному випадку в деякій точці х = сє[а,б] Л. Канторович запропонував адитивний спосіб виділення особливостей. Суть способу полягає в тому, що цей невласний інтеграл записують у такому вигляді: ь ь ь \/(х)ск = х)сіх + |[/(х) - #(х)] сіх, (10.45) а а а де функцію #(х) підбирають так, щоб вона мала на [а,6] таку ж Ь особливість, як і /(х), і значення |£(х)с& відшукували а аналітичним способом, функція f(x)-g(x) повинна бути до- ь статньо гладкою, тобто інтеграл |[/(х)-£(х)]й6с можна знайти а звичайними квадратурами. Для функцій деякого класу зі степеневими особливостями розроблено технологію підбирання таких функцій g(x), які 298
переймають на себе особливість не тільки функції /(х), а й деякої кількості її похідних, що дає змогу до другого інтеграла в (10.45) застосувати квадратурні формули заданого порядку. Розглянемо, як це можна зробити. Нехай с є \а,Ь\ - особлива точка функції /(х) такої, що /(*) = . Де У є (0,1), а g(x) є С*+І [а,Ь], і нехай для (X с) обчислення другого інтеграла в (10.45) хочемо використати квадратурну формулу, яка потребує від функції f(x)-g(x) неперервності к -ї похідної. Розглянемо функцію <Ь(*+1)ОЇ Ф*+1 (*) = Ф(с) + Ф'(<0(* - с) +... + ———-(х - с)*+1 +... (Л + 1)! Оскільки ця функція є відрізком розкладу Тейлора функції ф(х) в околі особливої точки х = с, то, приймаючи #(х) = - Ф*+і(*) (.х-с)у ’ отримаємо рівність -«.[(»-«)*]■ яка означає неперервну диференційовність функції /(x)-g(x) не менше к разів. Приклад 10.9. Обчислити інтеграл І = [-р^ ■ - і УІх(1-х) Розв’язування. Підінтегральна функція /(х) = -т= ^ має у]х(і-х) ( п степеневу особливість у = — у точці х = 0 і задовольняє V перелічені вище умови. Розкладемо функцію ф(х) = -Д= в ряд л/ 1-х Тейлора в околі точки х = 0 А/ Ч 1 1 з 2 5 з 35 4 ф(х) = 1 н—хн—X Ч X н X +... 2 8 16 128 299
і приимемо і / ч 1 1 ^2 5 з 35 4 ф4(х) = 1 + — X + — X + ~^Х 4- л ^^Х 2 8 16 128 Тоді / ч -V 1 і/ 3 з/ 5 з/ 35 у ё^х) = Щ/. = х /2 н—х +-х/з + —г4 + х/з, хк 2 8 16 128 /(*) - #00 = * [ФО) - ФЛ*)] = 1 3 , 5 , 35 (1 н—х н—х н—х н х ) (10.46) „л/ї^с 2 8 16 128' Звідси /, - ^(х)с!х = |х /г<ІХ + — Іх/'2с1х + — ^х^2<іх + — |х/^й6с + 1/2- 1/2--К, 1%, З^з/, 5 ,;г 5/ 0 2 0 8 0 16 0 35 Ч у + [х/2<& = 1,5691585; 128 і 1/2 а до інтеграла І2= ^/(х)-g(x)\dx можна застосувати, о наприклад, ефективний алгоритм Сімпсона, оскільки функція має, принаймні, неперервну третю похідну. З останнього зображення цієї функції в (10.46) бачимо /(0)-£(0) = 0. Обчислення 1/2 /2 = |[/(х)-£(х)]<& наведеним алгоритмом із заданою точністю о є = 10“5 дає /2 =0,0016385, звідки / = /, +/2 =1,5707970. /2 М Відзначимо, що інтеграл 1 ~ J знаходиться елементарно і його точне значення є <іх о у]х( 1-х) /=- = 1,5707963. 2 300
Часто ефекту адитивного виділення особливості досягають інтегруванням частинами чи за допомогою заміни змінних. У разі наближеного обчислення збіжних невласних інтегралів оо Ь ^/(х)сіх, |/(х)й£с (сє[а, Ь] - особлива точка) може виявитися а а корисним такий простий прийом, який ґрунтується на самому оо Ь означенні цих інтегралів. Невласні інтеграли |/(х)йЬс і ^/(х)сіх а а можуть набути вигляду 00 А оо ]/(*)<& = |/(х)<&+ |/(;фїх , а а А Ь с-8, Ь с+52 |/(д)<іх= |/ОфЬ;+ ^/(х)сіх+ | /(х)ск, а а с+8| с-8| причому А вибирають настільки великим, а 8, і 62 - настільки малими, щоб у межах заданої точності інтеграли оо с+52 |/(х)й6с, | /(х)ск не впливали на результат. Інтеграли А с-6, А с-5| Ь |/(х)йЬс, | /(х)сіх, | /(х)ск обчислюють уже відомими ме- а а с+52 тодами. "г СІХ Приклад 10.10. Обчислити наближено інтеграл з ■V +1 а точністю до є = 10_6 Розв’язування. Виберемо число А так, щоб виконувалась . . "і- сіх є нерівність <—. к+1 2 301
Зауваживши, що [ ^ <іх < < е А , вибираємо А з умови іеХ+1 і ^ 1 ю-6 гА 2 звідки отримаємо А = 15 Приймаємо наближено Г —» [ ^ -І й обчислюємо означений інтеграл / з Іе*+1 п^+1 о •»-6 Ю А г сіх точністю —— за формулою Сімпсона: ^-—- » 0,693147. 10.9. Наближене обчислення кратних інтегралів 10.9.1. Кубатури і формули Розглянемо деякі методи наближеного обчислення кратних інтегралів. Вони ґрунтуються на побудові формул вигляду 7= ії.. .ІАхІ,х2,...,хп)сЬсІсік2...сіхп =^С,/(/>) + /?(/), С /=1 які називають кубатурними формулами. Ці формули дають змогу відшукувати наближене значення інтеграла за допомогою лінійної комбінації значень підінтегральної функції в скінченній кількості точок Р1,Р2,...,Р„/ єб. Одним з найпростіших способів отримання кубатурних формул є прийом повторного застосування розглянутих раніше квадратурних формул для наближеного обчислення однократних інтегралів. Нехай треба обчислити подвійний інтеграл ,у)с!хсІу, (10.47) с де область інтегрування - прямокутник Є = [а<х< А, Ь<у <В], сторони якого паралельні до осей координат. Кожен із проміжків [а, А] і \Ь,В] розіб’ємо навпіл точками х0=а, х{=а + к, х2=а + 2И = А і, відповідно, у0=Ь, Уі=Ь + к, у2=Ь + 2к = В, де 302
/г = , к = . Усього таким способом отримаємо дев’ять 2 2 А В точок (*,,>>, ) (і,У = 0,1,2). Тоді І = \\Ях,уУхс1у = ^сіх\/(х,у)сІу в а Ь Звідси, обчислюючи внутрішній, а потім зовнішній інтеграл за квадратурною формулою Сімпсона, отримаємо І = /]/(*>уУІхсіу *^{[Ах0,у0) + /(х2,у0) + /(х0,у2) + Є " + /(*2 > У2 )] + 4 [Д*Р Уо ) + А*0 » Я ) + /(*2 » Я ) + /(*1 * ^2)] + (10.48) + 16/(х,,7,)}. Цю формулу називають кубатурною формулою Сімпсона. Якщо розміри прямокутника Є = {а<х<А, Ь<у< В) великі, то для збільшення точності кубатурної формули (10.48) область Сг розбивають на систему прямокутників, до кожного з яких застосовують кубатурну формулу Сімпсона. У підсумку отримують узагальнену кубатурну формулу Сімпсона Нк /7-1 т-1. й у + /2;+2,2у + І2і+2,2У+2 + //,2у+2 ) + 0 ^.49) ^ /=0 у=о "^(•Лі+І.гу + ^2і+2,2у+1 + І2і+\,2у+2 //,2у+1 ) + ^//+1,2у+1 ] » де Лу = /іх„у^, X, = х0 + ік х0 = а, /г = ——; і = 0,...,2п \ ( В — ь ^ У/ = 7о + Д |^о = &, * = У = о,...,2т І. Приклад 10.11. Із застосуванням кубатурної формули Сімпсона обчислити подвійний інтеграл 6 5 сіхсіу ху Розв’язування. Відповідні наближені значення цього інтеграла при різних т і п наведені в табл. 10.6 Точне значення / = 1п 1,5-1п 2,5 »0,37152392. 303
Таблиця 10.6 Наближене значення інтеграла для різних т і п п т ^ набл 1 1 0,37369048 2 3 0,37157483 4 6 0,37152739 10 15 0,37152401 20 ЗО 0,37152393 Зазначимо, що на цьому шляху отримують кубатурні формули з великою кількістю вузлів. Тому доцільно використовувати квадратурні формули максимальної точності (з мінімальною кількістю вузлів), наприклад, формули Гаусса. Недоліки методу: • його зручно застосовувати тільки для прямокутних областей; • зі зростанням кратності інтеграла різко збільшується обсяг обчислень; збільшення точності завдяки зменшенню кроків інтегрування значно збільшує обсяг обчислень. 10.9.2. Метод Монте-Карло Для обчислення інтегралів великої кратності з малою точністю широко використовують метод статистичних випробувань, або метод Монте-Карло. Нехай треба обчислити інтеграл /= Я- .У(х\’х2’->х„)<іхх<іх2...<іхп (10.50) в за областю Є , визначеною нерівностями 0 < х1 <1, 0 < ф~ (хІ,х2,...,хІ_І) < хі =\|/<(х|,х2,...,х<_1)<1 (10.51) (г = 2,3,...,и). Припустимо, що ми вміємо отримати значення випадкової величини, рівномірно розподіленої на відрізку [0,1]. Випадкову величину г) називають рівномірно розподіленою на [0,1], якщо вона набуває значення з цього інтервалу і ймовірність того, що вона набуде значення з інтервалу(^,^+1)є[0,1], дорівнює /І+І . Нехай потрібно 304
обчислити інтеграл (10.50) за областю (10.51), де функція /(хІ,х2,...,хп) обмежена й абсолютно інтегровна. Знову розглянемо сукупність N незалежних випадкових точок Рк=(ї,, координати яких є незалежними випадковими величинами, рівномірно розподіленими на відрізку [0,1]. Якщо точка Рк потрапила в область Є , то обчислюють /(Рк), якщо Рк £ Є, то приймаємо /{Рк) = 0. Нехай із загальної кількості N випадкових точок п точок потрапили в область Є, решта N-п виявилась поза (7 Тоді за достатньо великого N справджується наближена формула І - — V/(/?), де під Уа розуміємо т -вимірний об’єм області інте- п і=1 грування. Якщо об’єм ¥с обчислити важко, то можна прийняти Ус«, і для наближеного обчислення інтефала отримаємо /-і' N „, Зазначимо, що в цьому способі ми ніби продовжуємо функцію /(хі,х2,...,хп) на весь куб {0< де, <1, г = 1,2,...,и}, приймаючи, що вона дорівнює нулю поза областю Є У разі застосування цього методу виникає трудність у визначенні необхідного мінімального числа N випробувань [6]. Недоліками методу Монте-Карло є те, що для обчислення інтефала з точністю є необхідно обчислити значення підінтефальної функції в кількості точок N яка має порядок о(є~2). Ця кількість швидко зростає зі зменшенням є Крім того, збільшення гладкості підінтефальної функції не зменшує обсягу обчислень у випадку застосування методу Монте-Карло, що є його суттєвим недоліком у разі інтефування гладких функцій. Описаний спосіб можна застосувати до обчислення кратних інтефалів і для довільної області Є , якщо існує така заміна змінних, за якої нова область інтефування буде розміщена в т -вимірному одиничному кубі. Приклад 10.12. Методом Монте-Карло обчислити інтефал / = Л(*2 + у^сіхсіу, де область (7 визначена такими нерівностями а (рис. 10.1): 0<дг<1, 0<у<Зх-2. 305
у 1 1 0 / ? 0 к 1 X Рис. 10.1 Розв’язування. Область інтегрування належить одиничному квадрату 0 < х < 1, 0<>><1. Узявши загальну кількість точок ТУ = 100 та виконавши десять разів обчислення інтегралу за методом Монте-Карло з використанням псевдовипадкових чисел, генерованих комп'ютером, ми отримали наближене значення інтеграла /на6л «0,18889, яке відрізняється на З % від точного: І = Л(*2 = «0,18827 О ^24 У табл. 10.7 наведено кількість точок п , які потрапили в область, та обчислене значення інтеграла Ік у разі А:-го запуску програми. Як бачимо, точність отриманих результатів невисока. Вона практично не підвищується й зі збільшенням N Таблиця 10.7 Значення інтеграла в разі к -то запуску програми к п Значення інтеграла Ік 1 23 0,20008 2 23 0,21005 3 32 0,18274 4 22 0,17209 5 29 0,18773 6 28 0,18755 7 22 0,19188 8 22 0,18038 9 20 0,17739 10 21 0,19898 і 10 І =—У'/ набл л / л к їй *=1 = 0,18889 306
Завдання до розділу 10 10.1. Обчислити інтеграли за квадратурними формулами прямокутників, трапецій, Сімпсона і “трьох восьмих” з точністю є = 10_6 і порівняти з точним значенням інтеграла для заданої первісної функції F(х): і) * X СІХ + х 3) |л/бх-5 сіх, з 1,3 4) сік /^(л:) = 1п|л:|; Р(х) - агс^ х; Р(х) = ^(6х-5)3; ^(х) = ^ 1п (х + Т^+ОЛІ |; 0,7 у/ 2х2 +0,3 1.2 5) |іп(1 + Xі) сіх, Р(х) = х 1п(1 + х2) - 2(х - агй£(х)); 6) |іп X сіх, 1 з 7) |іп2 х сіх, 4хе сіх, 8) Г- 2 , 0 + 2х) з 9) ^е* віп 2х сіх, ^(х) = х 1п х — х; Іг(х) = х1п2х-2х1пх + 2х; „їх Р(Х) = 1 + 2х 10) совх йбс, ^(х) =—(віп 2х - 2 сов 2х); ех F(x) = —(совх + віпх);
13 14 15 16 17 18 19 20 21 22 23 24 од Jtg2 5xdx, F(x) = -^-x; dx 1 + X + X dx 2 ’ 1,4 V 2x2 +0,7 2’r dx 1^5х2-0,4’ 2 Jxsin(x) dx, і 2 Jtg3 X dx, і ►,i 0,1 dx 2 , cos 5x sin(2x) ^ 7 + cos(2x) o,i J9 cos2 (3x) - sin2 (3x)) ’ s dx FW=larctg^r; F(x) = -^ln(x + Jx2 + 0,35); л/2 F(x) = ln(x + -^/x2 -0,08); л/5 F(x) = sin x - x cos jc; F(x) = tg2 л; + In |cos x|; F(x) = jtg5x; F(x) = ln(7 + cos 2x); F(x) =—In 18 tg3x + 3 tg3x - 3 jsin2 (5x) cos?(5x) dx, F(x) = — - X sin 20x 0 1 „2дг dx 8 160 1 0,7 2 4 + e2x x + 2 л/х2 +1 xdx \x2+4)2 г x3dx • (4 + x2)2 ’ dx, F(x) = — ln(4 + e ); F(x) = л/х2 +1 + 21п(х + л/х2 +1); 1 Fix)- 2(x2 +22)2 F(x) = —r- +—ln(4 + x2); 4 + x2 2
27) |х^(8-х2)3 <Ь, 1 \х (їх 28, % 29) + х І Iа’ Г(х) = -У(8-х‘У ^(д:) = лг — 1п|і + дг|; /'’(х) = — (х + віп х); ЗО) \ех4ех -1 А, Е(х) = -у/(ех - і)3 10.2. Обчислити такі інтеграли за квадратурними формулами Гаусса та Чебишова. Отримані розв’язки порівняти з точними значеннями для заданої первісної F(x): і) *х + 3 2 2) ) І З ’ (х + 2) <іх х(х + 3) ’ (х + 5)сіх х + 2 ’ З 51 4) \ 0 6) І • з 5 81П X 7) і -2 " 8) )■* (2х + 3) ■ Х3СІХ УІХ2-25 г СІХ 4 5 СОБ X ^(х) = х-31п|х + 3|; х + 2 (х + 2) ^(х) = х- 31п|х + 2|; 1 Р(х) = - (2х + 3) 1/2 ’ ^(х) = ^(х2-25)3 + 25у!х2-25; ч 1 С08X 1 , X . ^) = -т-^+т1пИе-|; 2 8іп х 2 2 ^(х) = ^Зх + 1§х; .. °гвіп4х , 1.3 . , и і,, 9) ах, г(х) =—віп х — віпх + 1п | tg(—і—) |; •’ совх 1 7 л 2 4 309
... fCOSX , 10) [-^-dx, _'sm X ... 2rsin3x 11) X-^-dx, •Sin X 0,3 12) jtg34xdx, 0,1 1 15) f. 0,1 4 ,.4 X dx 1 + Л 16) J. x3dx о (V^2 + 52)5 ’ 17) I * 10 - 3 jclnx 18) jV ІпхЛ, 2 19) 2f^2 J r fix; i 20) I tg2 xdx, 0.5 1,5 21) Jsinjccos2(ix:, 0,5 1 22) J 0.4 23) Г dx (1 + cosx) cosxdx - (1 + cosx) F(x) = - 1 im f Inx , 13) jdx, (x + 2) 0,2 14) J ctg2 (Зх)Лс 2sin2 jc ’ F(x) - -3 ctg X - 4x; F(x) = ^ tg2 4x + ln|cos 4x|; lnx 1 X F(x) = - +—ln- x+2 2 x+2 F(x) = --ctg3x-x; F(x) = ~ уіх2 +52 3(д/х2+52)3 ’ F(x) = ln I lnx I; F(x) = 4 4 16 F(x) = |(ln3x)3; F(x) = tgx-x; F(x) = - cos3 X „. . 1 X 1 , X FW=2,g2 + 6,g 2: ч 1 X 1 1 X FW=I'еГб,е1: 310
... Г СО ЬХСІХ . 1 X 1 з X 24 7, F(;c) = -ctg сі*3 —; і (1 — совх) 2 2 6 2 2^ г совхЛ ^ _ _|п^ _ ^^ _ і І-БІПХ 2 0.4 Г ЬІПХСІХ ч , .І + СОБХ. 26) | F(x) = ln| 1 * С08Х(1 + С08Х) совх 0.1 10.3. Обчислити із заданою точністю невласні інтеграли ,) *(££!§£*, 8=,0'3 1 1 -І- г3 0 1 + х 00 — X* хе 2) Г сіх, є-10“6 '2 + зіпх оч "г* ,п-3 3) 6-ю ; 0° 1 4) Г—г-віп—<я6с, є = 10~3; У г і* 5) |іпх1п(1 + х)<іх:, 8 = 10 4; о 6) \^-ск, є = 10-3; Л-дс 7) |іо§8тхй&:, є = 10 3; сіх о 7Ї~+ схх 00 -х 8) | І є = №~4, а = 0,5+ 0,1 А:, А: = 0,1,...ДО; 9) \——с!х, ^ = 10“6, а = 0,4+ 0,2А:, А: = 0,1,...,12. ; а + х
10.4. Обчислити інтеграли, використовуючи квадратурні формули з вагою. оо -х 1) —ііх, п = 5;. о х + 2 оч °Г* + 1 2) е сіх, п = 5 }х + 2 00 3) п = 5, а = 0,5 + 0,1 к, к = 0,1,...ДО; О а + х 0° -х 4) [ -г=сЬс, п = 5, а = 0,6 + 0,2к, Л = 0,1,.»Л0і о а + ^х 0° -X2 5) [ . =<іх, п = 5, а = 1,5 + 0,2к, к = 0,1,...,10; _Іл/2 + 8Іпш: оо 6) ех (]х, п = 5, а = 1,0 + 0,2&, Л: = 0,1,...,10 ; 7) [І^гсіх, є = 10 5 0Ь + х2 00 рГ*2 8) [ . сіх, є = 10-4 іл/і + Х2 00 — 9) Г^-тЛ, в = Ю“4 І1 + * ге ^іпх з 1 2 + х 1 2дг 11) [ , сіх, п = 5; -і VI-X2 1 2х 12) [ =&, и = 5; 5(1 + х)^х 14) ї Г7=^’ " = 5; -і (1 + х) \/1 — X 13) /. Я&С І4х(ейАх +1,5)’ /з = 4 312
Г —Р сіх, и = 5, а = 0,60+ 0,07 А:, к = 0,1,. ..,8, 15) • у/х(х + Ь) Ь = 2,00 + 0,25к, к = 0,1,2,...,6; і 16) [ . СОВаХ <іх, и = 12, а = 2,60 + 0,04£Д = 0, 1, 10. -іуі\-х2(0,3 + х2) 10.5. Методом повторного інтегрування, застосовуючи різні квадратурні формули, обчислити інтеграли. Порівняти отримане значення з точним значенням інтеграла. 2 1 1) Дх2 + Іу^сіх за формулою трапецій для о о пх = 4> пУ = 8; 42 2) ] 2 33 формулою Сімпсона для пх =4, = 8; 3 і(х + 7) 4 2, 3) (А і ^ за формулою Сімпсона для пх =4, п = 8. 3J г(х + у) 10.6. Обчислити інтеграли методом Монте-Карло. 1) у2 dxdy, де G - трикутник з вершинами 0(0,0), Д1,0), 5(1,1); 2) її/’ <&ф, де G - криволінійний трикутник, обмежений параболою у2 = х і прямими х = 0, у = 1; 3) fff dxdydz— де G _ область інтегрування, обмежена J'J (х + J + Z + 1) координатними площинами і площиною х + + z = 1. 313
Відповіді до завдань розділу 10 Відповіді до 10.1 Відповіді до 10.2 1. 0,69315; 1. 0,45304 2. 0,78540; 2. 0,03472 3. 32,90309; 3. 0,06921 4. 0,40413; 4. 2,75394 5. 0,42251; 5. 0,05602 6. 0,38629; 6. 66,58975; 7. 0,84086; 7. -1,15699; 8. 8,45661; 8. 2,81858; 9. -9,65017; 9. 0,18611; 10. -10,34699; 10. 24,50216; 11. 0,00078; 11. -0,70075; 12.' 0,18725; 12. 0,57143 13. 0,00926; 13. 0,02945 14. 0,60460; 14. 0,49034 15 0,23755; 15. 16,88534; 16. 0,21782; 16. 0,00387; 17. 1,44042; 17. 0,10791; 18. 0,59713; 18. 15,41181; 19. 0,10926; 19. 1,47543 20. 0,01837; 20. 0,51111 21. 0,01150; 21. 0,22517 22. 0,11929; 22. 0,19758 23. 0,41161; 23. 0,14912 24. 1,66631; 24. 0,38391 25. 0,03750; 25. -2,96366; 26. 0,08500; 26. 0,03945. 27 19,52836; 28; 0,77686; 29. 0,53391; ЗО. 44,81975; 314
Розділ 1 1 МЕТОДИ РОЗВ'ЯЗУВАННЯ ЗАДАЧІ КОШІ ДЛЯ ЗВИЧАЙНИХ ДИФЕРЕНЦІАЛЬНИХ РІВНЯНЬ Клас задач Коші, інтегрованих у явному вигляді, є дуже малою часткою задач, які потрібно розв’язувати. Клас реально розв’язуваних диференціальних рівнянь, а отже, і сфера застосування математики суттєво розширилися з розробкою чисельних методів і активним використанням комп’ютерів. Сьогодні затрати людської праці в разі розв’язування на комп’ютерах задачі Коші для звичайних диференціальних рівнянь складаються із затрат на вибір потрібних методів і програм, а також на підготовку даних, які необхідні для роботи програми. За бажанням можна безпосередньо з оперативної пам’яті комп’ютера отримати графік чи інше зображення розв’язку на екрані дисплея або на папері. Тому для багатьох категорій наукових працівників інтерес до вивчення часткових способів інтегрування звичайних диферентціальних рівнянь у явному вигляді суттєво зменшився, а до розв’язування їх на комп’ютерах збільшився. 11.1. Формулювання задачі Нехай потрібно на відрізку [х0, х0 + а], де а > 0 , знайти розв’язок диференціального рівняння у' = Ах,у), (11.1) який задовольняє початкову умову У(Хо) = Уо- (11-2) Задачу (11.1)—(11.2) називають задачею Коші для звичайного диференціального рівняння першого порядку. 315
Будемо припускати, що функція /(х,у) неперервна і задовольняє умову Ліпшиця за у, тобто \Лх,Уі)-Лх,У2)^ЦУі-У2\! де І - деяка додатна стала. В цьому випадку задача Коші має єдиний розв’язок на проміжку [х0,х0+а\. 11.2. Метод Ейлера та його модифікації Розіб’ємо проміжок \а, Ь\, на якому шукаємо розв’язок, на відрізки рівномірного розбиття [хи_,,х„], п = 1, ..., N, причому х0 = а, хм =Ь. Розрахункова формула методу Ейлера має вигляд У*+і = уп+¥(*„,уЛ и = 0,1,...,^-1,. (113) де к = хп+1 -хп. У випадку рівномірного розбиття відрізка [а, Ь] точками хп=х0 + пк (п = 0,1,..., ТУ) отримаємо к = (Ь - а)/N Похибка обчислень на кожному кроці цієї формули має порядок О(к). Метод Ейлера є найпростішим чисельним методом інтегрування диференціального рівняння. Його недолік - мала точність. Проте доведено: якщо права частина /(.х,у) рівняння (11.1) неперервна, то послідовність (11.3) при /г —> 0 на достатньо малому відрізку \а,Ь\ рівномірно збігається до шуканої інтегральної кривої у = _у(х). Розглянемо модифікації методу Ейлера, а саме - так званий метод Ейлера-Коші, за яким обчислення наближеного розв’язку Уп * УІхп) виконують так: спочатку визначають грубе наближення Уп+1 =Уп+¥(х„,У„) далі знаходять точніше наближення . ;іЯхп’Уп) + Ях„+],у„+,) У п+1 У п ^ Метод Ейлера-Коші можна ще більше уточнити, застосовуючи ітераційне опрацювання кожного знайденого значення у„ . Спочатку обчислюють грубе наближення =У„+¥(х„,Уп)> 316
а потім будують ітераційний процес за формулою ^ =У„ +^[/(х„+і,У^) + /(хп,у„)\, де 5 - номер ітерації, 5 = 0,1,... Ітерації тривають доти, доки два послідовні наближення і не збіжаться із за¬ даною точністю. Після цього за розв’язок приймають наближене значення уп+1 "у^ Якщо після проведення трьох-чотирьох ітерацій у разі вибраного значення /г не відбувається збігу потрібних знаків, то треба зменшити крок к. 11.3. Методи Рунге-Кутта На практиці для розв’язування задачі Коші найчастіше використовують методи Рунге-Кутта підвищенної точності. Цими методами можна розв’язати задачу Коші для звичайного диференціального рівняння першого порядку, для диференціальних рівнянь вищих порядків і системи диференціальних рівнянь першого порядку. Ідея побудови методів Рунге-Кутта р-го порядку полягає в отриманні наближень значень функції _у(х;+|) за формулою Ум=Уі+1*Жх„У»Ь), (11.4) де <р(х,у,И) - деяка функція, яка наближає відрізок ряду Тейлора к2 кр У(хі+І) = у(х,) + /гу'(хі) +—у’(хі) +... +—у(р\х,) + 0(кр+1) до р-го 2! р\ порядку і не містить частинних похідних функції /(х,у). Приймемо у формулі (11.4) ф{х,у,И) = /(х,у), отримаємо метод Ейлера (р -1). Для побудови методів Рунге-Кутта порядку р > 1 функцію (р(х,у,Ь) беремо багатопараметричною і параметри підбираємо за допомогою порівняння виразу (11.4) з багаточленом Тейлора для д’(.х) до р-го порядку. Перевага методів Рунге-Кутта та, що обчислювальні алгоритми є однорідними, тобто не змінюються в разі переходу від однієї точки до 317
іншої; крок ЗМІНЮЄТЬСЯ ВІДПОВІДНО до потреби точності обчислень без ускладнення обчислювального алгоритму. Методи Рунге-Кутта мають високу точність, обчислення можна виконувати зі змінним кроком: неважко зменшити крок там, де функція швидко змінюється, і збільшити крок у протилежному випадку. Недоліком методів Рунге-Кутта є те, що наближений розв’язок у точці заданого відрізка знаходять за допомогою декількох обчислень значень функцій. Наведемо рекурентні формули методу Рунге-Кутта різних порядків точності. А. Формули методу Рунге-Кутта другого порядку: к\ + к2 1) Уп+\=Ун+: (11.5) Де ДЄ к\=¥(х„,У„), к2=к/(хп+1і,уп+кх)\ 2) Л+і =Уп+к2, к\ = ¥(хп,У„), Б. Формули методу Рунге-Кутта третього порядку: 1) Л+і = У„ + ^(к\+Щ +*з), к2=¥(х„+^,Уп+^)- Де кі=¥(х„,у„), кг=¥ кз = ¥(хп +Ь,у„-кх+ 2к2); (11.6) (11.7) де 2) Уп+\^Уп+-^(к\+зкі)’ к\ -¥(х„,уп), к2 - ¥ х„+-,У„+ 3 кз=¥(х„+^И,уп+2-к2); 3) Уп+1 = Уп +\(2к\ + зкі + 4*з)- Де к\ =¥(х„,у„), к2=¥ хп+-,уп+ у (11.8) (11.9) 318
h = ¥(xn + Уп +) • В. Формули методу Рунге-Кутта четвертого порядку: 1) Уп+і ~Уп + ~(к\ +^2 +2кз +к4) , (11.10) де кх =hf(xn,yn), h h к,л V ^ ^ У k3=hf к2 Л Л»+^-+Т 1 k2=hf , k4=hf(xH+h,y„+k3)] Де 2) Уп+і =Уп+~(кі+4к3 + к4), к\ = hf(x„,y„), k2=hf (11.11) h к,л *« + 4’^+7 *з=А/| хп+^Уп+^г\ k4=hf(xn+h,yn+kl-2k2+2k3); 3) Уп+\=Уп+^(кі+^к2+Зк3+к4), (11.12) Де кі=¥(х„,У„), к2=¥ Хп + з ’У"+Т кі=¥\ x„+^h,y„~kl +к2 |, k4=hf(xn+h,y„+k]-k2 + k3). У випадку використання формул методу Рунге-Кутта виникають питання: якими з формул (11.5)—(11.12) доцільно користуватись у кожному конкретному разі і як вибирати крок сітки? Якщо права частина диференціального рівняння неперервна й обмежена разом зі своїми четвертими похідними, то добрі результати дає метод Рунге-Кутта четвертого порядку завдяки швидкому зростанню точності зі зменшенням кроку сітки. Якщо права частина не має обмежених четвертих похідних, то максимального порядку точності цієї схеми не можна досягнути. В цьому разі доцільно використовувати обчислювальні схеми методу меншого порядку точності, який відповідає порядку похідних. 319
11.4. Методи Адамса Серед методів розв’язування задачі Коші для звичайного диференціального рівняння часто використовують різницеві методи Адамса. Для їхнього застосування поряд із заданими початковими умовами необхідно знати значення шуканого розв’язку ук у деяких додаткових точках х1,х2,...,х . Такі методи називають багатокроковими. їх отримують з (11.1) на підставі квадратурних формул де р(х) - поліном р-го степеня, який у р +1 точках збігається зі значеннями функції р(хк) = Дхк ,ук) = /к. Отже, застосування різницевих методів розпадається на два етапи. Необхідно спочатку знайти деяку кількість найближчих значень ук і /к, що можна зробити за допомогою методів Ейлера чи Рунге-Кутта; З використанням багатокрокового методу обчислити наступні значення шуканої функції. Якщо р(х) буде інтерполяційним багаточленом Ньютона інтерполювання назад, то отримаємо екстраполяційний метод Адамса: На практиці часто використовують екстраполяційну формулу Адамса вигляду Зазначимо, що в екстраполяційній формулі Адамса (11.16) скінченні різниці третього порядку Д3/„ вважають сталими. Тому величину к початкового кроку обчислень можна визначати з нерівності кр < Е. На практиці стежать за значеннями скінченних різниць, (11.13) р Ун+1 =Уп+ь£акЬк/*-к> (11.14) *=0 де (11.15) 320
вибираючи А так, щоб сусідні різниці /гД3/ і ИА3/М відрізнялись між собою не більше, ніж на одну-дві одиниці заданого розряду (не враховуючи запасних знаків). Заміною скінченних різниць у (11.14) через значення функцій у вузлах інтерполяції отримують іншу формулу екстраполяційного методу Адамса: Л+1=Л+*!>*/,,-*• (11.17) *=о Залежно від кількості членів інтерполяційного багаточлена отримують формули Адамса різного ступеня точності. Залишковим членом є величина 0(кр). Коефіцієнти методу найвищого порядку апроксимації для кожного конкретного р знаходять з системи Р*=у; / = і,2,.../>. к=1 ' Уживаними є формули Адамса при р = 2,3,4,5. (З 1 Уп+1 ~Уп ^ ^ 2 /п 2 Р = 2, Л+і = Л + ^(23/„ -16/„_, + 5/„_2), р = 3, (11.18) Л+і = Л + ^(55/„ - 59/и_, + 37/„_2 - 9/„_з), р = 4, Л+, +^(!9°1/„ -2774/„_, +2616/и_2 -1274/„_3+251/^), /» = 5. Аналогічно отримують інтерполяційний метод Адамса. За вузли інтерполяції вибирають точки дсІ5д:2,...,д: ,. Формула (11.14) набуде вигляду 7у Л+1 =Уп+^акАкДх„_к+1,у„_к+1) (11.19) *=о або 321
У*+\ =Уп + ^&Лхг,-м>Уп-ш) (11.20) 4=0 Формули (11.19) та (11.20) визначають неявну схему методу Адамса. Надалі будемо вважати степінь багаточлена сталим. Ці формули містять шукане значення як у лівій, так і в правій частині, причому /(хп_к+\,уп_к+]) може бути нелінійною функцією. Тому для їхньої реалізації необхідно застосувати ітераційний процес: У™ =Уп+ ^о/^+Р^+І ) + ) (11 -21) к=\ або у№ = У„ + Ш(хп+,,у(:}х) + к^к/{х„_к+,,уп.м) (11.22) к=1 з ~ 0,1,2,... Ітераційний процес (11.21) та (11.22) збіжний. Розрахункові формули неявного методу Адамса найвищого т = п +1 порядку апроксимації для практичних обчислень отримують з (11.19), при т - 3 вони мають вигляд У*, і =У„ +¥(^р>^і)“4^(^>>;)-^А2/(л:и.і,хі.1)-^Д3/(^2,^2). Із (11.20) одержують найуживаніші формули інтерполяційного методу Адамса: І7 Уп^=Уп+-{/п^+/„)> т=2, У*а =Уп +-^(5/„+і +8/, ), т=З, У1 (11.23) Ли =Уп +““(9/+і +19/,-5/-І+Л-2)» ™=4> +^(25/и+1 +646/„ -264/и_, +106/и_2 -19/„_3), т=5. Як приклад, наведемо неявну схему методу Адамса четвертого порядку: 322
=У„^рЯх^Л)+Шх„,У„)-5/(х^,У^)+/К.20^)), (11.24) де 5 - номер ітерації, 5 = 0,1,.... За початкове значення уп\ можна прийняти розв’язок, отриманий за допомогою явного методу Адамса третього порядку: Якщо в (11.21) чи (11.22) обмежимось лише однією ітерацією, то отримаємо метод, який називають предиктор-коректор. Хоча інтерполяційний метод Адамса більш трудомісткий порівняно з екстраполяційним, проте він дає вищу точність. Для звичайних диференціальних рівнянь вищих порядків застосовують методику зниження порядку. В підсумку отримують систему диференціальних рівнянь першого порядку, для якої можна застосувати методи Ейлера, Рунге-Кутта чи Адамса. Для диференціального рівняння другого порядку Запишемо (11.24) у вигляді Я/' отримаємо таке: якщо — < М, то ітераційний процес збіжний за ду отримаємо таке: якщо умови < 1, яка виконується за досить малих значеннь /г. /=Л*,дО; У(х0) = Уо’’ У'Ы = Уо часто застосовують методи Адамса-Штермера: екстраполяційний
інтерполяційний п * у»+1 = 2уп - Уп-1 + ь2 Е а*А 4=0 або л+і =- Уп-1+Е р*/»-*+і • с1 -26) *=0 Для знаходження розв’язку за формулою інтерполяційного методу Адамса-Штермера треба застосувати ітераційний процес У(£і)=2Уп-Уп-і+^2о.о/(хп+1,у(^1) + к2^акАк/„+^к (11.27) к=1 Ітераційний процес збіжний, якщо к < де Ь константа Ліпшиця для функції /(х,у'). Приклад 11.1. Розв’язати диференціальне рівняння У = 1 + 2—, що задовольняє початкову умову _у(1) = 0, і порівняти з х точним значенням у* = х2 - х. Розв’язування. X Метод Ейлера (11.4) Рунге- . Кутта (11.7) Рунге- Кутта (11.10) Адамса (11.18)- (11.23) точне значення Xі - X 1,0 0 0 0 0 0 1,1 0,1000 0,11601 0,10999 0,10999 0,11 1,2 0,218-18 0,25385 0,23999 0,23999 0,24 1,3 0,35454 0,41352 0,38999 0,38999 0,39 1,4 0,50909 0,59504 0,55999 0,55999 0,56 1,5 0,68181 0,79843 0,74999 0,74999 0,75 1,6 0,87272 1,02368 0,95998 0,95999 0,96 1,7 1,08181 1,27081 1,18998 1,18999 1,19 1,8 1,30909 1,53982 1,43998 1,43999 1,44 1,9 1,55454 1,83072 1,70998 1,70999 1,71 2,0 1,81818 1,94351 1,99998 1,99999 2 _* <хо ■Ь 324
11.5. Розв'язування задачі Коші для систем звичайних диференціальних рівнянь Розглянемо задачу Коші для системи двох звичайних диференціальних рівнянь першого порядку \у' = /(х,у,г), {г' = 8(х,У,2), \у{хо) = Уо> и(*о) = 2о- (11.28) (11.29) Тобто треба відшукати розв’язок системи рівнянь (11.28) у = у(х), г = г(х), який задовольняє початкові умови (11.29). Відомо [29], що задача (11.28)—(11.29) має єдиний розв’язок на відрізку [х0, х0 +а], якщо в деякій області Є |х0 < х < х0 + а, \у-у0\<Ь, \г-20\ <с} функції /{х,у,г) і §{х,у,г) неперервні і задовольняють умови Ліпшиця по у і г. Для розв’язування задачі (11.28)—(11.29) можна використати ті ж методи, які застосовують у разі задачі Коші для звичайного диференціального рівняння. Зокрема, розрахункові формули методу Ейлера для задачі (11.28)-(11.29) мають вигляд Уп+І ~Уп+ ¥(х„,у„,г„), 1 2п+\=2п+^(хп,у„,гп), де уп*у(х„\ гп*г(хп), п = ОД,...,/я-1. Ці формули мають також похибку порядку 0{К). Аналогічно використовують для систем рівнянь і формули методу Ейлера-Коші та методу Ейлера з ітераційним уточненням. Наведемо формули методу Рунге-Кутта різних порядків для системи двох диференціальних рівнянь першого порядку. А. Другого порядку: к, +А, Уп+\=Уп+-*~^ І, +/, (11.31) де 325
де К =Щхп>у»>2*)> А =^(х„,у„,гп), кі =¥(Хп + к,У„ + кі,гп+ /,), к=к§(хп+к>Уп+к\’2п+1\)- Б. Третього порядку: Уп+1 = Л,+^(*і+4*2+*з)» гп*\ = 2п + £ (А + 4А> + А )> = ¥(хп,у„,га), А =^(х„,у„,гп), , ,,, й А:. /, 2 = ¥(х„ +-,У„ +у,2„ +-), її/ ^ А \ 12=кё(хп+-,у„+^-,гп+-), к, = Л/(х„ +/г,^„ —А:, +2к2,гп +2/2), А = А#(Л + /г>Л -*і +2*2^П "А + 2А>)- В. Четвертого порядку: де Л+1 = Л +7^1 + 2к2 + 2А3 + *Л О 2п+1 = 2п ^ (А 2А + 2/3 + /4), *1 =¥(х„,у„,гп), А =^(хп,уп,г„), , ь к\ Ач к2=¥(х„+-,у„+ — ,гп+-), 12 = %(*„ + + ^Г’2» + 2*’ ^з=УК+^Л+у.2»+^)> А =%(^+|.л+у>2„+уХ (11.32) (11.33) 326
к4=>г/(х„+Іг,уг1+к3,гп+Іі), іа = + А»Л + кг>гп + /з)- Для системи (11.28) можна застосувати екстраполяційний та інтерполяційний методи Адамса: п У*+\ =Уп+>г£ьк&кЛ-к, к=° (11.34) 2„+, =г„+/г£аіД*^„_, *=0 і п у*+1 = л+аХР*/-*+і» *=0 (11.35) П гп+1 =2Л+ЛЕР^»-4+1- *=о Для інтерполяційного методу Адамса можна побудувати ітераційний процес: :С,}=л+лр;/(дсн+і,^)„^> )+ахр;/_4+1 , *=1 (11.36) ^ = ги + АР;«^,,^, ,*£,) + й£Р‘**-*+. ’ А=1 5 = 0,1,2,... 11.6. Оцінка похибки наближеного розв'язку задачі Коші Для методів Ейлера та його модифікацій, а також методів Рунге- Кутта, Адамса застосовують апріорні оцінки похибки наближеного розв’язку задачі Коші (11.1)—(11.2). Однак ці оцінки здебільшого значно завищені. Тому їхнє значення не стільки практичне, скільки теоретичне, бо з них безпосередньо випливає висновок про збіжність цих методів. Крім того, апріорні оцінки містять у собі низку сталих, для знаходження яких часто треба виконувати досить складні обчислення. Тому, щоб оцінити похибку наближеного розв’язку задачі (11.1)— (11.2), намагаються використати інформацію, яку отримують у процесі чисельного розрахунку (такі оцінки називають апостеріорними). Найефективнішими є оцінки, що використовують подвійний перерахунок (принцип Рунге). Розглянемо детальніше метод подвійного перерахунку, зокрема, такі три випадки. 327
1. Задано крок інтегрування к і треба визначити точні цифри наближеного розв’язку в кожній вузловій точці хк. 2. Задано точність є > 0, з якою треба обчислити наближений розв’язок задачі, добираючи належно як сам метод, так і крок інтегрування к. 3. Оцінити похибку ек =ук -у(^), де ук і у{хк) - відповідно, наближений і точний розв’язок задачі в кожній вузловій точці хк. Для реалізації подвійного перерахунку розв’язок (11.1)—(11.2) у КОЖНІЙ вузловій ТОЧЦІ обчислюють ДВІЧІ: З кроком к І ^2 Позначатимемо їх, відповідно, ук і у\ Десяткові розряди наближень ук і у І, які збігаються між собою, уважають точними цифрами наближеного розв’язку в точці хк. Якщо наближений розв’язок задачі (11.1)-(11.2) треба обчислити з наперед заданою точністю є > 0, то, використовуючи метод певного порядку точності, інтегрування з фоками А і ^ доцільно вести паралельно, щоби вчасно виявити неузгодженість між значеннями ук і у(хк) і, можливо, перейти до нового кроку. Якщо в точці хк значення ук і у\ задовольняють нерівність |у\ - ук | < є, то крок інтегрування для наступної точки хк+1 треба збільшити, наприклад, подвоїти. Якщо |л - Ук | - є ■ т0 КР0К інтегрування ділять навпіл. Цим забезпечують автоматичний вибір кроку інтегрування. Нарешті, наявність наближених значень ук і у\, обчислених, відповідно, з кроком к і ^, дає змогу наближено оцінити похибку методу ек =УІ -у{хк) у точці хк Щоб вивести таку оцінку похибки, припустимо, що виконуються такі умови: 1) на кожному кроці інтегрування А похибка методу приблизно пропорційна до /?і+| (у > і), де 5 - порядок точності методу; 2) похибка методу на кожному кроці інтегрування однакова; 3) на кожному наступному кроці інтегрування сумарна похибка методу охоплює також усі похибки, зроблені на попередніх кроках. Тому якщо ух-у{х{) = МИ1^, де М - невідомий коефіцієнт пропорційності, то 328
У2-У(х2) = 2мк1+', у,-у(х3) = змь*+', Уп-У{х„) = пш Отже, для похибки в точці хк у разі інтефування з кроком Н маємо рівність Ук-У{хк)=кмк^< а в разі інтефування з кроком ^ - рівність УІ~у(хк) = 2кМ (11.37) (11.38) *■/ Якщо віднімемо почленно (11.38) від рівності (11.37) і розв’яжемо отриману рівність щодо невідомого коефіцієнта М, то знайдемо кк (2* - і) Підставивши це значення М в (11.38), отримаємо Ук 1~у(хк) = Ук -Ук V-І 329
Завдання до розділу 11 11.1. Задача Коші для одного рівняння першого порядку. А. Із застосовуванням чисельних методів розв’язування задачі Коші розв’язати диференціальне рівняння першого порядку з точністю є = 0,0001 із заданими початковими умовами х0, у0 на відрізку [х0, х0 +0,5] з кроком А = 0,05, використовуючи принцип Рунге, і порівняти з точним розв’язком у Б. Екстраполяційним методом Адамса знайти розв’язок у точці хп уточнити цей розв’язок інтерполяційним методом Адамса з точністю до є, а тоді шукати розв’язок у точці х;+1 за такою ж схемою. 1) у' = С08(у-х), У( 1) = 2,57. у* = х + іюсі^, —; У( 0) = 1, 1п|1-х2|+1 ’ 3) у' = (2-у)-Щх, у* = 2-4совх. 70) = 0,5, У 1 + х 5) / = у + 2х - 3, 7(0) = 3, у* = 2ех - 2х +1 Я0) = -і, » х + 2 330
Х0) = 1, У = (1 + л/l + 4x2 )/2; 8) у' = У--ех X y(e) = 0, у* =-jclnlnjc; Jl 2-, 9) у-*1* -y) 2x3 X2) = 2. / = 10) J'(l) = 0,5, 11) y' = y2-Ą, X XI) - “2, -.2, ІП- + 1 У = 4-In л: ’ 2 .v = —; * 12) y-7V-2j, X0) -0,5, /= 1 y X ex+e2x 13) y = 4 + ^, Xl) = 2, y* - \l\2x2 -3x2 14) у'=4х + 2У, 2x + l X0) = 2, y* = (2x +1)(1 + In 12x +11) +1; 15) y' = у + —) X X1) = 0, y=ex-ln|x|; 16) у=^Ц-, x + у X 2) = 1, /=(-1 + л/4дс + 1)/2; 331
17) / = ХУ Л 1) = 2, 18) у = ЯІ_і), X л 1)=1, 19) /= COSX ДО) = 2, 20) У = ху3-у, У(0) = 0А, f ^ І—sin X - у 21) у' = 24у 2—, X X yĆM-f 6 я 22) _у' = —1,5—— 3,5—J—, X X у Д1)=-6, У, X У( 1) = 0, <_1 -/ 24) ./= . 2х Я1) = 0, 25) У = xy3-xj, Я1) = 0,5, / =д/2х(3х-1) ; » 2х 7=ттї. у = 2cosx + sinx; 1 у/5,75е2х +х + 0,5 * .Sinx.9 7 =(—) ; X 7 1 X X у* = x(e_Jt+1 -1); * х-1 7 =777 у = 4 Зех _1+1 332
11.2. Задачі Коші для системи рівнянь першого порядку. Із застосуванням чисельних методів розв’язування задачі Коші розв’язати системи диференціальних рівнянь з точністю є = 0,01 із заданими початковими умовами х0,_у0,z0 на відрізку \a,b\ з кроком h, використовуючи принцип Рунге, і порівняти з точним розв’язком у* ,z* 1) {z' = 3y + 4z у(0) = 0’ z(0) = 4’ [°;0’5]’ А = 0’01’ (у* =-ех+е5х, [z* =ех +3е5х; 2) ІУАу Я0) = 0, z(0) = -4, [0; 0,5], А = 0,01; [у=-е-х+е^, \z*=-2e~x-2e3x ; 3) \y' = 8z~y Я0) = 6, z(0) = 0,[0;0,l], A = 0,01; [z = у + z j/=2e3x+4e~3x, \z*=e3x-e-3x; 4) {y;>x-2y m=z(o)=2; k=°’°i; I y* = e2x (cos x + sin x), [z* =2e2x cosx; 5> {yJ:3y;+3: y(°) = 2> z(°) = -1’ I0;0»1]» A = 0,01; I y* = ex (2 cos 3jc + sin 3jc), [z* = ex (2 sin 3x - cos 3x); 6) \y't = ~У~5Z y{0) = 3, z(0) = -1, [0;0,l], h = 0,01; [z =y + z L J І у* = 3 cos 2x + sin 2x, [z* = - cos 2x + sin 2x; 333
7) {z' = 4z-y У(0) = 1, Z(0) = 2, f°;0,1^ A = 0’01; J/=( l + x)e3x, [z*=( 2 + x)e3x; 8) fy' = 3y-z y(0) = 2, z(0) = 5, [0; 0,1], h = 0,01; \z' = 4y-z j/=( 2-x)ex, \z* =(5-2x)ex; 9) ^,Z2zZ_~2уУ X0) = 2, z(0) = 3, [0;0,l], A = 0,01; \y= 2(l + x)e~x, |z*=( 3 + 2x)e~x; Щ ^[г' = -3у-1 X0) = 3, z(0) = l, [0;0,l], A = 0,01; \y* -3(l + 4x)e2x, [z*=( \-\2x)elx\ І л/ — 7 J. ' уф) = 4, z(0) = 1, [0;0,l], A = 0,01; Z =y + x ІУ* - (4 + x)ex + 2e~x -X2 -2, \z* =(3 + x)ex -2e~x -2x; 12) {z'=2^+z°SX y(0)=1, z^=10’ [0;0Д]’A=0»01; (y =3e2x -e~x - 2 sin x - cos x, z* = 6e2x + e~x + sin X + 3cosx; 13> {z'iy++2zZ + 4Є$Х У(0) = 6’ Z(0) = 4’ k = °,01; \y' = -ex+ 4e4x+3e5x, Iz' = ex + 2e4x+e5x; 14) jy' = 2y-4z + 4e 2x 7(0) = з5 2(0) = 2, [0;0,l], A = 0,01; [z =2y-2z 334
І у* = 3 cos 2х + sin 2х, z = cos 2х + 2 sin 2х + е~2х; 15) \y' = 4y + z-e2x Я0) = 2, z(0) = 0, [0;0,1], й = 0,01; [z = z-2у \у =хе2х + 2е3х, [z* = 2(1 - х)е2х - 2е3х; 16) {z' = 3z-2y+1 У(0) = 1’ Z(0) = 3, [°;0Д]’ A = 0’01; jy* = 2(2 + х)ех-3, [z* =(5 +2х)ех -2; 17) jy' = 5y-3z + 2e3x у(0) = 4, z(0) = 1, [0;0,і], й = 0,01; \z’ = y + z + 5e-x Г/= Зе2х+6е4х-е~х-4е3х, [z* =3е2х + 2е4х -2е~х -2е3х; 18) Y,=2VZ^eX ><0) = 3’ z(°) = 5’ t0’0’1]’ А = 0,01; [z =-2у + 2х fy* = (1 + cos X + 9 sin х)ех + х + 1, [z* = (8cosx-10sinx-2)e* -2х-1; fy’ = 2y-4z 19) \ \ , * Я0) = 3, z(0) = l, [0;0,1], А = 0,01; [z = y-3z + 3e (у* =4(1-х)ех - е~2х, І/ =(2-х)ех -е~2х; 2°) jz' = jy-5 sin х Я°) = 3, Z(0) = 7, f0;0,1]’ Ä = 0’°1; J У* = -2e~x +6e2x - cos X + 3 sin X, [z* = 2e~x + 3e2x + 2 cos X - sinx; 21) {Ä+,„ ^о)=і> z<0)=6-10--0’1]- h=°’m’ 335
\у* = -2е3х + Зх2 + 2х + З, [г* = 2еіх + 6х2 - 2х + 4; 22)\у'-У + 22 + 1вхеХ у(0) = \, 2(0) = 6, [0;0,1], А = 0,01; І я =2^-27 [ У* = 16е2* - 2е~іх - (12х +13)ех \г* = 8е2х + 4е~3х - (8х + 6)ех 23) 24) 25) 8 У(0) = 2, г(0) = 3,5,[0;0,і], А = 0,01; [/= 2е*х-6х, [г* = 3е8* + Зх + 0,5; \у' = 2у-32 Яо) = 4,2(о) = і, [0;0,і], А = 0,01; [г' = у-2г + 2зіпх \ у* = Зех +е~х +3зіп х, [г* =ех +е~х -совх + 28Іпх; Г/ = ,-г + 28т* х„) = 2>,(0) = 1 ^ [г' = 2у-г 11 Iу* = 2(сов х + віп х) + х(зіп х - сов х), 12 = 5 віл х + (1 - 2х) сов х; 11.3. Знайти розв’язки задач Коші на відрізку [а, Ь\ з точністю є = 10”4 Для перевірки результатів скористатись наведеними точними розв’язками у* 1) уп + 2уг + 2у = 6х2 +14х + 6, у(0) = 0, /(0) = 1, а = 0, Ь = 3; У =е_л:(со8х + 8Іпх) + Зх2+х-1; 2) у" + 2у’ + 7 = 4х2 -Зх-5, Я0) = 2, У(0) = 5, а = 0, Ь = 2; у = е~х{-23 + х) + 4х2 - 19х + 25; 336
3) у'-у = Зх2-1х + 9, 7(0) = 1, /(0) = 7, а = 0, 6 = 1; У =8(е‘* +ел:)-3х2 + 7х-15; 4) У + У - = 8л:2 - Ах, 7(0) = 7, У(0) = -З, а = 0, b = 1; 7* = е“2* + є"" - 4х2 -2х + 5; 5) у + у = 9х2 + 4х - 6, у(0) = 2, 7'(0) = 7, а = 0, Ь = 2; у = е~х + Зх3 - їх2 + 8х +1; 6) 7*-7' = 5х2-12дг + 8, 7(0) = 1, 7'(0) = -1, а = 0, b = 3; 7* = 5е* - -j х3 + х2 - 6х - А; 7) у" - З7' = 1 8jc2 - 2х, 7(0) = 2, 7'(0) = 2І а = 0, 6 = 0,5; 7’ =е3*-2х3-2х2-|х + 1; 8) у” + З7' = 9х2 + Зх + 5, 7(0) = 2, У(0) = -1, а = 0, b = 3; 7 = ^ Зд: ~ х + 2х ■+■1; 9) у” + 2у' + у = 2х3 +Ах2-6х + \, 7(0) = -6, У(0) = 14, а = 0, 6 = 3; 7* = e~*(5 + 5x) + 2x3-8х2+14х-11; 337
10) у”-6у' + 5у = 9е2х, 7(0) = 1, У(0) = 6, а = 0, 6 = 0,3; у= 2(ех+е5х)-3е2х; 11) у" - 5у' + 4у = 8е3х, у(0) = 0, у'(0) = -2, а = 0, 6 = 0,5; /= 2(ех+е4х)-4е3х; 12) у" - 6у'+ 8у = 14е2х, 7(0) = 2, /(0) = -1, о = 0, 6 = 0,6; 13) у”-2у’-Зу = 12е3х, 7(0) = 2, У(0) = 5, а = 0, 6 = 0,5; 14) 7"-2/ + >' = 10вІ, 7(0) = 1, 7'(0) = 2, а = 0, 6 = 1,5; 7* = е2* + е4дг - 1хе2х\ у =ех+е3х+ Зхе3х; у = (І+ х)ех + 5х2ех; 15) у” + 2у' + у = 6е~х, 7(0) = 1, У(0) = 0, а = 0, 6 = 4; 7* = (1 + х)е~х + Зх2е~ 16) у" - 47' + З7 = 20cos2х + 27sin2х, 7(0) = 4, У(0) = -10, а = 0, 6 = 0,5; 7* = 2(е*-e3jc) + 4cos2x-3sin2x; 338
X X 17) у"+ y'-2y = \\cQS— -7sin—, Я0)=0, У(0) = 0, а = 0, 6 = 2; у = 2(ех + e~2jc) + 4sin-^-4cos-^; 18) у"+ 5у' + 6у = -50sin4x, ДО) = 4, У(0) = -1, а = 0, 6 = 1; У = е~2х + е~іх) + sin 4х + 2 cos 4х; 19) y"-5y' + 2>’ = -85cos3x, у(0) = 1, у'(0) = 2, а = 0, 6 = 0,8; У = (-6 cos х -10 sin х)е~х + 7 cos Ъх + 6 sin Зх; JC JC 20) У + ЗУ + 2>» = 26sin—-8cos-j, Я0) = 0, У(0) = -9, a = 0, 6 = 2; у* = 6e_* +3e~2x -9cos— + 9sin—; 3 3 21) У —y-2_y = 22cos5x —32sin5x, j(0) = 2, У(0) = 5, a = 0, 6 = 0,6; У =2e“* + e2*) + sin5x-cos5x; 22) У+ У = 14cosx + 6sinx, Я0)=1, У(0)=-2, a = 0, 6 = 3; У =cosx + sinx + x(7sinx-3cosx); 23) У+ 9y = 18cos3x-12sin3x, Я0) = 1, У(0) = 5, a = 0, 6 = 1; У =cos3x + sin3x + x(2cos3x + 3sin3x); 339
24) у” + 4у = Шш2х, ЯО) = 1, У(0) = 0, a = О, 6 = 1,5; 25) у" + 9 у = -18 sin Зх, Я0) = 1, у'(0) = 6, <з = 0, 6 = 1; у* = cos 2х + sin 2х - 2х cos 2х; у = cos 3-ї + sin Зх + Зх cos Зх. 340
Розділ 12 МЕТОДИ РОЗВ'ЯЗУВАННЯ ЛІНІЙНИХ КРАЙОВИХ ЗАДАЧ ДЛЯ ЗВИЧАЙНИХ ДИФЕРЕНЦІАЛЬНИХ РІВНЯНЬ Розглядатимемо доволі поширену крайову задачу для лінійного диференціального рівняння другого порядку з лінійними крайовими (граничними) умовами. Нехай на проміжку \а,Ь] потрібно знайти розв’язок лінійного диференціального рівняння другого порядку Цу) = у” + р(х)у'~ д(х)у =а<х<Ь, (12.1) який задовольняє такі крайові умови: а0Я«) + Р0/(ЙІ) = Уо’ (12-2) а,Я6) + Р,/(6) = У,, де р(х),д(х),/(х)-відомі функції; а0, ро, у0, а,,р,, у,-задані сталі, причому |а0| + |р0|*0, |а,| + |р,|*0. (12.3) Питання існування і єдиності розв’язку у(х) задачі (12.1)- (12.2) розглядають у курсі диференціальних рівнянь. Тут уважаємо, що розв’язок у(.х) існує, єдиний і існують похідні від у(х) достатньо високого порядку. Для цього необхідно виконання умов (12.3). Методи розв’язування крайових задач для звичайних диференціальних рівнянь можна класифікувати так. 1. Методи зведення крайової задачі до задачі Коші. Сюди належать методи варіації сталих, стрільби, диференціальної прогонки. 341
2. Сіткові методи, до яких належать метод скінченних елементів, метод скінченних різниць, де розв’язок знаходять у вузлах сітки. 3. Варіаційні, коли розв’язування задачі (12.1)—(12.2) можна замінити задачею мінімізації відповідного функціонала (метод Рітца, метод найменших квадратів). 4. Проекційні (метод колокації, метод Бубнова-Гальоркіна). 12.1. Методи зведення крайової задачі до задачі Коші 12.1.1. Метод варіації сталих Розв’язок рівняння (12.1) можна записати у вигляді у(х) = 2(х) + сх2і(х) + с22г(х), а<х<Ь, (12.4) де с, і с2 - довільні сталі; 2(х), 2](х), 22{х) - розв’язки таких задач Коші: Г(х) + р(х)Г(х) - я(х)2(х) = /(*); (12.5) г(а) = 0, г'(а) = 0; (12.6) 2”(х) + р(х)2[{х) - <зг(д;)г, (х) = 0; (12.7) г,(а) = 0, г;(а) = І; (12.8) г2(х) + р(Х)г2 (х) - д(х)г2 (х) = 0; (12.9) г2(а) = 1, г2(а) = 0. (12.10) Систему диференціальних рівнянь другого порядку (12.5), (12.7), (12.9) зводимо до системи шести диференціальних рівнянь першого порядку, зробивши відповідні заміни: т(х)=г\х), т,(х)=г;(х), ад=ад. Одержимо задачі Коші для систем диференціальних рівнянь першого порядку: Г т'(х) + р(х)Т (х) - я(х)г(х) = /(*), (12 11) {г'(х) = Т(х); 342
Z(a) = 0, 7’(a) = 0; (12.12) Г T'(x) + р(х)Тх (х) - q(x)Zt (х) = О, 1ад = 2;(х); (1213) Z,(a) = 0; 7» = 1; (12.14) j ^2 ■(х) + РІх)ті (х) - 4(X)Z2 (х) = 0, (12 15) [Z'(x) = 7’2(x); Z2(a) = 1; Г2(х) = 0. (12.16) Розв’яжемо системи (12.11)—(12.16) одним із чисельних методів розв’язування задачі Коші для системи звичайних диферент- ціальних рівнянь першого порядку і використаємо крайові умови (12.2) та (12.3), одержимо систему двох лінійних алгебричних рівнянь для визначення невідомих с, і с2: с, [a0Z, (a) + p0Z,'(a)] + с2 [a0Z2 (а) + p0Z2 (а)] = = Yo -«oz(«)-PoZ\d), c, [a,Z, (b) + ptZl(b)\ + c2 [a,Z2(6) + PtZ' (6)] = = Y,-a1Z(6)-P1Z'(6). Тоді розв’язок y(x) на (a, b) знайдемо за формулою (12.4). 12.1.2. Метод стрільби Розв’язок задачі (12.1)—(12.3) методом стрільби шукаємо у вигляді y(x) = (l-c)Z,(x) + cZ2(x), (12.18) де с - довільна стала. Під час розв’язування задачі (12.1)—(12.3) спочатку знаходимо розв’язки Z,(x) і Z2(x) таких задач Коші: Z,"(x) + p{x)Z[(x)-q(x)Z](х) = /(х), a<x<b, (12.19) a0Z, {а) + P0Z,'(a) = у0 , (12.20) Z[(a) = t0, якщоа0^0, (12.21) або 343
Z,(a) = f0, якщоа0=0 (12.22) і Zl(x) +p(x)Z[{x)-q(x)Z2(x) = f{x), a<x<bt (12.23) а 0Z2(O) + ß0Z'(a) = Y0i (12.24) Z2(a) = ti, якщо a0^Oj (12.25) або Z2(a) = tl, якщо a0=0, (12.26) де t0 і f, - довільні числа; t0 ^ tr Зробимо заміну ад=вд, t2(x)=z'2(x). Задачу Коші для системи чотирьох звичайних диференціальних рівнянь першого порядку запишемо так: ГВД = 7;(х), іад + р(х)Тх (х) - q{x)Zx (х) = Дх), (12.27) a0Z,(a) + ß07;(a) = y0, Tl(a) = t0, якщо а0*0,або Zl(a) = t0, якщо а0=0, (12.28) і №(х) = Т2(х), [Тї(х) + р(х)Т2(х) - q(x)Z2(x) = f(x), (12.29) a0Z2(a) + ß07’2(a) = Y0. Т2(а) = /,,якщо a0 *0, або Z2(a) = /,, якщо a0 =0 (12.30) Розв’яжемо задачу Коші (12.27) і (12.29), знайдемо сталу с за формулою c = [b-a,Z^)-mb)\/{a\Z2(b)-Z,(b)] + ^\T 2(Ь)-ТХЩ. На проміжку \а,Ь\ з кроком h знайдемо розв’язок граничної задачі (12.1)—(12.3) за формулою (12.18). 344
12.1.3. Метод диференціальної прогонки За допомогою методу диференціальної прогонки розв’язують задачу Коші не для початкового рівняння (12.1), а для відповідних диференціальних рівнянь нижчого порядку. Якщо ро Ф 0, то алгоритм методу диференціальної прогонки для задачі (12.1)- (12.3) складається з двох етапів. 1. Розв'язування задачі Коші для двох диференціальних рівнянь першого порядку щодо Z^(x) і І2(х) при хє[а,і]: 2. За відомими значеннями Zl(x) і Z2(x) знаходимо у(х) як розв’язок такої задачі Коші: Розв’язування задач (12.31) і (12.32) називають прямою прогонкою, а задачі (12.33) - оберненою прогонкою. При а0 Ф 0 метод диференціальної прогонки полягає в розв’язуванні таких задач Коші. 1. Пряма прогонка: (12.31) (12.32) (12.33) и[{х) = ~и\(х)д(х) + £/,(х)р(х) + 1, а<х<Ь, (12.34) и'2(х) = -и] (х)(и2(х)д(х) + /(*)), а<х<Ь, (12.35) 345
2. Обернена прогонка: 7(х) = С/,(х)У(х) + V2(х), а<х<Ь, (12.36) У разі виконання умов а0Р0 ^ 0, а,р, > 0, д(х) >0, хе[а,Ь], метод диференціальної прогонки стійкий до похибок обчислень. 12.2. Сіткові методи 12.2.1. Метод сіток розв'язування крайових задач для звичайних диференціальних рівнянь Метод сіток розв’язування задачі (12.1)—(12.3) полягає в такому. 1. На відрізку \а, Ь] вибирають скінченну множину точок а = х0 < <... < хи = Ь. Сукупність цих точок називають сіткою, кожну з точок х,- вузлом сітки. 2. Крайову задачу (12.1)—(12.3) замінюють системою алгебричних рівнянь, невідомими в якій є величини, наближені до розв’язку крайової задачі в точках ■^о > ? * * *5 ' 3. Систему алгебричних рівнянь розв’язують яким-небудь чисельним методом, розв’язок якої й буде наближеним розв’язком крайової задачі. Кількість і розташування вузлів сітки вибирають залежно від необхідної точності розв’язування задачі. Часто сітку вибирають рівномірною, а саме: Для побудови системи алгебричних рівнянь використовують заміну похідних через значення функції у вузлах сітки. Заміну можна зробити різними способами. Наприклад, використавши розвинення у(х) у ряд Тейлора, у випадку сітки (12.37) записуємо N ,х0 = а;хм=Ь. (12.37) (12.38) 346
УХх„) = ЛХп) hy(X”~]) + \y\^n), є,х„], (12.39) у'(х„) = y(X"+,)~hy(Xn-i} ~^ут(^„), ^(12.40) ч y(xn+])-2y(x„) + y(x„_,) /г . h2 пУ (1241) Ф„-, >*„+,]• У цьому випадку ми припускали, що >»(х) має неперервні похідні до четвертого порядку включно. На підставі (12.40), (12.41) з рівняння (12.1) отримаємо систему -jf[any(x„-l) + b„y(xn) + cny(x„+i)] = fn+R„, (12.42) Де а„=1 + ^Р(х„), b„=-(2 + ^q(xn)), с„=1-^р(хп), / = /(*.). R„ =^/4\^п) + ^р(хп)ут(^п). Аналогічно за допомогою (12.38) і (12.39) з рівнянь (12.2) і (12.3) одержимо рівняння РоУ^л, ßo O-0~!fjy(x0) + !fy(xl) = y0+R0, (12.43) -T-X%-i) + fai +T-V(^)+ = Yi +Rn- (12.44) h v h у Тут R0=^0y\^0), Л„=-|р,/($,„). За достатньо малих /г із (12.42)-(12.44), відкинувши Rn,R0,RN, отримаємо різницеву схему 347
^гКл-і + ь*Уп+с„уп+\ ]=/„; (12-45) )-т-]^+т-у.=уо; (12-46) П ) П А,. Х.Ріл ^"^лг-1 + 1 аі +Т У„= У.- (12.47) Якщо ||5(А)|| < Мкк де М — деяка додатна стала, /?(/г) = (і?0,то кажуть, що різницева схема (12.45)- (12.47) апроксимує задачу (12.1)—(12.3) з похибкою А-го порядку відносно А. Для розглянутої різницевої схеми (12.45)-(12.47) одержимо ||^(А)|| < МИ. Щоб підвищити порядок апроксимації різницевих рівнянь (12.46)-(12.47), необхідно підвищити порядок апроксимації похідних У(х0)> У(*л?) • Використовуючи триточковий шаблон, це можна зробити за допомогою формул уХх^-^^-^КоіЄ), (12.48) 2/г /(*,) = +0(^ (12.49) 2А Недоліком апроксимацій (12.48), (12.49) є порушення тридіа- гональної структури матриці. Проте існує інший спосіб апроксимації крайових умов. Суть його така. Замінимо У(х0) та у'(хм) у крайових умовах скінченними різницями ,.иг ї ~ У(хі)-У(х-і) ,.7г 'і ~ У(хіг+і)~У(хі*-і) П оЬ ’ 2А ’ П 2А та запишемо основне різницеве рівняння (12.42) на границі при / = 0 та / = N з використанням фіктивних вузлів Вилучивши з отриманих рівнянь значення сіткових функцій у фіктивних вузлах, ми отримаємо апроксимацію крайових умов з другим порядком точності, причому без зміни шаблона. За похибкою апроксимації в загальному випадку не можна зробити висновку про величину є„ =у(х„)-у„. Однак у разі виконання умов а0Р0 < 0, а,р, < 0, д(х) > 0 і описаних замін у 348
задачі (12.1)—(12.3) норма ||є(/г)| =||(є0,є,, ...,8^)^ матиме той же порядок відносно h, що й ||Л(А)|| < Mxhk, де М, = const. 12.2.2. Метод різницевої прогонки У випадку застосування методу сіток до крайових задач для диференціальних рівнянь другого порядку отримують системи лінійних алгебричних рівнянь, кожне з яких містить лише три сусідні змінні. Для розв’язування таких систем розроблено ефективний метод - метод прогонки. Він є реалізацією методу Гаусса для систем рівнянь з тридіагональною матрицею. Розглянемо задачу АУі-л - с,Уі + ВіУм і = 1,2,..., N-І, 2 50) Уо=ХіУі+Рі> Ум=Х2Ум-і+\Ь> причому А,фО, В,фО для всіх і = \,2,..., N-\. Матриця системи (12.50) є тридіагональною. Вона має вигляд 1 -X, 0 0 0 0 0 0 0 л А -Сі 0 0 0 0 0 0 0 А2 ~Сг В2 0 0 0 0 0 0 0 0 0 (N 1 -С '“'ЛГ-2 •®лг-2 0 0 0 0 0 0 0 0 AN-1 т 1 BN-1 0 0 0 0 0 0 0 -І2 1 J Нехай виконуються умови (2.44). Тоді мають зміст такі розрахункові формули. Метод правої прогонки. Прогонні коефіцієнти а, , р, і розв’язок уі шукаємо за формулами а,+і = В' л, і = \,2,...,М-\, аі=х„ (12.51) 349
Р/+і=7Г^ + 1 » / = 1,2,..^-1,Р,=цІ, (12.52) С,-а,4 Мг+М* У„ = 7 * . (12-53) !-аЛ2 Я =а,чЛ+і +Р/+і» / = ЛГ-1,ЛГ-2,...,1,0. (12.54) Метод ЛІВОЇ прогонки. Прогонні коефіцієнти І розв’язок уі шукаємо за формулами Ь=7Г-т—7> * = І N-2,...,2,1, С~%МА, (12.55) =%2’ = в,Чм + ^ ; = ЛГ-1, ЛГ-2,...,2,1, С,.-^+14 (12.56) Лаг =й2; (12-57) Я+і^+іЯ+Лж, /=0,1,..., #-1. (12.58) Метод зустрічних прогонок. Комбінуючи ліву і праву прогонки, отримаємо метод зустрічних прогонок. Нехай і = і0, 0</0 < ІУ, - деякий внутрішній вузол. Тоді в області 0</ </0 за формулами (12.51 )-(12.54) обчислюють прогонні коефіцієнти а,, р,: В і = \,2,...,і0-\, а, =х,; (12.59) с, “М Р,+. = ^Р<+^. / = 1,2,.4 -1, Р,=Ц,, (12.60) С,.-аД. а в області /0</ <Иза формулами (12.55)-( 12.58) - , ті,: 350
і — /0 1> 2,..., 2,1, (12.61) І /д 1, /д 2,..., 2,1, (12.62) % =Ц2- При / = /0 зшиваємо розв’язки у вигляді (12.54) і (12.58). З формул Знаючи д, можна за формулою (12.54) знайти всі уі при і < і0, а за формулою (12.58) - значення уі при і > і0. Метод зустрічних прогонок може виявитись корисним, наприклад, коли потрібно знайти у, тільки в одному вузлі і = і0. 12.3. Варіаційні методи 12.3.1. Метод Рітца Розглянемо варіаційні методи розв’язування крайових задач для звичайних диференціальних рівнянь, що дають змогу отримати наближений розв’язок в аналітичному вигляді. Метод Рітца для знаходження наближених розв’язків крайових задач ґрунтується на відомій теоремі про те, що коли розв’язок операторного рівняння із самоспряженим і додатно визначеним у дійсному гільбертовому просторі //оператором існує, то цей розв’язок надає функціоналу енергії знаходимо Р(и) = (Ьи,и) - 2(/,и) 351
найменшого значення і, навпаки, елемент гільбертового простору, що реалізує мінімум функціонала, задовольняє відповідне рівняння. Нехай на проміжку \а,Ь\ треба знайти розв’язок лінійного самоспряженого диференціального рівняння другого порядку із крайовими умовами -^г(p(x)y') + q(x)y =/(х)\ (12.63) ах р(х)>р>0, р(х)єС'[а,Ь], д(х),/(х)еС[а,Ь]; ^2&Л) у(а) - А; у(Ь) = В, Сформульовану задачу, заміняємо варіаційною про відшукання функції у(х) є С2[а,Ь], що задовольняє умови (12.64) і мінімізує функціонал ь •Ну) = ][р(*)У2 + Ф)у2 - 2/(х)у]±с. (12.65) а Одним із найпоширеніших методів мінімізації функціонала є метод Рітца. Мінімізувальну послідовність для функціонала (12.65) шукають у вигляді Л(*) = Фо(*) + Ха*Ф*(*)* (12.66) к=1 де базисні функції {ф* (х)}, к = 0,1,2,...,«, повинні задовольняти такі умови: 1) фДдс)єС'[а,6], к = 0,1,2,...,« 2) ф0(а)-Л; ф0(6) = £; Ф*0) = Ф*(6) = °; к = 1,2,...,п 3) система функцій {ф*(х)}, к = 1,2,...,«, повинна бути лінійно незалежна на [а, Ь] для будь-якого скінченного «; 4) система функцій {^„(х)} є повна в класі С2[а, Ь]. 352
Підставимо (12.66) у (12.65), з умови мінімуму функціонала отримаємо систему лінійних алгебричних рівнянь для визначення невідомих я, а2,...,ап: ® = + 0, * = 1,2,...,І», (12.67) дак /=І Де Ь 4 = {(/>С*0Фо(*Ж (*) + <?МФо(*)Ф* (*) + Я*Ж (*))<* - (12.68) а Ь 4, = 4* = |(Р(*Ж (*Ж(*) + <7(*ж (*Ж (*))<&. (12.69) а У [29] доведено, що система (12.67) має єдиний розв’язок. Оскільки крайову задачу з ненульовими умовами можна звести до крайової задачі з нульовими крайовими умовами у(а) = 0; у(Ь) = 0, то в цьому випадку за систему координатних функцій вибирають функції вигляду а) Фк(х) = (х-а)к(х-Ь) або фк(х) = (х-а)(х-Ь)к (12.70) к = 1,2,...,п; б) ф4(х) = 8іп(*те^^), к = \,2,...,п. (12.71) Ь-а Якщо ж умови (12.64) ненульові, то за ф0(х) доцільно вибрати лінійну функцію ФоМ = А + ~ —(х — а). Ь-а Приклад 12.1. Знайти розв’язок диференціального рівняння / + ^ + * = 0, 0 < х < 1, (12.72) що задовольняє крайові умови Д0) = Я1) = 0. (12.73) 353
Розв’язування. Побудуємо розв’язок методом Рітца. Виберемо систему координатних функцій, що задовольняють умови 1) - 4), у вигляді ф,(х) = х(1-х); ф2(х) = х2(1-х); (12.74) ф3 (х) = х3(1 -х). Тоді розв’язок з Уз (х)= X! а/Ф/ (х)= °іх(1 - х) + а2х2 (1 - х) + о3х3 (1 - х). (12.75) /=і Невідомі а,, визначимо з системи лінійних алгебричних рівнянь (12.67). Для цього обчислимо коефіцієнти за формулами (12.69). Для нашого прикладу р(х) = 1; д(х) = 1; /(х) - -х; ф[ (х) = 1 - 2х; ф2(х) = 2х-3х2; ф;(х) = 3х2 -4х3 Тоді 4, = |((ф;(х))2+(ф,(х))2)А= |((1 - 2х)2 - (х-х2)2уіх = 0 о х4 - 2х3 +5х2 -Ах + \)ск = — = 0,366666; ^22 = /((Ф2(^))2 +(Ф2(^))2№ = 0 1 = |((2х - Зх2 )2 - (х2 - х3 )2 ]сіх = 0 1 1 = |(х6 - 2х5 +1 Ох4 -12х3 + 4х2 уіх = - * 0,142857; 0 7 354
4з = {ш*))2+(ФзМ)2)^= о 1 = J((3x2 -4x3)2 -(x3-xAf )dx = = f(x8 - 2x7 +17x6 - 24x5 + 9x4 )dx = * 0,0896825; Jv ^ 19ЛП 1260 1 Аі=Аг\ = |(ФІ 0)Ф2 (*) + Ф, 0)Ф2 (x))dx = о 1 = j((l - 2x)(2x - Зх2) + X3 (1 -xf)dx = = f(x5 - 2x4 + 7x3 - 7x2 + 2x)dx = — * 0,183333; Г 60 l An=4i = |(ф; (*ж w+Ф. ож (x))dx= 0 і = J((l - 2х)(3х2 - 4x3) + X4 (1 -xf)dx = O = f(x6 - 2x5 + 9x4 -1 Ox3 + 3x2 )dx = — » 0,1095238; I 210 1 A23=A32 = |(Фг (*)Фэ (*) + Ф2 (*)Ф3 (*)№ = о 1 = |((2х - Зх2 )(3х2 - 4х3) + X5 (1 -xf )dx = О = f(x7 - 2х6 +1 Зх5 -17х4 + 6х3 )dx = * 0,105952; Jv ^ 1ЛЙП 1680 Ą = |/(х)ф, (х)с£с = - Jx(x-x2)ü£c =— «-0,0833333; о 1 ' 1 Ą = jf (х)ф2 (x)dx = - |х(х2 - X3 )dx = = -0,05; 12 20 355
1 1 1 Л = |/(*)Фз(*>& = --х4)сіх = »-0,0333333. О 0 30 Система алгебричних рівнянь набуде вигляду 0,366666а, +0,183333а2 + 0,109523а3 =-0,083333; < 0,183333а, +0,142857а2 + 0,105952а3 =-0,05; 0,109523а, +0,105952а2 +0,0896825а3 =-0,033333. Розв’яжемо її методом Гаусса за схемою єдиного ділення. Отримаємо значення невідомих коефіцієнтів а, = -0,1496505; а2 = -0,1440745; а3 = -0,0187068. Шуканим наближеним розв’язком буде у3 (X) = -х(1 - х)(0,1496505 + 0,1440745х + 0,0187068х2). 12.3.2. Метод найменших квадратів Розглянемо диференціальне рівняння де функції р(х), <7(х), /(х) - неперервні на проміжку [а,Ь\. Вважатимемо, що розв’язок цієї крайової задачі у(х) є С2[а,Ь]. Наближений розв’язок шукаємо у вигляді де координатні функції {фДх)} задовольняють такі умови: і) ф*(х)єС2[а,6]; II) {ф*(х)} - лінійно незалежні на [а,Ь]; НІ) Ф* (а) = Ф*Ф) = 0; к = 1,2,...; IV) {фА(х)} - повна система функцій в С2[а,Ь\. Ну) = / + р(х)У + д(х)у = /(х) (12.76) (12.77) (12.78) к=\ 356
Виберемо в (12.78) коефіцієнти ак так, щоб наближений розв’язок якомога точніше задовольняв рівняння (12.76). Для цього побудуємо відхили < = )(^акЩк{х))-/{х))2сіх (12.79) а ^=1 і мінімізуємо їх: ^=- = 0; і = \,...,п. (12.80) да, Легко побачити, що (12.80) - це система лінійних алгебричних рівнянь ХДкак=Ь,, (12.81) к=1 Де и А,к = Акі = |цфДх))Цф,(х)Мх; а Ь ь, = |/(*ЖФ, (*))<&• Приклад 12.2. Приклад (12.72), (12.73) розв’язати за методом найменших квадратів. Розв’язування. Обчислимо коефіцієнти системи (12.81): і і Ап = |(Дф,(х)))2й6с= |(-2 + х - х2 )2сІх = о о = |(х4 - 2х3 + 5х2 - 4х+ 4)с1х = — * 3,366666; 0 30 1 1 АХ1 = А2] = |Цф,(х))Цф2(х))(іх; = |(-2 + х-х2)(2-6х + х2 -х3)сіх = о і - |(х5 - 2х4 + 9х3 -1 Ох2 + 14х- 4)ск = — * 1,683919; 60 357
1 1 А\з = А31 = (х))Цф32(х))<іх: = |(-2 + х - х2)(6х - 12х2 + х3 - х4)сіх = о і до = |(х6 - 2х5 + 15л:4 - 20л:3 + 30л:2 - 12х)с& = — я 1,8095238; 21 1 1 А22 = |(Цф2 (х)))2 сіх = |(2 - 6х + х2 - х3 )2сіх = їді = |(х6 - 2х5 +1 Зх4 -16х3 + 40х2 - 24х + 4)сіх = » 3,742857; 0 35 1 1 А33 = |(Цф3(х)))2яЬс = |(6х-12х2 + х3 -х4)2сіх = о о = Г(х8 - 2х7 + 25х6 - 36х5 +156х4 -144х3 + 36х2 )с!х = —- * 4,6325539; ' 1260 1 1 1 6, = |/(х)Цф,(х))сіх = |(-х(-2 + х-х2))сЬс = - |(-2х + х2 - х3)<іх; = о = — «0,966666; 12 і 1 Ь2 = \Пх)Щ2(х))с1х=\( -х(2 - 6х + х2 - х3 ))сІх ■■ = — = 0,95; 20 1 ^ 1 Ь3 - |/(х)Цф3 (х))<іх: = |(-х(6х-12х2 +х4 - х4 ))<іх = о о 29 = — »0,966666. 30 Система (12.81) матиме вигляд 3,366666а, + 1,683333а2 + 1,809524а3 =0,966666; < 1,683333а, + 3,742857а2 + З,805952а3 =0,95; 1,809523а, +3,80592а2 +4,632539а3 =0,9666666. Її розв’язки такі: а, =0,20767; а2 =0,18665; а3 =-0,02580. 358
Отже, за методом найменших квадратів наближений розв’язок сформульованої задачі запишемо так: уз (х) = х(1 - х)(0,20767 + 0,18665х - 0,025 80х2). 12.4. Проекційні методи 12.4.1. Метод колокації ь Метод сіток (метод скінченних різниць) для розв’язування крайових задач дає змогу отримати чисельний розв’язок задачі, тобто тільки таблицю значень шуканої функції. Розглянемо метод колокації, за допомогою якого можна знайти наближений розв’язок крайової задачі у вигляді аналітичного виразу. Нехай потрібно визначити функцію у = у(х), яка задовольняє лінійне диференціальне рівняння Цу] = У" + РІх)у' + Я(х)у = f(x) (12.82) і лінійні крайові умови Г a[y] = o.0y{d) + axy'{d) = A\ (12.83) Гь[уМоУ(Ь) + РУФ) = В, (12.84) де |а0| + |а,|^0, |ро| + |р,|*0 Виберемо деяку сукупність лінійно незалежних функцій и0(х),и](х),...,ип(х) (базисні функції), з яких и0(х) задовольняє неоднорідні крайові умови Га[щ] = А, Ть[ип] = В, (12.85) а решта функцій м,(х) (і = 1,2,...,п) - відповідні однорідні умови Г>,] = 0, Г,[М;] = 0. (12.86) Класичним прикладом набору базисних функцій, що задовольняють умови (12.86), є функції иі(х)=(х-а)‘(х-Ь), і. 359
Іншим прикладом може бути набір функцій , . . пі(х-а) . , . М,.(х)=81П— , і = \,2,...,п. о-а Якщо крайові умови однорідні (А = 0, В = 0), то можна прийняти и0(х) = 0 і розглядати лише систему функцій и,.(х) (/ = 1,2,...,«). Розв’язок крайової задачі (12.82)-(12.84) шукатимемо у вигляді лінійної комбінації базисних функцій п 7=и0(х) + ]Гсд.(х) (12.87) /=і Очевидно, функція у(х) задовольняє крайові умови (12.83). Підставимо вираз (12.87) у рівняння (12.82), отримаємо Я(х, с,, с2,..., с„) = Цу\ - /(х) = Ци0 ] - /(х) + £ с,Ци, ]. (12.88) і=і Якщо за деякого набору коефіцієнтів с, (і = 1,2,...,п) виконується рівність Л(х,с,,с2,...,ся) = 0 для а<х<Ь, то функція у є точним розв’язком задачі (12.82)-(12.84). Однак так вдало підібрати коефіцієнти сі, зазвичай, неможливо. Тому обмежуються тим, що домагаються, щоб функція Щх,с],с2,...,сп) перетворювалася в нуль у заданій достатньо густій системі точок х,,х2,...,хя із [а, Ь\ (точки колона ції), у яких диференціальне рівняння (12.82) задовольнятиметься точно. За точки колокації можна, наприклад, вибирати точки, які ділять відрізок [а,Ь] на однакові частини. У підсумку отримаємо систему лінійних рівнянь Л(х,,с1,с2,...,си) = 0; < (12.89) Л(хп,сІ,с2,...,си) = 0. Із системи (12.70) у випадку її сумісності можна визначити коефіцієнти с,,с2,...,ся, після чого наближений розв’язок задачі (12.82)-(12.84) знаходять за формулою (12.87). 360
Приклад 12.3. Методом колокації розв’язати крайову задачу / + (1 + х2)>; + 1 = 0, Я±1) = 0- (12.90) Розв’язування. За базисні функції виберемо поліноми ип{х) = х2п~1(\-х1) (« = 1,2,...), які, очевидно, задовольняють крайові умови _у(±1) = 0. За точки колокації виберемо х0=0, 1 > х± = — Обмежившись двома базовими функціями, отримаємо ^ = с,(1-х2) + с2х2(1-х2). (12.91) Підстановка в диференціальне рівняння (12.91) дає К(х) = _2с, + с2 (2 -12х2) + (1 + х2 )[с, (1 - х2) + + с2х2(1 - х2)] +1 = 1 - е, (1 + х4) + с2(2 -1 їх2 - х6). У точках колокації маємо Я(х0) = 0, Я(х±) = 0. Звідси, використовуючи формулу (12.91), для визначення коефіцієнтів с,, с2 отримаємо лінійну систему рівнянь 1 - с, + 2с2 = 0; ,17 49 л (12.93) 1 с. с, = 0. 16 ' 64 2 Розв’яжемо систему (12.93) і знайдемо с, »0,95676, с2 «-0,02162. Отже, маємо наближений розв’язок у = 0,95676(1 - х2) - 0,02162х2 (1 - х2). (12.94) У випадку трьох базисних функцій розв’язок шукатимемо у вигляді у = с,(1 - х2) + с2х2(1 -х2) + с3х4(1 - х2). Тоді Л>(*) = -2(с, +с2х +с3х ) —8х (с2 + 2с3х )+ (12 95) +2(1 - х2 )(с2 + 6с3х2) + (1 - х4 )(с, + с2х2 + с3х4) +1 = 0. 361
Виберемо за точки колокації х0 =0, х±1 =+— , ха =+— і з (12.95) для визначення невідомих коефіцієнтів с,, с2, с3 отримаємо систему рівнянь — с, + 2с2 +1= 0; < - 6642с, + 5094с2 + 6398с3 + 6561 = 0; - 7857с, - 19530с2 - 2848с3 + 6561 = 0. Розв'язок цієї системи такий: с, «0,93150, с2 «-0,03425, с3 «-0,03119. Отже, наближений розв'язок задачі (12.90) в цьому випадку матиме вигляд у = 0,93150(1 - х2) - 0,03425х2 (1 - х2) - 0,03119х4 (1 - х2). (12.96) З урахуванням симетричності розв’язку задачі (12.90) в табл. 12.1 наведено чисельні розв’язки цієї задачі, отримані методом колокації (формули (12.94) та (12.96)) та методом сіток з використанням методу правої прогонки тільки на відрізку [-1, 0]. Таблиця 12.1 Чисельний розв’язок задачі (12.90) X Метод колокації Метод сіток (12,94) (12,96) /г = 0,1 II О 1/1 -1,0 0 0 0 0 -0,9 0,17846 0,16783 0,16849 0,16820 -0,8 0,33945 0,32285 0,32394 0,32341 -0,7 0,48254 0,46269 0,46407 0,46335 -0,6 0,60735 0,58568 0,58728 0,58642 -0,5 0,71352 0,69074 0,69251 0,69155 -0,4 0,80077 0,77719 0,77908 0,77804 -0,3 0,86888 0,84463 0,84662 0,84552 -0,2 0,91766 0,89288 0,89492 0,89380 -0,1 0,94698 0,92184 0,92392 0,92278 0,0 0,95676 0,93150 0,93359 0,93244 12.4.2. Метод моментів. Метод Гальоркіна Якщо розглядати диференціальне рівняння в загальному вигляді Р{х,у,у'У) = 0, (12.97) 362
загалом кажучи, нелінійне, то для розв’язування крайової задачі доцільно застосувати метод моментів чи його модифікацію - метод Гальоркіна. У методі моментів для зображення розв’язку вибирають дві системи функцій: і. 1) \|/,(ї)єС[а,і], к = 1,2,...,«; 2) {у*(Х)} - замкнена система функцій на [а,Ь\; II. 1) фк{х)&С2[а,Ь], А: = 0,1,2,...,«; 2) (ф*(Х)}, к = 0,1,2,...,я , — лінійно незалежна; . Ф0(а)=л; Ф0(£) = я; Ф*(а)=Ф*(6)=°; к=о,і,2,...,и. 4) (ф*(х)} - повна система функцій у класі С2[а,Ь\. Розв’язок наведемо у вигляді Я,(*) = Ф0(*) + Ї>*Ф*(*)- (12-98) к=\ Параметри ак виберемо так, щоб перші п моментів дорівнювали нулю, тобто ь \ік(а1,а2,...,ая) = \р(х,уп,у'п,уип)\\>k(x)dx = 0; (к = 1,2,...,«). (12.99) а Остання рівність - це система рівнянь для визначення невідомих коефіцієнтів а,,а2,...,ая. Якщо ж системи функцій {ф*0с)} та (v|/t(x)} збігаються, то метод моментів перетворюється в метод Гальоркіна. У разі застосування методу моментів до лінійного рівняння F(x,y,y', у") = Цу) - f(x) s / + р(х)у' + qix)y - f{x) = 0(12.100) отримаємо систему лінійних алгебричних рівнянь, яка має вигляд fJCkiak=di-, / = 1,2,...,«, (12.101) к=\ де ь скі = J^(x))vk,.(x)^; (12.102) 363
b di = j[/M - Цф„ (*)Ж (x)dx; a (12.103) У методі Гальоркіна в (12.102)—(12.103) замість уДх) підставимо ф,(х), і = \,...,п Метод Гальоркіна не є варіаційним. Він не потребує попереднього зведення крайової задачі для диференціального рівняння до варіаційної, тому є універсальнішим. За невеликої кількості членів цей метод дає грубе наближення. Зі збільшенням кількості координатних функцій п не тільки додаються нові коефіцієнти, а й змінюються старі, що не дуже зручно. Зазначимо: якщо задача (12.97) лінійна, а система функцій {ф*(х)} ортогональна, то вже знайдені Скі зі збільшенням п не будуть змінюватись. Тому ортогональні системи зручніші, ніж неортогональні. Метод Гальоркіна для нелінійної задачі (12.97) використовують для грубого наближення розв’язку, для лінійної задачі (12.98) цим методом можна знайти розв’язок із заданою точністю. Результат дуже суттєво залежить від вдалого вибору функцій {ф*(х)} Для лінійних диференціальних рівнянь другого порядку метод Гальоркіна приводить до таких же систем лінійних алгебричних рівнянь, що й метод Рітца. Приклад 12.3. Знайти розв’язок задачі (12.72), (12.73) методом Гальоркіна. Розв’язування. Координатні функції {ф*(х)} виберемо такі ж, як і в методі Рітца. Тоді ф'(х) = -2; ф"(х) = 2-6х; ф"(х) = 6х- 12х2 Обчислимо коефіцієнти системи за формулами (10.102) та (10.103): і і С,, - |і(ф, (х))ф, (x)dx - J(-2 + х - х2 )(х - х2 )dx = о о 1 'У - f(x4 - 2х3 + Зх2 - 2x)dx — « -0,3; 0J 10 364
1 1 С12 = fL($(х))ф2(x)dx = J(-2 + х-х2)(x2 -Xі)dx - 0 o 1 O = f(x5 -2x4 + 3x3 -2x2)dx = « -0,15; oJ 20 1 1 C, з = |/,(ф,(х))ф3(х)<& = J(-2 + x-x2)(x3 -x4)dx = o o = j(x6 - 2xs + 3x4 - 2x3)dx = * -0,0904762; 210 I 1 C2I - |Цф2 (х))ф, (x)dx J(2 - 6x + x2 - x3 )(jc - X2 )dx = = J(x5 - 2л:4 + їх3 - 8л:2 + 2x)dx = -—*-0,15; 20 l l C22 = |і/(ф2(л:))ф2(л:)<іх: = |(2-6x + x2 -x3)(x2 -x3)dx = J(x6 -2x5 +7x4 -8x3 +2x2)dx = —-«-0,1238095; 105 I I C23 = |Цф2(х))фз(х)<і>с - J(2 - 6x + Xі - x3)(x3 - x4)dx = o o = f(x7 - 2л:6 + їх5 - 8x4 + 2x3)dx = —— « -0,0940476; I 1680 1 1 C3I = |Цф3(х))ф, (x)dx = j"(6x - 12x2 + x3 — x4)(x — x2 )dx — o o V 19 = f(x6 - 2x5 + 13x4 -18x3 + 6x2)<źc = — * -0,09047619; nJ 210 365
1 1 С32 = |Цф3(х))ф2(л;)<іх: = ^6х-12х2 +х3 -х4)(х2 -х3)сіх = о 1 г 79 = [О7 -2х6 +13х5 -18х4 + 6х3 )сіх = —— « -0,09404762; 30 840 і і С33 = |цфз (х))ф3 (х)сіх = |(6х-12х2 + х3 -х4)(х3 -х4)й£с = о о = Г(х8 - 2х7 + 13х6 - 18х5 + 6х4)<іс = --— * -0,08174603; ^ 1250 1 1 1 і/, - |/(х)ф, (х)с& - - |х(х - х2 )с£с * -0,0833333; 0 о І2 1 1 1 сі2 = |/(х)ф2 (х)аЬс = - |х(х2 - х3 )сіх = = -0,05; о о 20 1 і , 4 = |/(х)ф3(х)йЬс = -|х(х3-Х4)(ІХ = - — «-0,0333333. О О ЗО Отже, система матиме вигляд 0,3а, + 0,15а2 + 0,904762а3 =0,0833333, < 0,15а, -0,123809а2 +0,094047а3 =0,05, 0,0904762а, + 0,0940476а2 + 0,0817460а3 =0,0333333. Розв’яжемо її методом Гаусса, отримаємо а, =0,18775; а2 =0,19422; а3 =-0,02348. Розв’язок задачі матиме вигляд: у3 (х) = 0,18775х(1 - х) + 0,19422х2 (1-х) - 0,02348х3 (1 - х) = = х(1 - х)(0,18775 + 0,19422х - 0,02348х2). Розв’язки розглянутого прикладу протабульовано на проміжку [0,1] з кроком 0,1 і наведено в табл. 12.2. 366
Таблиця 12.2 Розв’язки задачі (12.72)-(12.73) X Метод Точне значення Рітца Гальоркіна найменших квадартів 0,10 0,018619 0,018606 0,020346 0,018642 0,20 0,036102 0,036073 0,039032 0,036098 0,30 0,051221 0,051178 0,054876 0,051195 0,40 0,062809 0,062755 0,066759 0,062783 0,50 0,069754 0,069698 0,073624 0,069747 0,60 0,071004 0,070951 0,074475 0,071018 0,70 0,065562 0,065520 0,068379 0,065585 0,80 0,052492 0,052464 0,054464 0,052502 0,90 0,030912 0,030900 0,031920 0,030902 367
Завдання до розділу 12 Знайти розв’язки крайових задач на відрізку [a, Ь] з точністю є = 10"4 і порівняти з точним значенням у 1) у" + 2 у' -3 у = -6х2 + 5л; + 6, 0 < х < 1, Я0) + /(0) = 1, у\ 1) = 5; у* = 2х2+\; 2) у" + 2у' / (л: — 4) + (jc — 4)у = 1, 0 < jc < 1, Я0) = -0,25, Я1)-3/(1) = 0, /* = 1/(х-4); 3) у"+ ху'-4у = х + И x-7>x\n(x), 1<х<2, Я1) = 0, у\ 2) = ln(2) + 2, y* = xln(x); 4) у” + у'І х-2у = -2х + \/х-2\п{х), \<х<2, ><1) = 1, /(2) = 1,5, j>* = x + ln(x); 5) y" + xy-y = -sin(2 + x2)-xcos(x), 0<х<1, v(0 + у '(0) = 1, v(l) = cos 1, у* = х cos(x); 6) у" + у'/х-4у = -4х + 1/х-41п(х), 1<х<2, у (1) = 1, у '(2) = 1,5, у* = х + 1п(х); 7) у" + у' - 2у = -2х + 1, 0 < х < 1, /(0) = 1, у(1)-/(1) = 0, у* = х + ех; 8) у" + ху' - у = ех + х2 +1, 0 < х < 1, у( 0) = 1, у '(1) = е, у* = хех; 9) у" + 2 у' -у/ х = -2х -1, 0 < х < 1, Х0) = 1, у(1)-у\ї) = 1, у* = хе-х; 10) у" + 2ху'-у = 2cos(x)(x2 +1), 0 < х < 0,5, j'(0) = 0, j(0,5) = 0,5 sin(0,5), у* = xsin(x); 368
11) у" + 2у'— 4уІ х = \, 0,5<х<1, у '(0,5) = 1,5, 7(1) + 7'(1) = 4, у* = х2 +0,5х; 12) у” + (х + 3)У - 2 у/{х + З)2 = = —6х / (х + З)2 + 3(х + З)2 +1, 0<х<1, 7(0) = -1/3, 7(1)+ 4/(1) = 15, 7* = Зх -1 / (х + 3); 13) у"-у'-2у = -Ъех, 0 < х < 1, 7(0) = 1, 7(1) + 27W = 0, 7* = (х + 1)е'х; 14) у" - у'-2у = -е~х, 0 < х < 1, 7'(0) = 3, 2у(1)-у'(1) = е, у* = ех + е2х; 15) 7* + 7'- 27 = 2(-х2 +х + 1), 0<х<1, 7(0) = 1, 7(1)-7’(1) = Ч 7* = е"+х2; 16) 7" + 37'-4j = -2cos(x)-8sin(x), 0<х<0,5, 7 '(0) = 1, 7(0,5) + 7 '(0,5) = 2 cos(0,5), у* = cos(x) + sin(x); 17) 7" + 7' / X - 7 / X2 = 8х +1, -1 < X < 0, 7'(-1) + 7'Н) = 1, 7(0) = 0, 7* = х3+х2; 18) у" + xyf - 2у = -X - 3 / X + 2 / X3, 0.5 < х < 1, 7(0,5) = 2,5 , 2Я1) + 7’(1) = 4, t* = x + 1/jt, 19) у" + ху’— х2у = \! х + х\п(х) + х-хъ ln(x), 1<х<2, 7’(1) = I 7(2) = 21п(2), 7* = X 1п(х); 20) 7" + 7'-л7 = 2/х3-1/х2-1, 1<х<2, 7’(1) = 1, 7(2) = 21п(2), 7* = 1/х; 21) у” - у'-ху = -х(х + ех)-1, 1<х<2, 7(1)—7*(1) = 0, 7'(2) = 1 + е\ у* = х + ех; 369
22) у”+ у'-у! х = Ъхг +\2хг+х + 2, 0<х<0,5, ущ = о, у (0,5) = 0,875, у* = х4+х2; 23) у"-у'/х-у/х2 =(-2 + 21n(x))/x3, 0,5<х<1, Я0,5) = 21п0,5, /(1) = 1, у* = \пх/х] 24) у”-4ху' / (х2 +\)-у/ (х2 +1) = -3/(х2 +1)2, 0 < jc < 1, Я0) + /(0) = 1, у’(1) = -0,5, у* = \ І (х2 +1); 25) у”-ху' -Зу = 2 + 6х-х2, 0,5 < jc < 1, >*(0,5) = 0,375, Д1)-/(1) = -3, у* = х2(х +1). 370
Розділ 13 ЧИСЕЛЬНЕ РОЗВ'ЯЗУВАННЯ ДИФЕРЕНЦІАЛЬНИХ РІВНЯНЬ У ЧАСТИННИХ ПОХІДНИХ Нехай в області Є потрібно знайти розв’язок и = и(х) лінійного диференціального рівняння Ьи{х) = /{х), х = (хі,х2,...,хп)єО, (13.1) який задовольняє додаткові (граничні, початкові) умови Іи(х) = ц(х), хєГ, (13.2) де Г- межа області Є, К(х,£) /(х), ц(х)- задані функції. Замінимо область (/ + Г дискретною множиною вузлів = соА + уА (сітка), де (0* - множина внутрішніх вузлів, уА - множина граничних вузлів сітки. Похідні, які входять в рівняння (13.1)—(13.2), замінимо деякими різницевими співвідношеннями на сітці юА. У підсумку отримаємо систему різницевих рівнянь Ал(*) = ф*(*)» х є(Ва; (13-3) (Л(*) = Х*(*)> хеУн’ (13.4) де ук(х), фА(х), хА(х)- сіткові функції, та /А - різницеві оператори. Розв’язок задачі (13.3)-(13.4) залежить від параметра к. Змінюючи к, одержуємо послідовність розв’язків {ук} Сім’ю рівнянь (13.3)—(13.4), що залежить від параметра к, називають різницевою схемою. Нехай ик- проекція розв’язку и = и(х) задачі 371
(13.1)—(13.2) на простір функцій, які задані на сітці Шк. Позначимо через ги=Уи~ик похибку схеми (13.3)-(13.4). Підставимо Уь=ик+2ь У (13.3)—(13.4) і припустимо, що Ьк і /А - лінійні оператори, одержимо для похибки таку задачу: хєщ; 1„гл= V*. хєу„, (13.5) де \|/А і — похибки апроксимації на розв’язку и{х) різницевою схемою диференціальної задачі (13.1) і (13.2), відповідно. Для оцінки вводять норми || - ІІ<іЛ)* II * ІІ(2*)» II * ІІ<з*) в просторах сіткових функцій, які задані на соА,а>А і у,,, відповідно. Різницева схема (13.3)-(13.4) 1 а) апроксимує задачу (13.1)—(13.2), якщо ІКН^О, |кД3(і)-»0 при |А|->0; 16) має т -й порядок апроксимації, якщо ІКіи^^ГХ КІ|(30=0(|АГ); 2а) збігається, якщо || ук - ик ||(1)—> 0 при /г —> 0; 26) має т -ий порядок точності або збігається зі швидкістю 0(\И |т), якщо \\у„-щ\\(и)=0(\ип Різницева схема (13.3)-(13.4) коректна, якщо вона за всіх достатньо малих | к |< 1%: 1) має єдиний розв’язок для довільних вхідних даних фа,ха ; 2) розв’язок ун рівномірно по Н неперервно залежить від вхідних даних фа,ха- Властивість неперервної залежності уИ від Фл,Ха (рівномірної по к) називають стійкістю схеми (13.3)-(13.4). Якщо Ьк і /А - лінійні оператори, то стійкість схеми (13.3)-(13.4) означає існування таких сталих М, > 0, М2 > 0, які не залежать від /г і від 372
вибору вхідних даних <рА і %h, що для розв’язку задачі (13.3)-(13.4) при | h |< h0 виконується нерівність II Ун ІІ(1,)^ М\ II Ф* іі(2а) +М2 II %h ||(3ft). (13.6) Якщо схема (13.3)-(13.4) стійка, a zh - розв’язок задачі (13.5), то ІК ІІ(і,)=1І7*-и* ||(U)< М\ IIу, H(2a) +М2 IIV* H(3t). (13.7) Із нерівності (13.7) випливає твердження: якщо схема (13.3)— (13.4) стійка й апроксимує задачу (13.1)—(13.2), то вона збігається або зі стійкості й апроксимації' схеми випливає її збіжність. Порядок точності різницевої схеми (13.3)-(13.4) визначений порядком апроксимації. Для дослідження розв’язності різницевої схеми (13.3)-(13.4), перепишемо її у вигляді рівняння Л{Р)у{Р)= X B(P,Q)y(Q) + f(P), Рєй„, (13.8) Q<=UJ'(P) де А(Р) > 0, B(P,Q), f(P)~ сіткові функції, які визначені для всіх P,Qea>h. Підмножина Ш'{Р) не містить самого вузла Р Уведемо позначення L[y} = A(P)y(P)- X B(P,Q)y(Q). (13.9) QelH'(P) Тоді рівняння (13.8) перепишемо так: L[y] = f(P). Припускаємо, що виконуються такі умови: 1) А(Р) > 0 для всіх Рє(оЛ, 2) В(Р, Q) > 0 для всіх P,Q<=(bh, (13.10) 3) D(p) = А(Р)- "£B(P,Q)>0 для всіх Р є ооА. QzUJ’iP) Теорема 13.1 (принцип максимуму). Нехай у(Р) Ф const - сіткова функція, яка визначена на <ah і нехай виконуються умови (13.10). Якщо Цу\< 0 (Цу] > 0) для 373
всіх Р є <вл, тоді у(р) < О (^(Р) > 0). Тобто у(Р) не може набувати найбільшого додатного (найменшого від’ємного) значення у внутрішніх вузлах сітки Peioh. Принцип максимуму дає достатню умову стійкості за крайовими умовами. 13.1. Метод сіток розв'язування задачі Діріхле для рівняння Пуассона Нехай G0 = {0 < х < а, 0 < у < Ь} - прямокутник зі сторонами а і Ь\ Г - його межа. Розглянемо в G = G0 + Г задачу Діріхле для рівняння Пуассона Au = -f(x,y), (x,y)sG0, (13.11) и|г=ц(х,.у). (13.12) Побудуємо в Go сітку соА з кроками h = — , % = —, де М> 0, М N N>0 — цілі числа. Для цього побудуємо дві сім’ї прямих хт = mh, т = 0,М, у„=пх, n = 0,N. Точки перетину цих прямих (mh, т) називають вузлами сітки. Якщо (mh.nr) лежить усередині прямокутника (тобто \<т< М1<п< N-1), то такий вузол називають внутрішнім. Нехай соА - множина внутрішніх вузлів. Загальна кількість внутрішніх вузлів дорівнює (М -1) х (N -1). Вузли, які лежать на межі прямокутника (при т = 0,М, п = 0,7V), називають граничними. Вони утворюють множину % = \(mh, п ?)|. Сукупність усіх внутрішніх та граничних вузлів називати сіткою = соА + yh у прямокутнику G0. Замінимо другі похідні різницевими співвідношеннями в кожному внутрішньому вузлі, отримаємо різницеве рівняння 374
Ыт+1п _2"т,и + Мт-1,„ , ит,„+\ ~2ііт,п + Мт,«-1 \ /„о-ІОЧ 72 + і — = -/\Хт>УпЬ (13-13) п Т т = 1,М-\, л = 1,ЛГ-1. Це співвідношення апроксимує рівняння (13.11) з похибкою ^(й2+т2),деМ4=піах Со д и д и Оскільки область Со - прямокутник, то граничні умови можна записати у вигляді и [х,0) = а0 (х) , и(х,Ь ) = а, (х), 0<л:<а; (13.14) и(0->,) = РоО;)> и{а’У) = $\{у)> 0<у<Ь. (13.15) У підсумку отримаємо СПАР Мт+1,„ +°ит,П+\ -2{Х + (Т)ит.п+аит,П-1 + /(*«>7,,); (13.16) а = к1!х1 т = \,М-\, и = 1,ЛГ-1; ».о =«<>(*..)• мт,^=«.(^). т = 0,м; щ= Ро (л) > *Ч„ = Рі (л), « = 0,ІУ (13.17) (13.18) Різницеві рівняння (13.16)—(13.18) називають різницевою схемою. Цю СПАР, зазвичай, розв’язують прямим методом Гаусса або ітераційними методами простої ітерації та Зейделя. Приклад 13.1. Знайти розв’язок рівняння Пуассона д и д и 1 + / с\2 х + 5 1 + у дх1 ду1 1 + у який задовольняє граничні умови м(х,0) = (л: + 5)2 и (л:,і) = -—0<дг<1, и(°’У ) = Г^~' и О’-У ) = Т^~’ 1+у 1+у (13.19) (13.20) 375
де Є = С + Г = {0<х<1,0<;;<і} Точний розв’язок цієї задачі ит = (х + 5)2/(у + 1). (13.21) Розв’язування. У квадраті (0 < х < 1, 0 < ^ < 1} проведемо сукупність прямих хт=т1п,уп=пх (т = 0Д,...,М;л = 0,1,...М) , де И - крок сітки за напрямом осі ОХ; х - крок за напрямом осі ОУ (/г > 0, х > 0). 0 . . . д2и д2и Замінимо похідні —-, —г- відповідними різницевими дх ду співвідношеннями, отримаємо різницеве рівняння и„^,„-2 ит„+ит,„ ит„., -2ит„+ит„. 2 т+\,п ШуП т—\,п ^ т,п+\ т,п т,п—\ " 1+ (*^)2 1+уи (13.22) хт=тк, у„=пх. Граничні умови \2 _( ^ _(*и+5) 25 36 ит,0 \Хт ’ ит,Ы ^ ’ М0,п і , ’ ММ,п (13.23) 2и,я л ' т ,п 1 Рівняння (13.22), (13.23) є СПАР відносно значення розв’язку ит „ у внутрішніх вузлах сітки. А. Метод Гаусса розв’язування СПАР (13.22), (13.23). При И = х = 0,2 Для цієї задачі отримаємо точний розв’язок (табл. 13.1), наближений розв’язок (табл. 13.2) та похибку наближеного розв’язку (табл. 13.3). Таблиця 13.1 Точний розв’язок У X 0 0,2 0,4 0,6 0,8 1 0 25,00000 27,04000 29,16000 31,36000 33,64000 36,00000 0,2 20,83333 22,53333 24,30000 26,13333 28,03333 30,00000 0,4 17,85714 19,31429 20,82857 22,40000 24,02857 25,71429 0,6 15,62500 16,90000 18,22500 19,60000 21,02500 22,50000 0,8 13,88889 15,02222 16,20000 17,42222 18,68889 20,00000 1 12,50000 13,52000 14,58000 15,68000 16,82000 18,00000 376
Таблиця 13.2 Наближений розв’язок у внутрішніх вузлах сітки за методом Гаусса У X 0,2 0,4 . 0,6 0,8 0,2 22,55536 24,33113 26,16592 28,05852 0,4 19,33550 20,85990 22,43253 24,05225 0,6 16,91506 18,24773 19,62349 21,04157 0,8 15,03015 16,21201 17,43461 18,69757 Таблиця 13.3 Похибка У ; с 0,2 0,4 0,6 0,8 0,2 0,02203 0,03113 0,03258 0,02519 0,4 0,02121 0,03133 0,03253 0,02368 0,6 0,01506 0,02273 0,02349 0,01657 0,8 0,00793 0,01201 0,01239 0,00868 Максимальне значення похибки - 0,0325825556. Мінімальне значення похибки - 0,0079281650. Розв’язок, отриманий при /г = т = 0,1, наведено в табл. 13.4. Таблиця 13.4 Наближений розв’язок у внутрішніх вузлах сітки за методом Гаусса У ; с 0,2 0,4 0,6 0,8 0,2 22,53919 24,30821 26,14194 28,04006 0,4 19,31985 20,83680 22,4085 24,03479 0,6 16,90392 18,23094 19,60613 21,02931 0,8 15,02428 16,20312 17,42544 18,69114 Таблиця 13.5 Похибка У X 0,2 0,4 0,6 0,8 0,2 0,00586 0,00821 0,00861 0,00673 0,4 0,00556 0,00822 0,00854 0,00622 0,6 0,00392 0,00594 0,00613 0,00431 0,8 0,00206 0,00312 0,00322 0,00225 377
Максимальне значення похибки - 0,0091957230. Мінімальне значення похибки - 0,0006100639. Б. Ітераційні методи розв’язування СЛАР (13.22), (13.23): а) метод простої ітерації ии) = т,п 2 •/т,п \ , (13.24) / де 5 - номер ітерації, и^п = 0 у внутрішніх вузлах, а на границі - граничні значення. Нехай /г = 0,2 і х = 0,2. Розв’язок наведено в табл. 13.6. Таблиця 13.6 Значення наближеного розв’язку за методом простої ітерації У ; с 0,2 0,4 0,6 0,8 0,2 22,55536 24,33112 26,16591 28,05852 0,4 19,33549 20,85990 22,43253 24,05225 0,6 16,91506 18,24773 19,62348 21,04157 0,8 15,03015 16,21201 17,43461 18,69757 Таблиця 13.7 Похибка У ; с . 0,2 0,4 0,6 0,8 0,2 0,02202 0,03112 0,03258 0,02519 0,4 0,02121 0,03132 0,03253 0,02368 0,6 0,01506 0,02273 0,02348 0,01657 0,8 0,00793 0,01201 0,01239 0,00868 Кількість ітерацій - 75. Максимальне значення похибки - 0,0325803736. Мінімальне значення похибки - 0,0079268184. Нехай /г = 0,1 і т = 0,1. Розв’язок наведено в табл. 13.8, його похибка - у табл. 13.9. 378
Таблиця 13.8 Значення наближеного розв’язку за методом простої ітерації У ; с 0,2 0,4 0,6 0,8 0,2 22,53919 24,30820 26,14193 28,04006 0,4 19,31984 20,83678 22,40853 24,03478 0,6 16,90391 18,23092 19,60611 21,02930 0,8 15,02427 16,20311 17,42543 18,69113 Таблиця 13.9 Похибка У с 0,2 0,4 0,6 0,8 0,2 0,00585 0,00820 0,00860 0,00672 0,4 0,00555 0,00821 0,00853 0,00621 0,6 0,00391 0,00592 0,00611 0,00430 0,8 0,00205 0,00311 0,00321 0,00224 Кількість ітерацій - 286. Максимальне значення похибки - 0,0091801477. Мінімальне значення похибки - 0,0091801477. б) метод Зейделя ии) = т,п \ \ _2_ _2_ к2+Т2; . (13.25) к2 х Ітераційні процеси закінчуються, коли І<п - <;и| < є = 0,000001; V(т, п)єоЧ, де соА — множина внутрішніх вузлів. Нехай /г = 0,2 і т = 0,2. Розв’язок наведено в табл. 13.10, його похибка у табл. 13.11. 379
Таблиця 13.10 Значення наближеного розв’язку за методом Зейделя У X 0,2 0,4 0,6 0,8 0,2 22,55536 24,33113 26,16591 28,05852 0,4 19,33549 20,85990 22,43253 24,05225 0,6 16,91506 18,24773 19,62348 21,04157 0,8 15,03015 16,21201 17,43461 18,69757 Таблиця 13.11 Похибка У X 0,2 0,4 0,6 0,8 0,2 0,02202 0,03112 0,03258 0,02519 0,4 0,02121 0,03132 0,03253 0,02368 0,6 0,01506 0,02273 0,02348 0,01657 0,8 0,00793 0,01201 0,01239 0,00868 Кількість ітерацій - 40. Максимальне значення похибки - 0,0325814800. Мінімальне значення похибки - 0,0079276272. Нехай /г = 0,1 і т = 0,1. Розв’язок наведено в табл. 13.12, його похибка - у табл. 13.13. Таблиця 13.12 Значення наближеного розв’язку за методом Зейделя V У с У 0,2 0,4 0,6 0,8 0,2 22,55574 24,33151 26,16634 28,05901 0,4 19,33575 20,86027 22,43293 24,05255 0,6 16,91520 18,24797 19,62373 21,04172 0,8 15,03022 16,21212 17,43473 18,69764 Таблиця 13.13 Похибка У ) с 0,2 0,4 0,6 0,8 0,2 0,00586 0,00820 0,00860 0,00673 0,4 0,00556 0,00822 0,00854 0,00621 0,6 0,00391 0,00593 0,00612 0,00430 0,8 0,00205 0,00312 0,00322 0,00225 380
Кількість ітерацій -151. Максимальне значення похибки - 0,0091877718. Мінімальне значення похибки - 0,0006092150. Висновок. Зі збільшенням розбиття похибка зменшується. 13.2. Метод сіток розв'язування змішаної задачі для рівняння теплопровідності Розглянемо диференціальне рівняння вигляду ди д2и .. . Ьи = -—а—т = /(х,0, (13.26) от ох де а = а(х,ї) > 0. Нехай необхідно знайти розв’язок цього рівняння и(х,/) в області п = {с < х < сІ\ 0 < / < Т), що задовольняє початкову и(х,0) = ф(.х), хє[с,^] (13.27) та граничні умови «(с,0 = Уо(0. и(сі,і) = у2(і),0<(<Т (13.28) Для знаходження наближеного розв’язку задачі (13.26)-(13.28) методом сіток розглянемо прямокутну сітку вузлів, яку утворює сім’я прямих л: = тк, у = т, т,п = 0, ± 1, ± 2,... Тоді позначимо и(х,ї) = и(тИ,т) = итп, и(х + /?,/) = и(тк + к,пх) = ит+]п. Для кожного вузла (т,п) запишемо різницеве рівняння, яке апроксимує рівняння (13.26) з деякою точністю. Залежно від апроксимації похідної за часом отримаємо різні різницеві схеми. А. Похідні в (13.26) замінимо різницевими аналогами
Тоді ^т+1,л 2Мт +Мт_, оо-І\ “ат,п Гг = ■/».»• (13-31) Т я Перетворимо останнє рівняння, отримаємо різницеве рівняння Ьи\ \т,п Ьи\ = \т,п и , +и , /И + 1,Л /И-1,/7 --2 / Мот,п 1 ит,п+\ г к2 де г = - Початкова умова мт0 = фт. Граничні умови ні = срт „. ’ ЧИ Із (13.32) визначимо ит п+1: «т,й+1 = '•От+і,„ + «„-і) + (1 - 2г)мт я + г/т „. (13.33) Шаблон різницевої схеми (13.32)-(13.33), яку називають явною, зображений на рис. 13.1. Ця схема апроксимує диференціальне рівняння (13.26) з точністю т + А2). 382
Різницева схема стійка при г - ~ ■ Найбільш уживаними є різницеві схеми при г = — та г = —. Наведемо відповідні 6 2 розрахункові формули: та 1 h2 Um,n+1 =Т(МШ+1,П + 4Мт,П +Мт-1,и) + 7 fm,n (13.34) 6 6«т>Я V»+l =т(Мт-.,Я +Мт+1,п) + ^ /И,„ ("1 3.35) 2 2«И.П з початковими умовами ит 0 = фт. Для г > ^ збіжності ріг u(x,t) при Л —> 0 не буде. Для г > —• збіжності різницевої схеми (13.33) до розв’язку итп~ит П-1 Б. Виконаємо апроксимацію похідної за часом як —11—, т отримаємо неявне різницеве рівняння, яке стійке для всіх г : Кит+1 + ит_Х п) - (1 + 2г)ит п = -ит - т/т „. (13.36) Найпростіший вигляд (13.36) має при г = 2, / = 0 2и п —5м +2и , = —и ,. (13.37) т+1,/7 т,п т-\,п т,п-\ V ■ / Рівняння (13.36) апроксимує диференціальне рівняння (13.26) з точністю 0(т + /г2) і використовує чотири вузли (рис. 13.2). Для різницевого рівняння (13.34) похибка т + А4) при /(х,ґ) = 0. У випадку розрахунку за формулою (13.36) виникають труднощі: ми повинні з яких-небудь міркувань знайти значення и на першому шарі, бо початкова умова визначає розв’язок лише на нульовому шарі. Для різницевого рівняння (13.36) похибка швидко зростає, тому на практиці її не застосовують. 383
(т-\,п) (т,п) (т +1 ,п) (т,п - Г Рис. 13.2. В. Застосуємо для апроксимації похідної за часом різницеве співвідношення ди ^ ит,п+1 ~ит,п-\ 5/ 2т отримаємо и , — и , и , — 2и + і/ і т,п+1 ш,/?—1 ш+1,/7 т,/7 т-1,я /• 2г а'я’'' /г2 - т,л' Звідси “*.»+. = —^Г"(«т+1,п - 2иш,п + + 2х/т „ . (1 3.38) У це рівняння входять значення п’яти вузлів (рис. 13.3), і апроксимація рівняння (13.26) в цьому випадку буде 0(хг+кг). Для вузлів нульового шару з початкової умови маємо значення ит,о= Фт(>И = 0, + 1, + 2,...) 384
Різницева схема (13.38) є явною. На практиці різницеву схему (13.38) не використовують, оскільки вона є нестійкою. Приклад 13.2. Розв’язати рівняння ди . . д2и . -—а(х,і)—т = /(х,0, ст ох де /(х) = 2$тх-е~'^-\), а(х,і) = х( для де є[0,1],ї є[0,...,5], яке задовольняє умови м(0,?) = 0; < и( 1,0 = 2зт1-е~'; и(х, 0) = 2этх. Точний розв’язок ит - 2е ' • віпх. Розв’язування. Точний розв’язок ит протабульовано в табл. 13.14. Таблиця 13.14 Точний розв’язок X і 0 1 2 3 4 5 0 0,00000 0,00000 0,00000 0,00000 0,00000 0,00000 0,1 0,19967 0,07345 0,02702 0,00994 0,00366 0,00135 0,2 0,39734 0,14617 0,05377 0,01978 0,00728 0,00268 0,3 0,59104 0,21743 0,07999 0,02943 0,01083 0,00398 0,4 0,77884 0,28652 0,10540 0,03878 0,01426 0,00525 0,5 0,95885 0,35274 0,12977 0,04774 0,01756 0,00646 0,6 1,12928 0,41544 0,15283 0,05622 0,02068 0,00761 0,7 1,28844 0,47399 0,17437 0,06415 0,02360 0,00868 0,8 1,43471 0,52780 0,19417 0,07143 0,02628 0,00967 0,9 1,56665 0,57634 0,21202 0,07800 0,02869 0,01056 1 1,68294 0,61912 0,22776 0,08379 0,03082 0,01134 А. Явна схема Нехай /г = 0,1 і т = \. Схема нестійка, бо не виконується умова г < —. Результати запишемо в табл. 13.15. 385
Таблиця 13.15 Значення наближеного розв’язку за явною схемою X і 1 2 3 4 5 0,1 0,19967 0,17311 -0,86447 2,11761 147,58241 0,2 0,39734 0,29455 -1,62946 7,87185 217,22538 0,3 0,59104 0,36822 -2,23602 16,24304 191,10649 0,4 0,77884 0,39880 -2,63723 26,07139 60,68366 0,5 0,95885 0,15034 0,05415 0,02031 0,00777 Б. Неявна схема Нехай /* = 0,1 і т = 1. Результати запишемо в табл. 13.16, а похибку наближеного розв’язку - у табл. 13.17. Таблиця 13.16 Значення наближеного розв’язку за неявною схемою X і 1 2 3 4 5 0,1 0,10257 0,03590 0,01223 0,00444 0,00168 0,2 0,19608 0,06868 0,02374 0,00870 0,00330 0,3 0,28071 0,09860 0,03459 0,01279 0,00487 0,4 0,35651 0,12580 0,04475 0,01668 0,00637 0,5 0,42347 0,15034 0,05415 0,02031 0,00777 0,6 0,48149 0,17214 0,06268 0,02359 0,00902 0,7 0,53037 0,19105 0,07015 0,02642 0,01007 0,8 0,56985 0,20685 0,07634 0,02867 0,01085 0,9 0,59957, 0,21921 0,08098 0,03019 0,01130 Таблиця 13.17 Похибка X і 1 2 3 4 5 0,1 0,02911 0,00888 0,00229 0,00078 0,00033 0,2 0,04991 0,01491 0,00396 0,00142 0,00062 0,3 0,06328 0,01861 0,00516 0,00197 0,00089 0,4 0,06999 0,02040 0,00597 0,00242 0,00113 0,5 0,07073 0,02057 0,00641 0,00275 0,00131 0,6 0,06605 0,01930 0,00646 0,00291 0,00141 0,7 0,05638 0,01668 0,00600 0,00282 0,00139 0,8 0,04205 0,01268 0,00491 0,00239 0,00118 0,9 0,02323 0,00719 0,00298 0,00150 0,00075 386
Максимальне значення похибки - 0,0707285193. Мінімальне значення похибки - 0,00033. А. Явна схема Нехай /г = 0,1 і г = 0,001. Схема стійка, бо виконується умова г<1. 2 Результати запишемо в табл. 13.18, а похибку отриманого розв’язку - у табл. 13.19. Таблиця 13.18 Значення наближеного розв’язку за явною схемою X і 1 2 3 4 5 0,1 0,11671 0,02924 0,01059 0,00406 0,00157 0,2 0,21686 0,05707 0,02092 0,00804 0,00312 0,3 0,30244 0,08369 0,03098 0,01194 0,00464 0,4 0,37529 0,10915 0,04074 0,01573 0,00611 0,5 0,43700 0,13339 0,05010 0,01933 0,00750 0,6 0,48896 0,15627 0,05890 0,02267 0,00876 0,7 0,53235 0,17753 0,06693 0,02563 0,01312 0,8 0,56807 0,19683 0,07396 0,02808 0,01331 0,9 0,59683 0,21373 0,07968 0,02987 0,01275 Таблиця 13.19 Похибка X 1 2 3 4 5 0,1 0,04325 0,00222 0,00065 0,00040 0,00023 0,2 0,07068 0,00330 0,00113 0,00076 0,00044 0,3 0,08501 0,00370 0,00155 0,00112 0,00066 0,4 0,08873 0,00374 0,00196 0,00146 0,00086 0,5 0,08426 0,00363 0,00236 0,00177 0,00104 0,6 0,07352 0,00344 0,00267 0,00199 0,00115 0,7 0,05836 0,00316 0,00279 0,00203 0,00116 0,8 0,04027 0,00266 0,00253 0,00180 0,00102 0,9 0,02049 0,00171 0,00168 0,00117 0,00065 Максимальне значення похибки - 0,0707285193. Мінімальне значення похибки - 0,0001995670. 387
В. Неявна схема Нехай А = 0,1 і г = 0,001. Результати запишемо втабл. 13.20, а похибку наближеного розв’язку - у табл. 13.21. Таблиця 13.20 Значення наближеного розв’язку за неяною схемою X і 1 2 3 4 5 0,1 0,11666 0,02925 0,01060 0,00406 0,00157 0,2 0,21679 0,05710 0,02092 0,00804 0,00312 0,3 0,30239 0,08372 0,03098 0,01194 0,00464 0,4 0,37524 0,10918 0,04074 0,01573 0,00611 0,5 0,43697 0,13342 0,05010 0,01933 0,00750 0,6 0,48895 0,15630 0,05890 0,02267 0,00876 0,7 0,53235 0,17756 0,06694 0,02563 0,00985 0,8 0,56807 0,19685 0,07396 0,02808 0,01069 0,9 0,59684 0,21374 0,07968 0,02987 0,01121 Таблиця 13.21 Похибка X 1 2 3 4 5 0,1 0,04321 0,00223 0,00066 0,00040 0,00023 0,2 0,07062 0,00332 0,00114 0,00076 0,00044 0,3 0,08495 0,00373 0,00156 0,00112 0,00066 0,4 0,08877 0,00377 0,00197 0,00146 0,00086 0,5 0,08423 0,00366 0,00236 0,00177 0,00104 0,6 0,07351 0,00347 0,00268 0,00199 0,00115 0,7 .0,05836 0,00319 0,00279 0,00204 0,00116 0,8 0,04027 0,00268 0,00253 0,00180 0,00102 0,9 0,02050 0,00172 0,00168 0,00117 0,00065 Максимальне значення похибки - 0,0887696670. Мінімальне значення похибки - 0,00023. 388
13.3. Метод сіток розв'язування змішаної задані для рівняння коливань струни Нехай потрібно знайти и(х,/) - розв’язок рівняння д2и(х,ґ) 2. .лд2и(х^) , 0 < х < 1, 0<ї<Т який задовольняє граничні умови и(°>0=Уо(0’ и(1’0=Уі(0> і початкові умови ди (х, 0) (13.39) и(х,0) = а(х), ді (13.40) = Р(х), 0<х<1. (13.41) За сітку виберемо сукупність точок (хт,/„) з координатами хт-тк , = ит , т-0,1,...,М п = 0,1,...,//, к = \/ М т = 1 /ІУ. Замінимо другі похідні різницевими співвідношеннями з (13.39), отримаємо різницеве рівняння мш,„+. = 5„,.А,+1,П + 2(1 -зтп)итп + 5т„мт_|и -итп_, + хф(хт,Іп) (13.42) т = \,2,...,М-\, п = 1,2,...,ЛГ-1, "Г2 2 о — /7 °т,п ^2 мія,#і’ яке апроксимує на п’ятиточковому шаблоні (рис. 13.3) диференціальне рівняння (13.39) з похибкою М4(т2 + Л/г2)/12 , де М4 = шах ■ д4и 54м дҐ 9 ах4 , Л = таха2(х,/) де,/ З умов (13.40) маємо мо,и=Уо(0> мл/,я=Т,(0’ « = 0,1,2,...АГ (13.43) Ми зможемо знайти итя+| при я = 1,...,АГ-1 за формулами (13.42) і (13.43), якщо будуть відомі ит0 і ит [ при /и = 1,2,...,М-1. 389
Для обчислення ит 0 і ит ] використовують умови (13.41). Спосіб І. Скористаємось зображенням похідної за часом du(x,t0) w(x,?,)-w(x,f0) \d2u[x,tg) dt т 2 dt2 t0<t0<tx, з (13.41) отримаємо «*,і=а»+трж, m = 1,2,...,M-1. (13.44) Похибку апроксимації початкових умов (13.41) рівностями ...... . тМ(2) (2) д2и (13.44) оцінюють величиною —-—, де М)' = шах 2 Спосіб II. За формулою Тейлора маємо дґ / ч / ч т 5и(х,/0) т Т 9м(х,/,) и(х,л) = и(хЛ) + - + Ц— н Ц—^ </, <7.. ' ' ^ 0/ 1! ді 2! 5ґ2 3! д? Звідси би(х,/0) = ц(х,/|)-м(х,ґ0) т52ц(х,ґ0) х2 д3ц(х,Г,) /1345ч а/ т 2 а?2 6 а1 Якщо а(х) має скінченну другу похідну, то з (13.39) і (13.41) отримаємо д2и(х,і0) 2 д2и(х,і0) ^—- = а (хЛА Ч:—- + ф(х,ґп) = дґ У дх2 п о) (13.46) = а2(х,^)а"(х) + ф(х,/0). Підставимо значення з (13.46) в (13.45), знайдемо ^т, о > “»,1 =а(хт) + 'Ср(^) + у[«2(хт^)а"(хт) + ф(хт,0)] (13.47) т = \,2,...,М-1. 390
Похибку апроксимації початкових умов рівняннями (13.47) т 2М,(3) (3) оцінюють величиною —, де М) = шах 6 *>' д2и Спосіб III. Рівняння ит,-ит . т,\ т,— 1 2 т = Рш. Мш,-1 =«К»-т) (13.48) апроксимує другу початкову умову w'(jc,0) = Р(х) з другим порядком. Щоб знайти значення ит], запишемо різницеве рівняння для (13.42) при п = 0: Um,\ 2ит 0 + Um _] ^ 2 Um+1 0 2ит 0 + Um_! 0 г2 а'"'° h2 + Ф{Хт’®) і врахуємо, що ит 0 = ат. Звідси отримаємо, що ит,\ ~ 2ит о + ит _х ^ ит+1,0 ~ 2ит 0 + ит_ 1 0 т2 ~*т'° И2 + Ф(*тЛ)- Підставимо цей вираз для мш_, у рівняння (13.48), отримаємо вираз для знаходження ит,. Отже, Мт,0 — **т > 2«т+2трт+^и,о(аи+і Ф.,0 у|Л\ ит,\~ ^ т = \,2,...,М-І. Різницеві схеми (13.42)—(13.44); (13.42), (13.43), (13.47); (13.42), т2 1 (13.43), (13.49) будуть стійкі в разі виконання умови —т-< —. к А Неявна схема (Схема Кранка-Нікольсона). Розглянемо сім’ю рівнянь з вагами на дев’ятиточковому шаблоні (рис. 13.4): 391
и , — 2 и + и т,п+\ т,п т,п-\ = А_ ит+\,п+\ ^Ыт,п+\ + ит-\,п+\ іП 0 ч Ыт+\,п +г/ш-1,я г — + (1 - 2о) А ит+\,п-\ 2ит \ +ит_{ х +Л к2 к2 + Ф(*»>0- Для знаходження мти+1, т = \,2,...,М-І потрібно розв’язати СЛАР: °У2 (“и+.,п+. + ) - (і + 2оу2 )мт>я+1 = , Р —2 и —и , + Г25 /и т,п т,п-\ т,п (1 - 2а) ит+1п-2ип,,п+ип,-1п к2 + + т:2з„ . ит+\,п-\ 2ит,п-\ ит-\,п-1 (13.50) У2=Лт„^г. Де Лт„ = а2(хт,1„) = а2. і т,п ^2 ш,/7 V т7 п / /и,/7 Отриману СЛАР можна розв’язати методом прогонки. Умови стійкості методу прогонки виконуються при с > 0 (див. 2.5). - \,П 4 1) (т,п + 1) (т + 1, я + 1) -1,1») (т,п) (т + 1,/?) 1,/І - 1) (т,п - 1) в , О + 1 ,п - 1) Рис. 13.4. Приклад 13.3. Знайти розв’язок рівняння гіперболічного типу: д2и(х,і) д2и(х,і) 2а дґ дх [а(х + ґ) + 2] 392
О < х < 1, 0 < / < 1, м(0,?) = 0, и(и) = —: 1 , 0 < / < 1 , 4 ’ у ’ <х(/ + 1) + 2 ( л\ * ди(х,0) ах и(х,0) = —т—- = -г, 0<х<1, 4 ' схх + 2 ді (ах+ 2) а = 0,2к, к = 3, сх(х + /) + 2 Розв'язування. Нехай М = И = 5. Точний і наближені розв’язки цієї задачі на дев’ятиточковому шаблоні (рис. 13.4) за різними способами записані в табл. 13.22-13.39. Таблиця 13.22 Точний розв'язок t X 0 0,2 0,4 0,6 0,8 1 0 0 0,09434 0,17857 0,25424 0,32258 0,38462 0,2 0 0,08929 0,16949 0,24194 0,30769 0,36765 0,4 0 0,08475 0,16129 0,23077 0,29412 0,35211 0,6 0 0,08065 0,15385 0,22059 0,28169 0,33784 0,8 0 0,07692 0,14706 0,21127 0,27027 0,32468 1 0 0,07353 0,14085 0,20270 0,25974 0,31250 Явна схема Спосіб І Таблиця 13.23 Наближений розв’язок за формулами (13.44), (13.43), (13.42) і с 0,2 0,4 0,6 0,8 0,2 0,08929 0,16951 0,24196 0,30772 0,4 0,08473 0,16129 0,23079 0,29412 0,6 0,08062 0,15382 0,22056 0,28167 0,8 0,07690 0,14699 0,21119 0,27022 1 0,07347 0,14075 0,20261 0,25967 393
Таблиця 13.24 Похибка І X 0,2 0,4 0,6 0,8 0,2 0,00000 0,00001 0,00002 0,00003 0,4 0,00001 0,00000 0,00002 0,00001 0,6 0,00002 0,00002 0,00003 0,00002 0,8 0,00003 0,00007 0,00008 0,00005 1 0,00006 0,00009 0,00010 0,00007 Максимальне значення похибки - 9,6283372666^-5 Мінімальне значення похибки - 0 Спосіб II Таблиця 13.25 Наближений розв'язок 1 ; с 0,2 0,4 0,6 0,8 0,2 0,09182 0,17165 0,24379 0,30930 0,4 0,08688 0,16566 0,23452 0,29596 0,6 0,08246 0,15755 0,22493 0,28382 0,8 0,07848 0,14883 0,21334 0,27276 1 0,07347 0,14075 0,20261 0,25967 Таблиця 13.26 Похибка у с 0,2 0,4 0,6 0,8 0,2 0,00254 0,00216 0,00186 0,00161 0,4 0,00213 0,00437 0,00375 0,00184 0,6 0,00181 0,00371 0,00434 0,00213 0,8 0,00155 0,00177 0,00207 0,00249 1 0,00006 0,00009 0,00010 0,00007 394
Максимальне значення похибки - 0,0043704092. Мінімальне значення похибки - 6,0631238561е-5 . Спосіб І Таблиця 13.27 ) с 0,2 0,4 0,6 0,8 0,2 0,09182 0,17165 0,24379 0,30930 0,4 0,08860 0,16505 0,23408 0,29672 0,6 0,08414 0,15825 0,22462 0,28439 0,8 0,07874 0,15086 0,21499 0,27225 1 0,07329 0,14283 0,20498 0,26053 Похибка Таблиця 13.28 ; с 0,2 0,4 0,6 0,8 0,2 0,00254 0,00216 0,00186 0,00161 0,4 0,00385 0,00376 0,00331 0,00260 0,6 0,00349 0,00440 0,00403 0,00270 0,8 0,00181 0,00381 0,00373 0,00198 1 0,00024 0,00199 0,00228 0,00079 Максимальне значення похибки - 0,0044028182. Мінімальне значення похибки - 0,00024244391. Схема Кранка-Ніколсона для о = 0,5; М = N = 5. Спосіб І Таблиця 13.29 Наближений розв'язок ї с 0,2 0,4 0,6 0,8 0,2 0,09182 0,17165 0,24379 0,30930 0,4 0,08819 0,16512 0,23417 0,29655 0,6 0,08315 0,15824 0,22472 0,28400 0,8 0,07774 0,15039 0,21478 0,27185 1 0,07312 0,14166 0,20411 0,26039 395
Таблиця 13.30 Похибка І ; с 0,2 0,4 0,6 0,8 0,2 0,00254 0,00216 0,00186 0,00161 0,4 0,00344 0,00383 0,00340 0,00244 0,6 0,00251 0,00440 0,00413 0,00231 0,8 0,00082 0,00333 0,00351 0,00158 1 0,00041 0,00082 0,00140 0,00065 Максимальне значення похибки - 0,0043973878. Мінімальне значення похибки - 0,0004099400. Нехай М = 10, N = 10. Таблиця 13.31 Точний розв'язок 1 X 0 0,2 0,4 0,6 0,8 1 0 0 0,09434 0,17857 0,25424 0,32258 0,38462 0,2 0 0,08929 0,16949 0,24194 0,30769 0,36765 0,4 0 0,08475 0,16129 0,23077 0,29412 0,35211 0,6 0 0,08065 0,15385 0,22059 0,28169 0,33784 0,8 0 0,07692 0,14706 0,21127 0,27027 0,32468 1 0 0,07353 0,14085 0,20270 0,25974 0,31250 Спосіб II Таблиця 13.32 Наближений розв'язок за формулами (13.37), (13.33), (13.40) ( с 0,2 0,4 0,6 0,8 0,2 0,09055 0,17057 0,24286 0,30849 0,4 0,08582 0,16348 0,23264 0,29504 0,6 0,08156 0,15570 0,22277 0,28276 0,8 0,07771 0,14796 0,21232 0,27153 1 0,07351 0,14082 0,20268 0,25972 396
Таблиця 13.33 Похибка t X 0,2 0,4 0,6 0,8 0,2 0,00127 0,00108 0,00092 0,00080 0,4 0,00107 0,00219 0,00187 0,00092 0,6 0,00091 0,00186 0,00218 0,00107 0,8 0,00078 0,00090 0,00105 0,00126 1 0,00002 0,00002 0,00002 0,00002 Максимальне значення похибки - 0,0025517738. Мінімальне значення похибки - 8,5126388165^-6. Спосіб III Таблиця 13.34 Наближений розв'язок за формулами (13.49), (13.43), (13.50) t ; с 0,2 0,4 0,6 0,8 0,2 0,08929 0,16949 0,24194 0,30770 0,4 0,08474 0,16129 0,23077 0,29412 0,6 0,08064 0,15384 0,22058 0,28169 0,8 0,07692 0,14704 0,21125 0,27026 1 0,07351 0,14082 0,20268 0,25972 Таблиця 13.35 Похибка t ; с 0,2 0,4 0,6 0,8 0,2 0,00000 0,00000 0,00001 0,00001 0,4 0,00000 0,00000 0,00001 0,00000 0,6 0,00001 0,00001 0,00001 0,00000 0,8 0,00001 0,00002 0,00002 0,00001 1 0,00002 0,00002 0,00002 0,00002 397
Максимальне значення похибки - 2,4680303601^-5. Мінімальне значення похибки - 0. Схема Кранка-Ніколсона а = 0,5 Таблиця 13.36 Наближений розв'язок за формулами (13.49), (13.43), (13.50) X 0,2 0,4 0,6 0,8 0,2 0,09044 0,17056 0,24285 0,30844 0,4 0,08612 0,16325 0,23251 0,29518 0,6 0,08136 0,15592 0,22266 0,28263 0,8 0,07749 0,14809 0,21265 0,27119 1 0,07382 0,14062 0,20267 0,26019 Таблиця 13.37 Похибка X 0,2 0,4 0,6 0,8 0,2 0,00115 0,00107 0,00092 0,00075 0,4 0,00138 0,00196 0,00174 0,00106 0,6 0,00071 0,00207 0,00207 0,00094 0,8 0,00056 0,00103 0,00139 0,00092 1 0,00029 0,00022 0,00004 0,00045 Максимальне значення похибки - 0,0022587747. Мінімальне значення похибки 2,0600711464^-5 . Неявна схема а = 1 Таблиця 13.38 Наближений розв'язок за формулами (13.49), (13.43), (13.50) і с 0,2 0,4 0,6 0,8 0,2 0,09043 0,17054 0,24284 0,30844 0,4 0,08625 0,16318 0,23246 0,29523 0,6 0,08157 0,15594 0,22261 0,28270 0,8 0,07717 0,14837 0,21280 0,27100 1~ 0,07362 0,14074 0,20293 0,26014 398
Таблиця 13.39 Похибка X 0,2 0,4 0,6 0,8 0,2 0,00115 0,00105 0,00091 0,00074 0,4 0,00151 0,00189 0,00169 0,00112 0,6 0,00093 0,00210 0,00203 0,00101 0,8 0,00025 0,00131 0,00153 0,00073 1 0,00009 0,00011 0,00023 0,00040 Максимальне значення похибки - 0,0021948721. Мінімальне значення похибки - 7,295322440Іе-5 . 399
Завдання до розділу 13 13.1. Побудувати різницеву схему, яка апроксимує граничну задачу для рівняння д2и д2и / ч ^T + ^ї = f\x’У)' дх ду и\г=<${х,у), де і Г - область і границя області. Знайти розв’язок цієї задачі на сітці хі = Ш, у і = /с. 1) 2) 3) д и д и _ 2 дх2 ^~ї+у и (х,0) = (х +1)2 1 + и (х, і) _ (* + !)* и 1 + у (*+1)2 1+у 0 < х < 1; 0<у<\; = і+у д2и д2и . —т + —т-8, дх ду и(х,0) = х2 и{х, і) = х2 +3, и(0,у) = 3у2 и{\,у) = \ + 3у2 их= х2 + 3_у2 д2и д2и 2 2\ + -у = 2 (х2+у2), 0 < х < 1; 0<^<1; ах2 ду2 и(х,0) = 0, и(х,і) = *2 400
m(0,j>) = 0, u(l,y)=y2; 4) 5) 6) 7) 2 2 ux=x у ; d2u d2u . —T + —7 = 4, dx2 dy2 0<x<0,8, 0<y<0,8; u{x,0) = x2, и (x, 0,8) = X2 +0,64, и(0,у) = у2 и (0,8; y) = y2 +0,64, 2 2 uz= X + у d2u d2u . . i?V • ,y ; и (jc, О) = 0, и (x, l) = 5л:, 0 < x < 1; u(0,.y) = 0, u{\.,y) = 5y2 0<>><1; mt = 5xy d2u d2u r( \ л ТТ + ТТ = 6^ + >;М<х,д;<1; дх ду и(х, 0)=х3 и (х, l) = 1 + х3 м(0, _у)=_у3 i/(l,j/)=l + j/3 их = Xі + у3 0<х<0,8; О < 0,8; du д и _ 1 дх2 ду2 4 1 1 - + - 0<х<1; 0<у<1; 1 < X, у < 2 ; хл[х у4у у и(х,і) = 4х + 1, и(х, 2) = Л + 4х, 1<х<2; и(і,у) = \ + у[у, и(2,у) = 4і + у[у, 1<у<2; их = у[х + *J~y ; 401
8) 9) 10) 11) 12) д2и д2и ■ + ах‘ ву^п^+у^ w(x,0) = x4 и(х,і) = 1 + * м(0>.у) = / ufy,y) = \ + y .4 .4 0<х<1; 0<J<1; их-х + у д2и д2и ^Т + -^ = 6*У. 0<х,у£1; u(x, 0)=0, w(x,l)=x, 0<х<1; и(0,у) = 0, u(l,y) = y3 0<у<1; мт = ху3 д2и д2и —т + —1 = 6ху, 0<х,^<1; дх ду и(х,0) = 0, и(х,і) = х3 0 < jc < 1; м(0,^) = 0, и{\.,у) = у, 0<>><1; их -х3у; д2и д2и _ /, . 2\ _+_=2 (1+6/), и (х, О) = X2 и (л:, l) = 1 + х‘ «(0,у) = / m(1,j>) = 1 + j> 2 4 их= X + у О < х < 1; 0<у<\; д и д и _ . . л л —г- + —r- = -2smxsin>’, 0 < х, < — дх dv 2 ду и(л:,0) = 0, и w (О, у) = 0, и uz = sin х sin .у; ґ пЛ х’2 = Sin X . к ,2’У, Vz У = Sin.y , os*4 О sysf; 402
13) 14) д и д и . . і ті — + -^-у = -л:8іп0<х, дх1 ду2 и(х,0)-0, и и (0, у) = 0, и 2- -»У х, V -^У 71 42 их = хзіпу + узіпл; 71 ■ А ^ ^ 71 = х + — 8іпл:,0<х< — 2 2 0<у<~; 2 д2и д2и ,/ \ л ■ + — = б(х + у),0<х,^<1; йх2 ду2 и{®,у) = уі «(і, Д;) = 1 + У м(х,0) = х3 м(х, і) = 1 + д:' их= х + ^ О < 7 < 1; 0< л; < 1; йм 5 м 12 (л: + 5) 15) —т + —г- = —л дх ду и (0, >’) = ■ ('+УЇ 5 (1+ УЇ и(дс,0) = ;с + 5, дг + 5 и (1, у) = 6 0^)3 и(х, і) = — (х + 5), 8 0<у<\-, 0<х<1; иг =■ О + Л З • 13.2. З використанням методу сіток знайти розв’язок рівняння теплопровідності ди д2и ,ґ \ — = —т + /(дс,0 0<х<1 0</<0,02 ді дх який задовольняє умови м(х,0) = ф(л:)і «(0,0 = Уо(0. 0<х<1; м(і,/) = у,(ґ), 0</<0,02; 403
а) за явною різницевою схемою для к = 0,1; т = 0,005 ; б) за неявною різницевою схемою. в) порівняти одержані розв’язки з точним. би 52и . _/ 2 ^ 11 аГа7+0'5(* и (х, О) = 0, 0 < х < 1; и(0, ?)=0, и (і, /) = 0,5^,0<ґ<0,02 ; мт (х, /) = 0,5х2/; 2) І7=|т+(1+3*),-І0&(і+3*)! дї дх и (х, о) = 0 , 0 < х < 1; и (О, і) = ї, и(и) = 256ґ,0<г<0,02; мт(х, /)=*(і + 3х)4 ди д2и ,_х 3) — = —т + е' дї дх м(х,0) = 0, 0<х<1; и (О, і)=іег, и(1,/) = ґе'_1, 0</<0,02 ; щ (х, і) = ; ди д2и / \2 _ / , \ > ¥=а?+( * ( и(х,0) = (х + і)2 0<х<1; Ы (0$ /) — (/ "І-1), к (і, /■) = 4(/ -І-1) , 0 < / < 0,02 ; ит (х, ґ) = (/ +1) (х +1)2 5) — = ^4 + 2/ (Зх3+х2+4х + 5)-2<2 (9х + і), и (х, О) = 0, 0 < х < 1; м(0,/) = 5ґ2, м(і, ґ) = 13/2, 0 < / < 0,02 ; UJ^x,t) = t (Зх3 + х + 4х + 5); 404
6) ^ = || + (1 + 2X)2 [ (1 + 2х)2 - 48/ ], w(x,0) = 0, 0<х<1; u(0,t) = t, н(і,/) = 81/, 0</<0,02; щ (X, /) = /(! + 2х)4; du д2и _х,^ 2 \ 7) ¥=ä?+c (2'-'>' и(х,0) = 0, 0<х<1; u(0,t) = t2, u(l,t) = t2e~l О</<0,02 ; ит(х, t) = t2e~x 8> X=0+2 [' <«0,5)!-(r42)], о/ ox L -1 и (x, О) = 2 (x + 0,5)2 О < x < 1; и (0,/) -0,25 (/2 + 2), и (1, /) = 2,25 (/2+2), О </<0,02; Uj (х, /) = (t2 + 2) (х + 0,5)2 9) — = ^-^-(2t + l)ex~l 0<х<1; 0</<0,02; dt dx и (х, О) = ех 0 < х < 1; м(0, t) = (t + \)e~‘ и(1,/) = (/ + 1)е1-' 0</<0,02 ; ит (х, i)=(t + Х)ехЧ Ю) — = -4 + 0,4/(х2-А 0<х<1; 0< / < 0,02 ; dt дх2 v ’ w(x,0) = 0, 0<х<1; и(0, t) = 0, и (1, /) = 0,2/\ 0< / < 0,02 ; мт (х, /) = 0,2х2/2; 405
du d2u 11} — = ±-ę--4(/-JC + l)e*_JC 0< JC<1; 0</<0,02 ; dt dx u(x,0) = 2x2e~x 0 < jc < 1; u(0,t)=2t2e‘ u(l,t)=2(t-l)2 e'~' 0<t<0,02; uT (jc, t) = 2{t — x)2 e'~x -12) ^1 = І£ + (і + х)2-2(/ + 2); 0 < x < 1; 0<f<0,02; dt dx м(х,0) = 2(х + і)2 0<x<1; m(0,/)=(/ + 2), w(l,/)=4(/ + 2), 0</<0,02; Uj (x, t) — (t + 2) (l + xf 13)- ¥=&+2 ^t+i) [(l~2x)2-24 (,+2)]; 0<X<1; 0</<0,02; tt(x,0) = 4(l-2x)3 0 < jc < 1; m(0, t)=(t + 2)2 u(l,t)=-(t + 2)2 0<ґ<0,02; uT (x, t) = {t + 2)2 (l - 2xf 14) — = ^4 + 3/2-4; 0<jc< 1; 0</<0,02; dt dx2 u{x,6) — 2x^, 0<x<l; и (О, t) = t3 u(\,t) = 2 + t3,0<t<0,02; щ (x, t) = 2x2 +t3; Ліі * и 15) — = —T + 3t2e~3x (\-3t) - 0 < jc < 1; 0 < / < 0,02 ; dt dx и(х,0) = 0, 0 < jc < 1; m(0,/) = /3 u(l,t)=t3 e~3, 0<t<0,02; uT (x, t) = t3 e~3x 406
13.3. Методом сіток в області 0 = {0<лг<1; 0<?<1} знайти розв’язок змішаної задачі для рівняння коливань струни на сітці От,/и),де *„=0,1 т; і„=0,1п; т,п = 0,1,...,10. 1) 2) 3) 4) д2и(х,і) _ д2и(х,і) 1,5 ді2 дх2 (х+0,5ґ + 1)3 и (0,/) =—-—, и (і,/) = 0,5*+ 1 0, Зі + 2 0 < / < 1; и(х,0) = 0, 05x51; к ' ді (1 + *)2 иТ (х,ґ) = - 1 х + 0,5/ +1 д2и(х,() д2и( х,і) дґ и (0, /) = и (х, 0)= мТ (*,0 = дх2 1 * + 0,6 1 и (і, і) = 1 ди 1 +1,6 1 х + 0,б’ дх (х + 0,6)2 1 0 < 7 < 1; 0<х<1; х + / + 0,6 д2и{х,ґ) д2и(х,і) 0,4 дґ дх [0,2 (х + 0 + 2]: м(0, ґ) = 0, и (і, *) = 1 и (х, 0) 0 < .V <1; ит (х,() = 0.2 (х + 0 + 2 ди(х, 0) 0,2х 2 + 0,2х ді (0,2х + 2) 0,2(х + 0 + 2 д2и(х, і) д2и(х, і) ді2 дх2 407
5) 6) 7) и(0,г) = е°’5' w(u) = e°’5(1+'\ О < / < 1; и {х, 0) = е0’5*, = 0,5e°’Sx 0 < * < 1; V ' dt uT(x,t) = e°'5(x+l); d2u(x,t) d2u(x,t) 240 дґ дх2 (5x + t + 2f u(0, t) = —,M(l, t) = —, 0 < / < 1; /+2 /+7 f 5 dw(x,0) -5 m(x,0) = , = 7, 0<x<l; v 7 5x + 2 dt (5x + 2 f / ч 5 Uj (X, t) = 5x +1 4- 2 d2u(x,t) _ d2u(x,t) 0,14[0,7 (x + 0,7)-f] dt2 dx2 [ jc + 0,7(/ + 1)]3 ’ u(0,t) = —^—,u (1, t) = , 0</<l; V ' / + 1 V ' l + 0,7(f + l) „(Jj0) = 0, *fe0)=_0d2£_, 0<*<1; v ’ dt (x + 0.7) г л °’7t uT(x,t) — x + 0,7 (t +1) d2u(x,t) d2u{xj) x + 0,5/ + 2 dt2 dx2 [0,5jc + / + 1]3 ’ u(0,t) = -^—,u (1,/) = —1—, 0<ґ<1; t +1 / + 1,5 „(*,0) = 0, = 0 < X < 1; dt ✓ ч t ит (x,t) = 0,5.x +1 +1 ' dt2 дх2 408
9) 10) 11) 12) и (0,ґ) = 0, u(\,t) = e2‘ 0</<l; u(x,0) = xł\^^- = 2xe dt 0 < JC < 1; щ (x,t) = xe2(x+t) d u(x,t) d u(x,t) + 4(x + , dt2 дхг u(0,t) = t3 м(і,/) = /(1 + 02, О < / < 1; l/(jr,0)=0, = ^ 0<*<1; dt щ (jc, /) = / (х +1)2; d2u(x,t) _ d2u(x,t) dt2 dx2 u(0,t) = 0, t/(l, f)= Л Г 2 / . \ — { X t 1 rX - t 1 6 3 X -\— \2 5) 25 V 5j 'l Л3 1 2 5 / X4 du(x, 0) 3x3 міх,01 = —, = v ’ 8 5/ 20 0 < / < 1; 0 < X < 1; MT (x, t) = X ^X Л3 vH d2u(x, t) d2u(x, t) + (2-3f)e -(*+0 5/2 ax2 u(0,t) = t2 u{\,t) = t2e(U,\ 0 < / < 1; и(^о)=о, 0<*<і; dt Uj (x,t) = t2 e(x+t) d2u(x, t) _ d2u(x, t) , dt1 dx X+>2 \2 X + - -2 409
14) 2 f t м(0,/) =—е~* w(l, i) — 1 + 0</<l; <9w(x,0) Uj{x,t) = I x + — u(x,0) = x2 ^ = 0<x<l; v } dt e 1 2, S^=8^0 , , dt dx V ' u(0,t) = t2 и (\,t) = (2 + t2)e~\ 0</<l; и(х,0) = 2x2e~* du(x,0) _q^ o<x<l; dt ur (x, t) = (2x2 +t2 e~x ■ d2u(x,t) d2u(x,t) dt2 dx2 +3(x + te')je'j^2(l + /2)e' + (x + /e')(2 + /)J-2j, u(0,t)=(t e'J, u(\,t)=^ + te‘] 0 < t < 1; du(xfi) dt u7 (x, t) = (x + e'tj (x + te'J w(x,0) = x3 ^&1^Ъх2 0<х<1 . dt S\(x ,)jy(x •)+ 21и{х+ху _Ą dt2 dx2 м(0,г) = /3 и(і,ґ) = 4/3 0</<1; и(х,0) = 0, дц(х,0) _0^ о<х<1; dt ит (x,f) = (x + l)V 410
Розділ 14 МЕТОДИ НАБЛИЖЕНОГО РОЗВ'ЯЗУВАННЯ ІНТЕГРАЛЬНИХ РІВНЯНЬ 14.1. Формулювання задачі Інтегральним називають рівняння, у якому шукана функція и(х) серед іншого є під знаком інтеграла. Одновимірне нелінійне інтегральне рівняння має вигляд Ь \К(х&и&Ш = Р{х,и{х)\ а<х<Ь, (14.1) а де ядро К(х,^,и(^)) і права частина F(x,и(x))- задані функції. До інтегрального рівняння (ІР) приводять багато фізичних задач. ІР в багатьох випадках зручніші, ніж диференціальні. По- перше, ІР містять повне формулювання задачі. Наприклад, ІР х и(х) = и0 + Г/<* ,и(%))сІ£, еквівалентне задачі Коші для *0 диференціального рівняння ^и(х) _ м(х0) = и0. Легко сіх побачити, що для ІР не треба задавати ніяких додаткових умов, початкових чи граничних. По-друге, в ІР перехід від однієї змінної до багатьох є природним. Наприклад, багатовимірним аналогом (14.1) є рівняння |я:(*, $,«($))</£ = ^(х,м(х)), х=(х],х2,...,хр)т є£(х), с яке відрізняється від (14.1) тільки тим, що інтегрування відбувається за багатовимірною областю Отже, теоретичне обґрунтування формулювань і методів розв’язування 411
одновимірних задач безпосередньо узагальнюють на випадок багатьох вимірів. Розглянемо ІР вигляду ь и{х)-’к^К{х,£)и(£)сІ£і = /(X), а<х<Ь, (14.2) а яке переважно називають рівнянням Фредгольма другого роду. Ядро К(х,£) визначене на квадраті а<х,^<Ь. Якщо К(х,^) визначене лише на трикутнику а<£,<х<Ь, то (14.2) трактуємо як рівняння Вольтерра другого роду л: и{х)-Х\К(х,^)и(^)сІ^ = /(х), а<х<Ь. (14.3) а Якщо в рівнянні (14.2) чи (14.3) відкинути член и(х), а залишити тільки м(^) під знаком інтеграла, то отримаємо рівняння першого роду. 14.2. Метод послідовних наближень розв'язування одновимірного рівняння другого роду Розв’язок ІР (14.2) шукаємо у вигляді степеневого ряду и(*) = 1>Ч(х). (14-4) к=о Підставимо (14.4) у рівняння (14.2) і прирівняємо коефіцієнти при однакових степенях X, отримаємо <р0(*) = А*); ь Ф,(*) =/*(*,$)<р<ДЖ; а Ф 2(х)=\К{х£Ш№-, (14.5) 412
ф„(*)= а Інтеграли в (14.5) обчислюємо або аналітично, або за квадратурними формулами. Якщо функція K{x,Q в [a,U\y.[a,b] обмежена константою М \К(х£)\<М, то рівномірна збіжність ряду (14.4) буде забезпечена, якщо ІX |< . М(Ь-а) Формули (14.5) можна переписати у вигляді Ф*(Х)= JKk(x,S)f(S№, (14.6) а де Kk{x&) = b\K{x,t)Kk^t£)dt, К^х£) = К(х£). а Тоді розв’язок (14.4) можна записати як и(х) = f{x) + )кк (х,$)/$№, (14-7) к=1 а або b и(х) = /(jc) + X. |/?(лг, WfQ№>, (14.8) а де R(x£,'k) = fjXk-'K„(xA). (14.9) к=\ Коефіцієнти Кк(х£) називають ітерованими ядрами, а функцію R(x£,X)- резольвентою IP, яка для малих |А,| визначена степеневим рядом (14.9). Приклад 14.1. Методом послідовних наближень знайти розв’язок рівняння 00 u{x)-X\e(x+t‘)u{^)d^=x. (14.10) о 413
Розв’язування. Застосуємо (14.5), отримаємо Фо(*) = *; 00 00 ф,(х) = \е~хе~%сІ^ = є" (14.11) 0 о (р2 (д:) = |в_ хе_5в_5£^ = е'х Іе'2^ = -е'х; П П 2 О О «Рз(*) = - ]е'= -е~х]е~2Ч^ = -е 2 о 2 0 4 Тоді розв’язок рівняння (14.10), згідно з (14.4), матиме вигляд У нашому прикладі вдається знайти точний розв’язок 2Х _х и(х) = хн е 2-Х Послідовні наближення збігаються тільки при | X |< 2. Приклад 14.2. Методом послідовних наближень розв’язати рівняння Вольтерра и(х) = х + Хех + -Х2е~х + -Х3е'х +... = х + е-х(Х + -Х2+-Х3+...). 2 4 2 4 х О Розв’язування. Нехай ф0(х) = х; Тоді х .2 О хг І2 X2 X4 Для п -го наближення отримаємо 414
Звідси, згідно з (14.7), 14.3. Наближене розв'язування іі Фредгольма методом заміни інтеграла скінченною сумою (метод механічних квадратур) Якщо ядро ІР досить складне, то аналітично обчислювати інтеграли (14.5) в методі послідовних наближень важко. Тому для наближеного розв’язування рівняння (14.2) можна застосувати інші методи, не пов’язані з перетворенням ядер. Серед таких методів найвідоміший метод квадратур. Основна його ідея - це заміна інтеграла в (14.2) скінченною сумою. Для цього використовують квадратурні формули де хк - задані наперед вузли; Ак - коефіцієнти, які не залежать від підінтегральної функції; ЯД/7) - залишковий член квадратурної формули. Правило (14.12) застосовують для наближеного запису (14.2) у такий спосіб: Якщо величина Л„(Ки) мала, то нею можна знехтувати, а за аналітичний вираз наближеного розв’язку 1/(х) ІР (14.2) прийняти функцію (14.12) а к=1 п и(х) - Х{^АкК(х,хк)и(хк) + 1і„(Ки)} = /(*). (14.13) к=\ п Щх)=Ах)+^ А к(х> м** )• (14.14) 4=1 415
Права частина формули (14.14) містить невідомі величини 1/(хк) . їхні наближені значення IIк можна знайти, приймаючи в (14.14) х = х,. (і = \,п), х,є[а, Ь], що дає £/,-\^АкК(хпхк-рк =/„ Де / = /(*,). (14.15) Легко побачити, що це система лінійних алгебричних рівнянь п-го порядку відносно невідомих наближених значень розв’язку иии2,...,и„. Визначник системи має вигляд А = 1-ХА]Ки -ХА2Кп -ХА] К2Х 1 - ХА2 К22 -хахкпі і-и. а:.. (14.16) де Кл =К(Хі,хк). СЛАР (14.15) має єдиний розв’язок, якщо ХфХ^ де Х|и) - власні значення матриці системи. Отже, описаний алгоритм добре зумовлений, якщо параметр X не лежить у малому околі одного з власних значень Хі ядра. Якщо Х&Хі, то система (14.15) стає погано зумовленою. За деяких п можливий збій алгоритму, якщо випадково значення Х\п) близько підходить до одного з власних значень ядра. Тоді наближений розв’язок £/ (х) може сильно відрізнятися від точного и(х). Зазвичай, нам невідомі власні значення ядра. Тому для виявлення й уникнення останнього випадку всі розрахунки треба виконувати в разі послідовного збільшення кількості вузлів квадратурної формули. Якщо зі збільшенням п розв’язок {£/,.}"=1 відтворює деяку граничну функцію II(х), то ця функція і є шуканим наближеним розв’язком (14.2). Якщо за якогось п розрахунок випадає із загальної закономірності, тоді є випадковим збіг Х&Х^ Отже, розв’язавши (14.15), знайдемо значення их,и2,...,ип, і наближений розв’язок рівняння (14.2) в аналітичному вигляді запишемо так: 416
ип(х) = Кх) + І^АкК(х,хк)ик. к=І Більшість задач розв’язують, використовуючи порівняно невелику кількість вузлів п. Тому для отримання доброго результату доцільно вибирати квадратурні формули високого порядку точності, уважаючи, що К(х,£) і /(х) достатньо гладкі функції. Зазвичай, найліпші результати дають квадратурні формули Гаусса або Гаусса-Кристоффеля; для кількості вузлів к їхній порядок точності р = 2к. Можна також використовувати формулу трапецій, послідовно згущуючи сітку вдвічі від и, = 2 до пк=2к і уточнюючи розв’язок за принципом Рунге. Це теж дає результат з порядком точності р = 2к, однак потребує використання суттєво більшої кількості вузлів, ніж у формулах Гаусса. Досить часто ядро К( х£) або права частина /(х) недостатньо гладкі й навіть мають розриви. Найтиповішим є розрив ядра або його похідних за х = £,; трапляються особливості й на інших лініях у площині (х, %). У цих випадках використовувати квадратурні формули Гаусса недоцільно. Зручніше вибирати вузли хл так, щоб особливі лінії перетинали лінії сітки х = хи лише у вузлах £,-хтФхп. Як (14.12) можна вибирати узагальнену формулу трапецій, причому в інтервалах, які прилягають до особливих ліній, використовують відповідні односторонні границі функцій. Розглянемо деякі конкретні квадратурні формули. А. Якщо вибрана узагальнена квадратурна формула трапецій, то маємо 1 А1=Агг=—/і; Ак = к; к = 2,п-1; ^^ хк = а + (к - 1)/г; к = \9щ й = - п — 1 ЛКи) г\є[а,Ь]. 4=л Б. Для узагальненої квадратурної формули Сімпсона, прийнявши п = 2т +1, одержимо 417
1 4 А = Ат+і = = Л4 = ... = А1т — —к\ А3 = А5 =... = А2т_1 хк=а + {к- 1)/г; £ = 1,2/и + 1; к = ^ а 90(2 ту 2т а5 —(*«) Г) є[а,Ь]. $=п В. Шукану функцію в (14.12) апроксимуємо інтерполяційним багаточленом Лагранжа «(*) = ]&(*)«(** ) + К*); (14.17) к=1 де Ік(х) = . (о(_х) = (х -х,)...(х-хп); г(х) — залишок (х-хк)са'(хк) інтерполювання. Підставимо вираз (14.17) у рівняння (14.2). Отримаємо и(х) = / (х) + (х)и{хк) + А.р(х), (14.18) к=І де а 9(х) = )к{х£)г(№. а Відкинемо, в (14.18) залишковий член Х,р(х) і в отриманій наближеній рівності приймемо х = х,,х2,...,хи: иі=/і+>^І'к(х,)Щ, і — І,п. (14.19) к—\ Це СЛАР и-го порядку з невідомими и1,и2,...ип. Після її розв’язування знайдено наближені значення розв’язку и(х) в точках хі, і — \,п . 418
Наближене значення розв’язку и(х) на [а,Ь] знаходимо за формулою інтерполювання через ядро К(х,Е): щдо=/(*)+ІХ (*)“(**)• (14-2°) к=\ л Приклад 14.3. Методом механічних квадратур знайти розв’язок інтегрального рівняння і и(х) + \х(е^ - 1 = ех - X. о Розв’язування. Застосуємо квадратурну формулу Сімпсона. Одержимо і , {/(х)ск * -[/(0) + 4/(0,5) + /(1)]. Тоді для відшукання наближеного розв’язку в точках х = 0; 0,5; 1 отримаємо систему и, =1; < ^(е0'25 -1)м2 + ^(е0'5-\)щ =е05 -0,5; -Х)иг+\{е + 5)щ=е-\, ^3 6 або щ = і; «1,0947и2 +0,054 їй, =1,1487; 0,4325м2 + 1,2864м, =1,7183. Розв’язки її м, =1; и2 =0,9999; м, =0,9996. Точний розв’язок м(х) = 1. Як бачимо, результат достатньо добрий. 419
Для комп’ютерної реалізації можна використати узагальнену квадратурну формулу Сімпсона і застосувати принцип Рунге, щораз порівнюючи знайдені розв’язки в точках х,. 14.4. Метод заміни ядра на вироджене Ядро ІР (14.2) називають виродженим, якщо його можна записати у вигляді К(х,!;) = ]Г4(х)ВД), (14.21) /=1 де {Аі (х)}"=1 ,{В1:(х)}”=1 - відомі системи лінійно незалежних функцій. У цьому випадку розв’язок и(х), якщо він існує, можна знайти в явному вигляді и(х) = Дх) + Х±с,АІ(х), (14.22) /=1 Ь де сі = |в,(^)г/(^)^ - деякі числові коефіцієнти. а Справді, підставивши (14.22) у попередню формулу, для знаходження с, отримаємо СЛАР п С, - ^Хсуа<у = їі’ і = 1>п> (14.23) )=' де а , = р, = (14.24) а а Якщо визначник системи (14.23) відмінний від нуля, то система має єдиний розв’язок с,,с2,...,сй, і розв’язок інтегрального рівняння и(х) буде знайдений явно. Якщо ж для заданого значення X визначник дорівнює нулю, то А, буде власним значенням ядра К(х,£). У цьому випадку, знаходячи лінійно незалежні розв’язки відповідної однорідної системи, ми в явному вигляді знайдемо всі лінійно незалежні між собою власні функції ядра К(х,£), що відповідають заданому власному значенню X. 420
Якщо с*(/ = 1,и) - розв’язок системи (14.23), то шуканий розв’язок ІР (14.2) можна також обчислити за формулою и(х) = /(х) + с, Аі (х). /=і Така ситуація можлива, якщо вироджене ядро близьке до ядра п К(х£). У цьому випадку чим ліпше сума ^Ак(х)Вк(£) *=і апроксимує К(х,£,), тим ближче и (х) до розв’язку ІР (14.2). Це підтверджує така теорема. Теорема. Якщо у(х) - х \к(х, = /(*); а 2(х) - X (х, £>(£)</£, = /х (х), а - два ІР, Я(х,^,Х) - резольвента другого з цих рівнянь і існують такі сталі 5,г,М, що виконуються нерівності )\К(х,^-Н(х^)^<8; а І/(*)-7і(*)І<є> Ухє[а,Ь]; Ь |Л(Х^Д)|^<М; а | X18(1+1X | М) < 1, то перше рівняння має єдиний розв’язок у{х), і ... ... ЛПХ|(1+|?1|М)26 л ,,, 1Л | у(х) - г(х) |< 1141 ' ; + є(1+ \X\M\ 1-1X15(1+1X | М) де N = шах | /(х) |. а<х<Ь З наведеної теореми випливає таке: якщо побудувати досить близьке до ядра К(х,£) вироджене ядро #(х,£), то, розв’язавши 421
інтегральне рівняння з виродженим ядром Н(х,£), одержимо розв’язок г(х), який буде близьким до розв’язку ^(х) інтегрального рівняння з ядром К(х,^) за тієї ж правої частини. Існує декілька способів побудови для ядра Н(х,£,) виродженого і близького ядра до К(х,£). 1. Якщо ядро К(х,£) має високий порядок гладкості, то розкладаємо його за формулою Тейлора. Можливі розклади за одним із аргументів х або £, а також розклад за двома аргументами одночасно. Наприклад, якщо ми розкладемо К(х,£) за першим аргументом, і за початкову точку візьмемо середину відрізка [а,Ь\, тобто приймемо с = 0,5(а + Ь), тоді для виродженого ядра #(х,£) одержимо такий вираз щхЛ)■ + . 1! дх п\ дхп х — с (х — сУ* Функції Д(х) дорівнюватимуть 1, , —, а функції 1! п\ ач • • г, ^ дК(с&) д”К{с&) В,(4)- відповідно К(с&), ——ІіГ1- дх дх 2. Для побудови Н(х,£,) можна використати відомі ортогональні розклади функцій. Наприклад, якщо ядро К(х,£) - достатньо гладка періодична функція за одним із аргументів х або £ чи за обома аргументами, тоді можна скористатися відрізком однократного або подвійного ряду Фур’є. Припустимо, що відрізок інтегрування \а,Ь\ є проміжок [-я, я] і К(х,£,) є 2л періодичною функцією за х. Тоді Н (х, %) = а0 (4) + £ (я,- (4) сов іх + 6,. (£) віп іх), 1=1 а0($) = ^-)к(х,!&1х, — Ж 1 71 а,.(£) = — [ К (х, соя іхс/х, п-І 422
Використовують також інші ортогональні розклади, такі як розклад за багаточленами Лбжандра, Чебишова тощо. 3. Можна використовувати інтерполювання функції К(хза одним або двома аргументами. Наприклад, для аргументу х на проміжку [а,Ь] виберемо п вузлів інтерполювання х,,...,д:п і запишемо інтерполяційний багаточлен Лагранжа у вигляді Приклад 14.4. Знайти розв’язок інтегрального рівняння методом заміни ядра на вироджене. Розв’язування. Замінимо ядро ІР (14.25) на вироджене, розклавши К(х,£,) = е25 в ряд Тейлора: Для простоти приймемо г = 1 і за точку розкладу - со(лг) = (х-х,)...(д:-хп). (14.25) о К(гї\ = V (*-*о)Р (5~5о)* др+чК(х0,х0) р\ ді дх'дї? Отримаємо
Відкинемо залишковий член розкладу в ряд і величини порядку , отримаємо формулу для виродженого ядра К(х, '%): К{х&) = 1,001 +1,001 +1,001 -1-х) = 25 2 25 2 (-14.26) 1 1 2 002 = (1,001 1,001$) + *(-0.001 + Е). 50 50 25 і Тут враховано, що е100 «1,001. Ядро, згідно з (14.21), можна записати у вигляді К(х,£>) = '£Аі(х)Ві($), і=\ прийнявши 4(х) = 1; А2(х) = х; ' ъ 50 50 25 Розкладемо праву частину ІР (14.25) в ряд Тейлора, відкинувши члени порядку 10-7, отримаємо /(х) « 0, їх - 0,000167х3 Розв’язок рівняння і и(х) - 0Д|^(х, $)и(£,Щ = 0,1х- 0,000167л:3, о де К(х,Е) визначають за формулою (14.26), знайдемо у вигляді и(х) = / (х) + с, Ах (х) + с2 А2 (х) = 0,1х - 0,000167х3 + с, + с2х. При п = 2 отримаємо СЛАР (14.23), у якій і /і = {/(*)£, (*)<&= 0 0 = |(0,1х - 0,000167х3) • (1,001 - -^-х)с£с = 0,05076; 50 424
Л = \/(х)В2{х)ск = О = [(о, їх - о, ооо і біх3) • (-х>)Лс=_0 00166. л 50 25 0 1 а„ = |л,(х)й,(х)л = |(0,001 - х)сіх = 0,99099; 0 0 а,2 = \аі{х)В,(х)сіх= |х(0,001 - х)Л = 0,49383; л п 50 а2І = \а,(х)В2(х)с]х= |(-ЬМ+2®*)^ = 0,02002; о 0 50 25 а22 ~ ^А2{х)В2(х)сіх = |х(-+ ^2^х)<& = 0,01668. о Визначник системи відмінний від нуля, тому при п = 2 СЛАР має єдиний розв’язок с, =0,049; с2 =-0,01. Отже, для наближеного розв’язку рівняння (14.25) отримаємо формулу и(х) я 0,049 + 0,099х+ 0,000167х3 425
Завдання до розділу 14 14.1. Розв’язати інтегральні рівняння методом послідовних наближень. X 1) и(х) = 1 - и(і)Ж, и0 (х) = 0; о 2 2) и(х) = $и(0^9 о 2 X а) и0(х) = 1; б) и0(х) = — + х’> X 3) и(х) = 1 - Xі - |хг/(/)<Л, о а) щ(х) = 1-х2; б) и0(х) = 1; X 4) и(х) = 1 + |хи(/)Л, и0 (х) = 0; о х 5) и(х) = 1 + и0 (х) = 1; 0 6) и(х) = х + |х/и(/)<#, м0 (х) = х; 0 7) и(х) - біп х + 2 и0 (х) = 8Іп х; о * ^ 8) и(х) = скх- [ и(і)Ж9 и0(х) = скх; осЬ' 1 х 1 + /2 1 9) и(х) = - г+[- гм(/)<#, и0(л) = - г; І + х о1 + л: 1 + * 1 10) н(х) = 2х + |х/м(ґи0 (х) = 2х; о 1 я 11) и(х) = 1 — [(сов2 ї)и{і)Ж, и0 (х) = 1; К ^ Я 0 426
1 1 1 12) и(х) = — (1 - х) + я f(l - x)(sin 2nt)u(t)dt, и0 (х) =—(1 - х); 2 о 2 1 Л 13) M(x) = 2sinx + — [(sin x)tu{t)dt, M0(x) = 2sinx; 2n3o 1 П 14) m(x) = cosx [(cos(x + /) + cos(x - t))u(t)dt, w0(x) = cosx; 2 ті і 1 Л 15) м(х) = 1 [(cos2 t)u(t)dt, м0 (x) = 1. ТГ J n 0 14.2. Методом механічних квадратур розв’язати інтегральне рівняння, використовуючи узагальнену квадратурну формулу трапецій, Сімпсона чи Гаусса. 1 *(■ xt и(х) = 1 + х + ех — Isin—u(t)dt; 2 о ^ 0,5 1 и(х) = sin лх - [ u(t)dt; • 5 + cos(x +1) 1 J u(x) = 1 + ex + 0,3 f u(t)dt; • ln(5 + x/) 1 x+t w(X) = cos7u;+ Je 5 u(t)dt; o і u(x) = ln(l + jc) + 0,1 ftg—1—u(t)dt; і 5 + t I ; І 2(x + t) u(x) = cosx + — f 1 u{t)dt\ 1 і 5 + sin ( ‘ '4 „1 rsinx/ , 4 . u(x) = e + — I u(t)dt\ 2 o 5 + t 1 1 xt u(x) = 1 -x — jarcsin—u{t)dt\ 6 o 5 u(x) = —— + — [arctg-^— u(t)dt\ 1 + x 3^ 5 + / 1 1 10) u(x) = 7^—- - — jcos x(5 +t)2 u{t)dt\
r x + t 11) u(x) = 1 + sin x + Itg u(t)dt\ О Ю і V jc 12) u(x)-ex —Icos u(t)dt\ 4 л 5 + / o і m ^ 13) u(x) = \ + x2 + 7 jsin u(t)dt; o i 50 14) і#(х) = 1-х-9^"(л+10)и(ОЛ; o 1 1 ^ t 15) u(x) = r + — f— u(t)dt; l + x2 8 -lOf + 13 14.3. Знайти розв’язок заданих інтегральних рівнянь за методом заміни ядра на вироджене. V 1 ,1 1) и(Х)-А,Г u(f)dt = \ + x ; А, = -; і = 5,10; '10-х/ і і ^ 2) и(х) - 0,1 [sin—u(t)dt = хех; / = 5,10; 0 * V х ■+■1 3) t/(x)-0,5j——u(t)dt = l + ix; / = 0,10; 1 t 4) u(x) - 0,7 Jsin(x + -)u(t)dt = sinx; / = 1,10; o 1 і 5) u(x)- ftg u(t)dt = 1 + x; і = 1,10; oJ i + t V і - — 6) w(x)-0,25 u(t)dt = ex; / = 5,10; р ix + 0,1/ ■+■ 5 x 7) u(x) - Jsin(x - t)u(t)dt = sin x; 0 X 8) u(x) + J(x - t)u(t)dt = x + 2 sin x; 428
* 1 10) и(х) - jsin(x - t)u(t)dt = Y; 0 1 + x X 11) u{x) + jcos X e~^x~^u(t)dt - e~x cos x; 0 X 12) u(x) + J(jc - t)u(t)dt - 4ex + 3x - 4; 0 X 13) u{x) - J(x - t)u(t)dt = X -1; 0 1 XC 7 14) u(x) — J(x -1) u(t)dt = sinx; 2 о X 15) u(x) - J((x -1)2 — (jc — t))u(t)dt -1.
Список літератури 1. Бахвалов Н.С., Лапин A.B., Чижонков E.B. Численные методы в задачах и упражнениях. - М.: Высшая школа, 2000. - 190 с. 2. Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы. - М.: Наука, 1987.-598 с. 3. Березин Н.С., Жидков Н.П. Методы вычислений: В 2 т. - М.: Наука, 1966. - Т. 1. - 632 с.; Т.2. -620 с. 4. Бурківська В.Л., Войцехівський С.О., Гаврилюк І.П. та ін. Методи обчислень: Практикум на ЕОМ. - K.: Вища школа, 1995. - 303 с. 5. Вержбицкий В.М. Основы численных методов. - М.: Высшая школа, 2002. - 840 с. 6. Гаврилюк 1.П., Макаров В.Л. Методи обчислень: У 2 ч. - К.: Вища школа, 1995.-Ч. 1.-376 с.; Ч. 2.-431 с. 7. Демидович Б.П., Марон КА. Основы вычислительной математики. - М.: Наука, 1970.-660 с. 8. Дудикевич А.Т., Левицька С.М., Шахно С.М. Практична реалізація методів розв’язування нелінійних рівнянь і систем. - Львів: ВЦ ЛНУ ім. І. Франка, 2007. - 78 с. 9. Дэннис Дж., мл., Шнабель Р. Численные методы безусловной оптимизации и решения нелинейных уравнений. - М.: Мир, 1988. - 440 с. 10. Ильин В.А., Позняк Э.Г Линейная алгебра. - М.: Наука, 1984. - 304 с. 11. Калиткин H.H. Численные методы. - М.: Наука, 1978. - 512 с. 12. Крылов В.И., Бобков В.В., Монастырный П.И. Вычислительные методы высшей математики / Под ред. И.П. Мысовских В 2 т. - Минск : Вышейш. школа, 1972. - Т. 1.; - 1975. - Т. 2. 13. Канторович Л.В., Акилов Г.П. Функциональный анализ. - М.: Наука, 1977.-742 с. 14. Крылов И.И., Бобков В.В., Монастырный П.И. Начала теории вычислительных методов. Линейная алгебра и нелинейные уравнения. - Минск: Наука и техника, 1985. 15. Крылов В.И., Бобков В.В., Монастырный П.И. Начала теории вычислительных методов. Интерполирование и интегрирование. - Минск: Наука и техника, 1983. - 287 с. 16. Ляшенко М. Я., Головань М.С. Чисельні методи. - K.: Либідь, 1996. - 288 с. 17. Молчанов И.Н. Машинные методы решения прикладных задач. Алгебра, приближение функций. - Киев: Наук, думка, 1987. - 288 с. 18. Парлетт Б. Симметричная проблема собственных значений. - М.: Мир, 1983.-382 с. 19. Положий Г.И., Пахарева И.А., Степаненко И.З. и др. Математический практикум. - М.: Физматгиз, 1960. - 328 с. 20. Самарский A.A. Теория разностных схем. - М.: Наука, 1983. - 616 с. 21. Самарский A.A., Гулин A.B. Численные методы. - М.: Наука, 1989. - 432 с. 430
22. Сборник задач по методам вычислений / Азаров А.И., Басик В.А., Мелешко И.Н. и др.; Под ред. П.И. Монастырного. - М.: Наука, 1983. - 287 с. 23. Уилкинсон Дж., Райнш К. Справочник алгоритмов на языке АЛГОЛ. Линейная алгебра. - М.: Машиностроение, 1976. - 389 с. 24. Уилкинсон Дж. X. Алгебраическая проблема собственных значений. - М.: Наука, 1970.-564 с. 25. Фаддеев Д.К., Фаддеева В.Н. Вычислительные методы линейной алгебры. - М.: Физматгиз, 1963. - 734 с. 26. Форсайт Дж., Малькольм М., Моулер К. Численное решение систем линейных алгебраических уравнений. - М.: Мир, 1969. - 168 с. 27. Хейгеман П., Янг Д. Прикладные итерационные методы. - М.: Мир, 1986.- 448 с. 28. Химич А.Н., Молчанов И.Н., Попов А.В., Чистяков Т.В., Яковлев М.Ф. Параллельные алгоритмы решения задач вычислительной математики. - Киев: Наук, думка, 2008. - 248 с. 29. Цегелик Г.Г Чисельні методи. - Львів: ВЦ ЛНУ ім. I. Франка, 2004. - 408 с. 30. Шахно С.М. Чисельні методи лінійної алгебри. - Львів: ВЦ ЛНУ ім. І. Франка, 2007. - 245 с. 31. Шахно С.М., Дудикевич А.Т., Левицька С.М. Практична реалізація чисельних методів лінійної алгебри. - Львів: ВЦ ЛНУ ім. І. Франка, 2009.- 144 с. 32. Kelley С. Iterative Methods for Linear and Nonlinear Equations. - Philadelphia: SIAM Publications, 1995. - 166 p. 33. More J.J., Garbow B.S. and Hillstrom K.E. Testing Unconstraineed Optimition Soltware // ACM Transaction on Mathematical Sowtware. — 1981.-Vol. 7. № 1.-PP. 17-41. 34. Quarteroni A., Sacco R., Saleri F. Numerical Mathematics. - New York Berlin Heidelberg: Springer, 2000. - 655 p. 431
Навчальне видання ШАХНО Степан Михайлович ДУДИКЕВИЧ Анна Теодорівна ЛЕВИЦЬКА Софія Михайлівна ПРАКТИКУМ З ЧИСЕЛЬНИХ МЕТОДІВ Навчальний посібник Рекомендовано Міністерством освіти і науки, молоді та спорту Редактор М.М. Мартиняк Технічний редактор С.З. Сеник Коректор Ю. Р. Гпиняна Комп’ютерне верстання Л.М. Семенович Формат 60*901/іб. Умовн. друк. арк. 28,37. Тираж 300 прим. Зам. Львівський національний університет імені Івана Франка, вул. Університетська, 1, м. Львів, 79000 Свідоцтво про внесення суб’єкта видавничої справи до Державного реєстру видавців, виготівників і розповсюджувачів видавничої продукції. Серія ДК № 3059 від 13.12.2007 р. Видрукувано з готових діапозитивів у книжковій друкарні “Коло” вул. Бориславська, 8, м. Дрогобич, Львівська обл., 82100 Свідоцтво про внесення суб’єкта видавничої справи до Державного реєстру видавців, виготівників і розповсюджувачів видавничої продукції. Серії ДК № 498 від 20.06.2001 р. 432