МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ ЧИСЕЛЬНІ МЕТОДИ: ПОСІБНИК для студентів інженерно-технічних спеціальностей освітньо-кваліфікаційного рівня "бакалавр" Затверджено на засіданні кафедри прикладної математики, протокол № 11 від «11» червня 2015р., та Черкаси ЧДТУ 2015 УДК 519.6(075.8) ББК 22.193я73 Укладачі: Мірошкіна Ірина Володимирівна, к.т.н., доцент Палагіна Олена Анатоліївна, к.т.н., доцент Рецензент Тимченко А.А., д.т.н., професор Чисельні методи: посібник для студентів інженерно-технічних спеціальностей освітньо-кваліфікаційного рівня "бакалавр" / Укл. І. В. Мірошкіна, О. А. Палагіна; М-во освіти і науки України, Черкас. держ. технол. ун-т. – Черкаси: ЧДТУ, 2015. – 116 с. Навчальне видання ЧИСЕЛЬНІ МЕТОДИ: ПОСІБНИК для студентів інженерно-технічних спеціальностей освітньо-кваліфікаційного рівня "бакалавр" 2 Вступ Розвиток комп’ютерної техніки призвів до кардинальних перетворень в науці і математиці особливо, надавши дослідникам ефективний засіб для математичного моделювання. Змінилася технологія наукових досліджень, збільшилася можливість проектування і прогнозування складних процесів та об’єктів. Сучасні математичні моделі не обмежуються лише проблемою знаходження закономірностей, а також потребують розробки потужних методів їхньої реалізації. Реалізація математичної моделі – це, перед усім, розробка ефективних алгоритмів із залученням чисельних методів. Чисельні методи – це потужний інструмент в руках сучасного інженера. Тому курс з чисельних методів включений до циклу нормативних дисциплін освітньо-професійної програми підготовки бакалаврів більшості інженерних напрямів підготовки. Даний посібник спрямований на набуття студентами практичних навичок застосування чисельних методів при розв’язанні різних задач в інженерній практиці і охоплює основні розділи дисциплін, що передбачають ознайомлення з чисельними методами. В посібнику розглядається дванадцять тем, для кожної з яких приведені стислі теоретичні відомості, розв’язані приклади та приведені типові завдання для самостійного опрацювання під час аудиторних занять або виконання домашнього завдання. Посібник призначений для студентів інженерно-технічних спеціальностей усіх форм навчання. 3 ТЕМА 1. Прямі методи розв’язування систем лінійних алгебраїчних рівнянь Лiтература: [1], пп. 5.1-5.6; [3], §§2.1-2.7; [4], §§1.1-1.5; [5], пп. 1.1.1-1.1.3; [6], гол. 3 ТЕОРЕТИЧНІ ВІДОМОСТІ Система лінійних алгебраїчних рівнянь із n-невідомими має вигляд: a11 x1 a12 x2 ... a1n xn b1 , a21 x1 a22 x2 ... a2 n xn b2 , , ............................................... an1 x1 an 2 x2 ... ann xn bn або в компактному вигляді n aij x j bi , i 1,2,..., n. (1) (2) j 1 В матричній формі запишемо систему так: (3) Ax b , a11 a12 ... a1n b1 a де A 21 a22 ... a2 n - матриця коефіцієнтів системи; b b2 - вектор ... ... ... ... ... bn an1 an 2 ... ann x1 вільних членів; x x2 - вектор невідомих. ... xn Система (1) буде мати єдиний розв’язок, якщо матриця А не вироджена, тобто det A 0 . Чисельні методи розв’язування СЛАР діляться на дві групи: прямі та ітераційні. Прямі методи дозволяють за скінчену кількість дій отримати точний розв’язок x системи (1), якщо елементи матриці А і вектор вільних членів b задано точно, і обчислення проводяться без округлень. Ітераційні методи дозволяють знайти наближений розв’язок шляхом побудови послідовності наближень (ітерацій), починаючи з деякого довільного наближення. Вибір методу розв’язування СЛАР залежить: від властивостей матриці А; від кількості рівнянь; від характеристик комп’ютера (швидкодії, розрядної сітки, об’єму оперативної пам’яті). 4 Прямі методи використовуються для розв’язування систем невеликої вимірності ( n 5 10 ). Ітераційні методи використовують зазвичай для систем великої вимірності ( n 100 ), коли використання прямих методів є недоцільним через необхідність виконувати занадто велику кількість арифметичних операцій. Метод Гауса є най розповсюдженим прямим методом розв’язування систем лінійних алгебраїчних рівнянь. Ідея методу полягає у зведенні матриці коефіцієнтів системи A до трикутного вигляду, що досягається послідовним вилученням невідомих із рівнянь системи. Отримується еквівалентна система: x1 c12 x2 ... c1n xn d1 , x2 ... c2 n xn d 2 , (4) , ....................................... xn d n або в матричній формі запису: Cx d . Зведення системи (1) до еквівалентної (4) називається прямим ходом метода Гауса, а розв’язування системи (4), тобто послідовне визначення невідомих, зворотним ходом метода Гауса. Прямий хід можна реалізувати за двома схемами. Схема єдиного ділення. Послідовно з системи (1) вилучаються невідомі x1, x2, …, xi, …, xn-1. Для вилучення i-ой невідомої з рівнянь системи з номерами i+1, i+2,…, n розділимо і-те рівняння на коефіцієнт aii . Потім від кожного i+1, і+2,…, n рівняння будемо віднімати і-те рівняння, помножене на відповідні коефіцієнти ai 1, i , ai 2, i , …, an, i : ckj ( k 1) akj bk( k 1) a1 j akk akk a11 ; dk ( k 1) ; c1 j ( k 1) ; d1 b1 ; a11 k 1,2,...,n крок перетворення; i,j k 1, k 2,...,n. Зворотний хід відбувається за формулами: xn d n ; xn 1 d n 1 cn 1, n xn ; xi d i n cij x j ; (5) (6) i n, n 1,..., 1. j i 1 Схему вибору головного елемента доцільно використовувати, якщо матриця коефіцієнтів розріджена нулями, або діагональні елементи матриці є малими величинами. Серед елементів матриці головний - найбільший по модулю: 5 a11 a12 ... a1q ... a1n ... ... ... ... ... ... A a p1 a p 2 ... a pq ... a pn a pq max aij . i, j ... ... ... ... ... ... an1 an 2 ... anq ... ann Шляхом перестановок рядків та стовпців матриці А головний елемент виводять на місце елемента a11 , запам’ятовуючи при цьому порядок наступності невідомих у вектору m : a pq a p 2 ... a p1 ... a pn ... ... ... ... ... ... A a1q a12 ... a11 ... a1n , m p ... 1 ... n . ... ... ... ... ... ... anq an 2 ... an1 ... ann Далі застосовуємо алгоритм схеми єдиного ділення. На другому кроці, головний елемент шукається вже серед елементів 2, 3, …, n-ого рядків. І так далі. Дії продовжуємо до тих пір, доки не будуть вилучені всі невідомі з системи. Зворотний хід проводиться за формулами (6), порядок знаходження невідо мих буде визначатися компонентами вектора m , записаними у зворотному порядку. На практиці при розрахунках користуються розширеною матрицею коефіці єнтів системи, яку отримують із матриці A, доповнюючи її справа вектором b . Якщо всі головні мінори матриці коефіцієнтів А системи (1) відмінні від нуля, то існують такі нижня L і верхня U трикутні матриці, що A=LU. Якщо елементи діагоналі однієї з матриць L або U фіксовані (ненульові), то таке розкладання буде єдиним. Метод LU-розкладання. Даний метод є модифікацією методу Гаусса. LUрозкладання – це представлення матриці А добутком двох матриць: A=LU, (7) 1 0 ... 0 lij , при i j l 1 ... 0 де L 21 lij 1, при i j - нижня трикутна матриця з фіксо, ... ... ... ... 0, при i j ln1 ln1 ... 1 ваними діагональними елементами; u11 u12 ... u1n uij , при i j 0 u 22 ... u 2 n - верхня трикутна матриця. u U ij ... ... ... ... , 0 , при i j 0 ... u nn 0 Отримаємо формули для розкладання матриці А. Утворимо матрицю М(1): 6 0 0 ... 0 1 m (1) 1 0 ... 0 21 a (1) (1) M (1) m31 0 1 ... 0 , де mi1 i1 (i=2,…,n). a11 ... ... ... ... 0 m (1) 0 0 ... 1 n1 Помножимо матрицю А зліва на М(1), отримаємо матрицю А(1): a11 a12 a13 ... a1n (1) (1) (1) 0 a a ... a 22 23 2n M (1) A A(1) 0 a (1) a (1) ... a (1) . 32 33 3n ... ... ... ... 0 (1) (1) (1) 0 a a ... a nn n2 n3 З якої утворимо матрицю М(2): 0 0 ... 0 1 0 1 0 ... 0 ai(21) ( 2 ) ( 2) ( 2 ) M 0 m32 1 ... 0 , де mi 2 (i=3,…,n). (1) a 22 ... ...( 2) ... ... 0 0 m 0 ... 1 n2 Помножимо матрицю А(1) зліва на М(2), отримаємо матрицю А(2): a11 a12 a13 ... a1n (1) (1) (1) 0 a a ... a 22 23 2n ( 2) ( 2) . M (1) A(1) A( 2) 0 0 a33 ... a3n ... ... ... ... 0 ( 2) 0 an( 23) ... ann 0 (n-1) І так далі. Остання буде матриця М : 0 0 1 0 0 ... 0 1 0 ... 0 0 an( n,n21) ( n 1) ( n 1 ) 0 0 , де mn,n1 M 0 0 1 ... . ... ... ... ... 1 0 an( n1,2n)1 ( n 1) 0 0 0 ... mn,n1 1 Тоді матриця А(n-1) буде верхньою трикутною матрицею: a1n a11 a12 a13 ... a1n 1 (1) (1) (1) (1) 0 a a ... a a 22 23 2 n 1 2n ( 2) ( 2) ( 2) , тобто матрицею U. M ( n 1) A( n 2) A( n 1) 0 0 a33 ... a3n 1 a3n ... ... ... ... ... ... ( n 1) 0 0 ... 0 ann 0 Таким чином U M (n1) M (n2) ... M (2) M (1) A , а нижня трикутна матриця L отримується з ненульових стовпців матриць M (1) ,M ( 2) ,..., M ( n 2) , M ( n 1) : 7 0 0 1 m(1) 1 0 21 (1) ( 2) L m31 m31 1 ... ... ... m(1) m( 2) m(3) n1 n1 n1 ... 0 ... 0 ... 0 ... 1 ... mn( n, n11) 0 0 0 , або L (M ( n1) M ( n2) ... M ( 2) M (1) ) 1 . 0 1 Якщо матриця А системи (1) розкладена на добуток трикутних матриць L i U, то замість системи (3) можемо записати еквівалентне рівняння: (8) L U x b . y1 y2 Введемо допоміжний вектор змінних y U x ., тоді перепишемо ... y n L y b , систему (8) у вигляді Таким чином, розв’язування системи (1) звелося U x y. до послідовного розв’язання двох трикутних систем. Запишемо перше рівняння Ly b у розгорнутій формі: y1 b1, l y y b , 21 1 2 2 (9) .......... .......... .......... ln1 y1 ln 2 y2 ... ln, n 1 yn 1 yn bn . Звідки знаходимо значення компонент вектора y шляхом прямих підстановок: y1 b1, y b l y , 2 2 21 1 (10) .......... .......... .......... yn bn ln1 y1 ln 2 y2 ... ln, n 1 yn 1. Розгорнемо тепер друге рівняння Ux y : u11 x1 u12 x2 ... u1n xn y1 , u22 x2 ... u2 n xn y2 , (11) .......... .......... .... unn xn yn . Звідки знайдемо значення невідомих у зворотному порядку: 8 yn x , n unn yn 1 un 1, n xn x , n 1 un 1, n 1 (12) ........................ n y1 u1, k xk x k 2 . 1 u11 Метод прогонки є частковим випадком методу Гауса і застосовується для розв’язання СЛАР з тридіагональними матрицями коефіцієнтів: b1 x1 c1 x2 d1 , a2 x1 b2 x2 c2 x3 d 2 , a3 x2 b3 x3 c3 x4 d 3 , .......................................................................... (13) ai xi 1 bi xi ci xi 1 d i , .......................................................................... an xn 1 bn xn d n . Тридіагональна матриця - це матриця, яка має ненульові елементи лише на головній діагоналі, на діагоналі під нею та на діагоналі над нею: b1 c1 0 ... 0 0 a b c ... 0 0 2 2 2 0 a b ... 0 0 . 3 3 A ... ... ... ... ... ... ... ... ... ... ... ... 0 0 0 ... a n bn Як правило, при обчисленнях тридіагональні матриці зберігають в пам’яті b1 c1 0 b a 2 2 c2 комп’ютера у вигляді трьох векторів: a a3 , b b3 і c c3 . ... ... ... b a n 0 n За методом прогонки спочатку визначають прогоночні коефіцієнти: сi d ai i 1 i , i i , i 1, n , 0 0 0 . (14) ai i 1 bi ai i 1 bi Потім шукають розв’язок системи у зворотному порядку за формулою: xn n , xi i xi 1 i , i n 1, 1 . (15) 9 ЗАВДАННЯ 1. Методом Гауса за схемами єдиного ділення та вибору головного елемента, методом LU-розкладання розв’язати СЛАР. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 4,4 x1 2,5 x2 19,2 x3 10,8 x4 4,3 5,5 x1 9,3x2 14,2 x3 13,2 x4 6,8 7,1x 11,5 x 5,3x 6,7 x 1,8 14,21x 23,42x 8,83x 5,34x 7,2 1 2 3 4 5,7 x1 7,8 x 2 5,6 x3 8,3x 4 2,7 6,6 x1 13,1x 2 6,3x3 4,3x 4 5,5 14,7 x 2,8 x 5,6 x 12,1x 8,6 8,5 x 1 12,7 x 2 23,7 3x 5,7 x4 14,7 1 2 3 4 15,7 x1 6,6 x 2 5,7 x3 1,5 x 4 2,4 8,8 x1 6,7 x 2 5,5 x3 4,5 x 4 5,6 6,3x 5,7 x 23,4 x 6,6 x 7,7 14,3x1 8,7 x2 15,7 x3 5,8 x4 23,4 1 2 3 4 14,4 x1 5,3x 2 14,3x3 12,7 x 4 14,7 23,4 x1 14,2 x 2 5,4 x3 2,1x 4 6,6 6,3x 13,2 x 6,5 x 14,3x 9,4 5,6 x1 8,8 x 2 6,7 x 3 23,8 x 4 7,3 1 2 3 4 1,7 x1 1,8 x 2 1,9 x3 57,4 x 4 10 1,1x1 4,3x 2 1,5 x3 1,7 x 4 19 1,2 x 1,4 x 1,6 x 1,8 x 20 7,1x1 1,3x 2 4,1x 3 5,2 x4 10 1 2 3 4 8,2 x1 3,2 x 2 14,2 x3 14,8 x 4 8,4 5,6 x1 12x 2 15x3 6,4 x 4 4,5 5,7 x 3,6 x 12,4 x 2,3x 3,3 6,8 x1 13,2 x2 6,3x 3 8,7 x 4 14,3 1 2 3 4 3,8 x1 14,2 x 2 6,3x3 15,5 x 4 2,8 8,3x1 6,6 x 2 5,8 x3 12,2 x 4 4,7 6,4 x 8,5 x 4,3x 8,8 x 7,7 17,1x1 8,3x2 14,43x 7,24x 13,5 1 2 3 4 4,3x1 12,1x 2 23,2 x3 14,1x 4 15,5 2,4 x1 4,4 x 2 3,5 x3 5,5 x 4 2,5 5,4 x 8,3x 7,4 x 12,7 x 8,6 6,3x1 7,6 x2 1,34x3 3,7 x 4 12,1 1 2 3 4 1,7 x1 10x 2 1,3x3 2,1x 4 3,1 3,1x1 1,7 x 2 2,1x3 5,4 x 4 2,1 3,3x 7,7 x 4,4 x 5,1x 1,9 10x 1 20,1x2 20,43x 1,74x 1,8 2 3 4 1 6,1x1 6,2 x 2 6,3x3 6,4 x 4 6,5 1,1x1 1,5 x 2 2,2 x3 3,8 x 4 4,2 5,1x 5,0 x 4,9 x 4,8 x 4,7 1,8 x1 1,9 x 2 2,0 x 3 2,1x 4 2,2 2 3 4 1 2,2 x1 3,1x 2 4,2 x3 5,1x 4 6,01 1,3x1 2,2 x 2 1,4 x3 1,5 x 4 10 6,2 x 7,4 x 8,5 x 9,6 x 1,1 1,2 x 1 1,3x 2 1,4 x 3 4,5 x 4 1,6 1 2 3 4 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 10 30,1x1 1,4 x 2 10x3 1,5 x 4 10 17,5 x1 11,1x 2 1,3x3 7,5 x 4 1,3 1,7 x 21,1x 7,1x 17,1x 10 2,1x1 2,1x 2 3,5 x 3 3,3x 4 1,7 1 2 3 4 7,3x1 8,1x 2 12,7 x3 6,7 x 4 8,8 11,5 x1 6,2 x 2 8,3x3 9,2 x 4 21,5 8,2 x 5,4 x 4,3x 2,5 x 6,2 2,4 x1 11,5 x2 3,3x3 14,24x 6,2 1 2 3 4 4,8 x1 12,5 x2 6,3x3 9,7 x4 3,5 22x1 31,7 x2 12,4 x3 8,7 x4 4,6 15x 21,1x 4,5 x 14,4 x 15 8,6 x1 14,4 x2 6,23x 2,8 x4 1,2 1 2 3 4 6,4 x1 7,2 x 2 8,3x3 4,2 x 4 2,23 5,8 x1 8,3x 2 14,3x3 6,2 x 4 17,1 8,6 x 7,7 x 18,3x 8,8 x 5,4 13,21x 5,2 x2 6,5 x3 12,2 4x 6,5 1 2 3 4 14,2 x1 3,2 x 2 4,2 x3 8,5 x 4 13,2 6,3x1 4,3x 2 12,7 x3 5,8 x 4 4,4 8,4 x 22,3x 5,2 x 4,7 x 6,4 2,7 x1 13,7 x 2 6,4 x3 12,7 x4 8,5 1 2 3 4 7,3x1 12,4 x 2 3,8 x3 14,3x 4 5,8 10,7 x1 7,7 x 2 12,5 x3 6,6 x 4 6,6 15,6 x 6,6 x 14,4 x 8,7 x 12,4 7,5 x 1 12,2 x 2 8,3x 3 3,7 x 4 9,2 1 2 3 4 13,2 x1 8,3x 2 4,4 x3 6,2 x 4 6,8 8,3x1 4,2 x 2 5,6 x3 7,7 x 4 12,4 5,8 x 3,7 x 12,4 x 6,2 x 8,7 3,5 x1 6,6 x2 13,8 x 3 9,3x 4 10,8 1 2 3 4 8,1x1 1,2 x 2 9,1x3 1,7 x 4 10 1,1x1 1,7 x 2 7,2 x3 3,4 x 4 1,7 1,7 x 1,8 x 10x 2,3x 2,1 1,3x1 1,7 x2 9,9 x3 3,5 x4 27,1 2 3 4 1 3,3x1 2,2 x 2 10x3 1,7 x 4 1,1 1,8 x1 21,1x 2 1,3x3 2,2 x 4 2,2 10x 1,1x 20x 4,5 x 10 70x 1 1,7 x 2 2,2 x 3 3,3x 4 2,1 2 3 4 1 1,7 x1 9,9 x 2 20x3 1,7 x 4 1,7 20x1 0,5 x 2 30,1x3 1,1x 4 2,1 10x 20x 30,2 x 0,5 x 1,8 3,3x1 0,7 x2 3,3x 3 20x 4 1,7 1 2 3 4 1,7 x1 1,3x 2 1,1x3 1,2 x 4 2,2 10x1 10x 2 1,3x3 1,3x 4 1,1 3,5 x 3,3x 1,2 x 1,3x 1,2 1,3x 1 1,1x 2 1,3x 3 1,1x 4 10 2 3 4 1 12. 13. 14. 15. 35,8 x1 2,1x 2 34,5 x3 11,8 x 4 0,5 27,1x1 7,5 x 2 11,7 x3 23,5 x 4 12,8 11,7 x 1,8 x 6,5 x 7,1x 1,7 6,3x 1 10x 2 7,1x 3 3,4 x 4 20,8 1 2 3 4 35,1x1 1,7 x 2 37,5 x3 2,8 x 4 7,5 45,2 x1 21,1x 2 1,1x3 1,2 x 4 11,1 21,1x 31,7 x 1,2 x 1,5 x 2,1 31,7 x 1 18,1x 2 31,7 x 3 2,2 x4 0,5 1 2 3 4 1,1x1 11,2 x 2 11,1x3 13,1x 4 1,3 3,3x1 1,1x 2 30,1x3 20,1x 4 1,1 7,5 x 1,3x 1,1x 10x 20 1,7 x 1 7,5 x2 1,8 x3 2,1x4 1,1 1 2 3 4 7,5 x1 1,8 x 2 2,1x3 7,7 x 4 1,1 10x1 1,3x 2 20x3 1,4 x 4 1,5 2,8 x 1,7 x 3,9 x 4,8 x 1,2 10x 1 31,4 x2 2,1x3 10x 4 1,1 2 3 4 1 27. 28. 29. 30. 1,1x1 11,3x 2 1,7 x3 1,8 x 4 10 1,3x1 11,7 x 2 1,8 x3 1,4 x 4 1,3 1,1x 10,5 x 1,7 x 1,5 x 1,1 1,5 x1 0,5 x 2 1,8 x 3 1,1x 4 10 2 3 4 1 1,4 x1 2,1x 2 3,3x3 1,1x 4 10 10x1 1,7 x 2 1,1x3 1,5 x 4 1,7 2,2 x 34,4 x 1,1x 1,2 x 20 1,1x 1 1,3x 21,2 x 3 1,4 x 4 1,3 2 3 4 1 1,3x1 1,7 x 2 3,3x3 1,7 x 4 1,1 10x1 5,5 x 2 1,3x3 3,4 x 4 1,3 1,1x 1,8 x 2,2 x 1,1x 10 1,3x1 1,2 x2 2,1x3 2,2 x4 1,8 2 3 4 1 1,2 x1 1,8 x 2 2,2 x3 4,1x 4 1,3 10x1 5,1x 2 1,2 x3 5,5 x 4 1,2 2,2 x 30,1x 3,1x 5,8 x 10 10x 1 2,4 x 2 30,5 x3 2,2 x4 34,1 2 3 4 1 2. Методом прогонки розв’язати СЛАР з тридіагональною матрицею коефіцієнтів: 1. 2. 3. 4. 11x1 9 x 2 122, 5 x1 15x2 2 x3 48, 8 x 2 11x3 3 x4 14, 6 x3 15x4 4 x5 50, 3 x4 6 x5 42. 13x1 5 x 2 66, 4 x1 9 x 2 5 x3 47, x 2 12x3 6 x 4 43, 6 x3 20x 4 5 x5 74, 4 x 4 5 x5 14. 8 x1 4 x 2 48, 5 x1 22 x 2 8 x3 125, 5 x 2 11x3 x 4 43, 9 x3 15x 4 x5 18, x 4 7 x5 23. 15x1 8 x 2 92, 2 x1 15x 2 4 x3 84, 4 x 2 11x3 5 x 4 77, 3 x3 16 x 4 7 x5 15, 3 x 4 8 x5 11. 16. 17. 18. 19. 10x1 5 x 2 120, 3 x1 10 x 2 2 x3 91, 2 x 2 9 x3 5 x 4 5, 5 x3 16x 4 4 x5 74, 8 x 4 16 x5 56. 14 x1 6 x 2 78, 9 x1 15x 2 x3 73, x 2 11x3 x 4 38, 7 x3 12 x 4 3 x5 77, 6 x 4 7 x5 91. 6 x1 5 x 2 58, 6 x1 16 x 2 9 x3 161, 9 x 2 17 x3 3 x 4 114, 8 x3 22x 4 8 x5 90, 6 x 4 13x5 55. 11x1 8 x 2 99, 9 x1 17 x 2 x3 75, 4 x 2 20x3 9 x 4 66, 4 x3 14x 4 3x5 54, 6 x 4 14x5 8. 8 x1 4 x 2 32, 2 x1 12 x 2 7 x3 15, 5. 2 x 2 9 x3 x 4 10, 8 x3 17 x 4 4 x5 133, 7 x 4 13x5 76. 16x1 9 x 2 27, 8 x1 13x 2 5 x3 84, 20. 3 x 2 21x3 9 x 4 225, 9 x3 16x 4 5 x5 89, x 4 9 x5 69. 10x1 9 x 2 7, 5 x1 21x 2 8 x3 29, 6. 7 x 2 12x3 2 x 4 31, 8 x 4 2 x5 56, 2 x 4 10x5 24. 11x1 9 x 2 114, x1 8 x 2 x3 81, 21. 2 x 2 11x3 5 x 4 8, 3 x3 14 x 4 7 x5 38, 8 x 4 10x5 144. 11 7. 8. 9. 10. 14x1 9 x 2 125, 8 x1 14x 2 6 x3 56, 5 x 2 17 x3 8 x 4 144, x3 5 x 4 2 x5 36, 4 x 4 10x5 70. 16x1 8 x 2 0, 7 x1 16 x 2 5 x3 123, 4 x 2 12x3 3 x 4 68, 4 x3 12 x 4 7 x5 104, x 4 7 x5 20. 6 x1 5 x 2 51, x1 13x 2 6 x3 100, 9 x 2 15x3 4 x 4 12, x3 7 x 4 x5 47, 9 x 4 18x5 90. 10x1 x 2 16, 8 x1 16x 2 x3 110, 6 x 2 16x3 6 x 4 24, 8 x3 16x 4 5 x5 3, 5 x 4 13x5 87. 22. 23. 24. 25. x1 x 2 4 , 7 x1 17 x 2 8 x3 132, 9 x 2 19x3 8 x 4 59, 7 x3 20x 4 4 x5 193, 4 x 4 12x5 40. 18x1 9 x 2 81, 2 x1 9 x 2 4 x3 71, 9 x 2 21x3 8 x 4 39, 4 x3 10x 4 5 x5 64, 7 x 4 12x5 3. 8 x1 2 x 2 14, 7 x1 19 x 2 9 x3 55, 4 x 2 21x3 8 x 4 49, 7 x3 23x 4 9 x5 86, 4 x 4 7 x5 8. 6 x1 6 x 2 30, 2 x1 10 x 2 7 x3 31, 8 x 2 18x3 9 x 4 108, 6 x3 17 x 4 6 x5 114, 9 x 4 14x5 124. 7 x1 2 x 2 65, 3 x1 7 x 2 4 x3 23, 11. 2 x 2 15x3 5 x 4 1, 2 x3 12 x 4 8 x5 58, 3 x 4 10x5 8. 7 x1 6 x 2 75, 6 x1 12x 2 126, 26. 3x 2 5 x3 13, 9 x3 21x 4 8 x5 40, 5 x 4 6 x5 24. 7 x1 5 x 2 38, 6 x1 19x 2 9 x3 14, 12. 6 x 2 18x3 7 x 4 45, 7 x3 11x 4 2 x5 30, 5 x 4 7 x5 48. 11x1 9 x 2 117, 9 x1 17 x 2 6 x3 97, 27. 5 x 2 20 x3 8 x 4 6, 6 x3 20 x 4 7 x5 59, 2 x 4 8 x5 86. 12 x1 5 x 2 148, 3 x1 18x 2 8 x3 45, 13. 2 x 2 16 x3 9 x 4 155, 4 x3 18x 4 7 x5 11, 4 x 4 9 x5 3. 6 x1 3 x 2 33, 6 x1 23x 2 9 x3 107, 14. 2 x 2 7 x3 x 4 18, 4 x3 15x 4 9 x5 69, 5 x 4 11x5 31. 11x1 9 x 2 158, 8 x1 6 x 2 66, 15. 6 x 2 15x3 2 x 4 45, 4 x3 6 x 4 x5 24, 7 x 4 10 x5 1. 12x1 7 x 2 102, 7 x1 11x 2 3x3 92, 28. 7 x 2 21x3 8 x 4 65, 4 x3 13x 4 5 x5 38, 6 x 4 14x5 12. 14x1 6 x 2 82, 2 x1 7 x 2 51, 29. 7 x 2 18x3 9 x 4 46, 2 x3 13x 4 2 x5 111, 7 x 4 7 x5 35. 6 x1 3 x 2 0, 9 x1 17 x 2 3 x3 99, 30. 3 x 2 12 x3 7 x 4 107, 2 x3 9 x 4 6 x5 5, 4 x 4 5 x5 6. 12 ПРИКЛАД РОЗРАХУНКІВ 1. Методом Гауса за схемами єдиного ділення та вибору головного елемента розв’язати СЛАР. 0,11x1 1,13x2 0,17 x3 0,18x4 1,0 0,13x1 1,17 x2 0,18x3 0,14x4 0,13 0,11x 1,05x 0,17 x 0,15x 0,11 0,15x1 0,05x2 0,18x3 0,11x4 1,0 1 2 3 4 Розв’яжемо систему функцією Mathcad Find: ORIGIN 1 0.11 1.13 0.17 0.18 0.13 1.17 0.18 0.14 A 0.11 1.05 0.17 0.15 0.15 0.05 0.18 0.11 Given A x 0 0 x 0 0 1 0.13 b 0.11 1 b 5.722 0.516 Find ( x) 0.496 0.711 Отримаємо розв’язок методом Гауса за схемою єдиного ділення. Формуємо розширену матрицю, додаємо вектор вільних членів стовпцем справа. 0.11 1.13 0.17 0.18 1 0.13 1.17 0.18 0.14 0.13 A 0.11 1.05 0.17 0.15 0.11 0.15 0.05 0.18 0.11 1 Метод Гауса (схема єдиного ділення) Перший крок. Вилучимо з системи невідому x1 . Для цього перше рівняння оголосимо головним і розділимо його на коефіцієнт при x1 - a1,1 . k 1 1 10.273 1.545 1.636 9.091 0.13 1.17 0.18 0.14 0.13 j 5 1 A k j A A 0.11 1.05 0.17 0.15 0.11 k k 0.15 0.05 0.18 0.11 1 Далі від другого рівняння віднімемо головне, помножене на коефіцієнт a2,1 ; від третього A k j рівняння віднімемо головне, помножене на коефіцієнт a3,1 ; від четвертого рівняння віднімемо головне, помножене на коефіцієнт a4,1 . 1 0 i 2 4 j 5 1 A A A A A i j i j i k k j 0 0 Аналогічно вилучимо з системи невідомі x2 , x3 , x4 13 10.273 1.545 1.636 9.091 2.505 0.381 0.073 1.052 2.18 0 0.33 0.89 1.591 0.412 0.355 0.364 (кроки -2, 3 ,4): k 2 i 3 4 k 3 A j 5 2 A j 5 2 k j A i j A A k j k k A A j 5 3 k j A i j k j k k 1 10.273 1.545 1.636 9.091 0 1 0.152 0.029 0.42 A 0 2.18 0 0.33 0.89 0 1.591 0.412 0.355 0.364 1 10.273 1.545 1.636 0 1 0.152 0.029 A A A i k k j 0 0 0.331 0.267 0 0 0.17 0.309 1 10.273 1.545 1.636 9.091 0 1 0.152 0.029 0.42 A 0 0 1 0.805 0.076 0 0 0.17 0.309 0.304 1 10.273 1.545 0 1 0.152 A 0 0 1 0 0 0 9.091 0.42 0.025 0.304 1.636 9.091 i j i j i k k j 0.805 0.076 0.446 0.317 1 10.273 1.545 1.636 9.091 A 0 1 0.152 0.029 0.42 k j k 4 j 5 3 A A k j 0 0 1 0.805 0.076 A k k 0 0 0 1 0.711 Матриця коефіцієнтів системи A зведена до трикутного вигляду. Виконуємо зворотний хід прямими підстановками: спочатку з останнього рівняння визначимо x4 . Потім з третього x3 через x4 ; з другого - x2 через x3 і x4 ; і, нарешті, з першого - x1 через x2 , x3 і x4 : i 4 i 4 j 5 3 x A i A A x A i i 5 Aik xk k 4 Відповідь: A 0.029 0.42 i 5 i 1 i 3 1 A 5.722 0.516 x 0.496 0.711 5.722 0.516 x 0.496 0.711 Метод Гауса (схема вибору головного елемента) Тепер отримаємо розв’язок методом Гауса за схемою вибору головного елемента. Формуємо розширену матрицю, додаємо вектор вільних членів стовпцем справа. Вектор m зберігає порядок наступності невідомих. 0.11 1.13 0.17 0.18 1 1 0.13 1.17 0.18 0.14 0.13 2 A m 0.11 1.05 0.17 0.15 0.11 3 0.15 0.05 0.18 0.11 1 4 Крок перший. В матриці А обираємо найбільший по модулю елемент (останній стовпець не розглядаємо). Найбільший за модулем елемент A2,2=-1.17 . Виводимо його на місце елемента А1,1: k 1 p 2 q 2 14 A for j 1 5 t A A k j A p j 0.13 0.11 A 0.11 0.15 k j A p j t A for i 1 4 t A 0.14 0.13 1.17 0.18 1.05 0.17 0.15 0.11 0.05 0.18 0.11 1 1.17 1.13 A 1.05 0.05 1.13 0.17 0.18 1 0.14 0.13 0.13 0.18 A A i k i q 0.11 0.17 0.15 0.11 A t 0.15 0.18 0.11 1 i q Змінюємо порядок невідомих у векторі m : m i k 0.11 0.17 0.18 1 t m k T m (2 1 3 4) m m k q m t q Далі застосовуємо алгоритм схеми єдиного ділення. 1 1.13 A 1.05 0.05 0.111 0.154 0.12 0.111 j 5 1 A k j 0.11 0.17 0.15 0.11 A k k 0.15 0.18 0.11 1 1 0.111 0.154 0 0.236 0.004 i 2 4 j 5 1 A A A A A i j i j i k k j 0 0.007 0.332 0 0.144 0.172 Наступні кроки виконуємо аналогічно. Найбільший за модулем елемент A3,3=-0,332 тоді A k 2 k j p 3 q 3 0.17 0.18 0.11 1 0.12 0.111 0.315 1.126 0.276 0.007 0.116 0.994 T m (2 1 3 4) A for j 1 5 t A A k j A p j k j A p j t A for i 1 4 t A A A m i k i q i k A t i q 1 0 A 0 0 1 0 A 0 0 0.111 0.154 0.12 0.111 0.007 0.332 0.276 0.007 0.236 0.004 0.315 1.126 0.144 0.172 0.116 0.994 0.154 0.111 0.12 0.111 0.332 0.007 0.276 0.007 0.004 0.236 0.315 1.126 0.172 0.144 0.116 0.994 t m k m m k m t q T m (2 3 1 4) q 15 j 5 1 A A i 3 4 k j A j 5 1 k j k k A i j A i j A 1 0.154 0 1 A 0 0.004 0 0.172 i k A 0.111 0.12 0.111 0.236 0.315 1.126 0.144 0.116 0.994 0.02 p 3 0.02 k j 1 0.154 0.111 0 1 0.02 A 0 0 0.235 0 0 0.141 Найбільший за модулем елемент A3,4=0.312, тоді k 3 0.831 q 4 0.12 0.111 0.312 1.125 0.259 0.991 0.831 0.02 T m (2 3 1 4) A for j 1 5 t A A k j A p j k j A 1 0.154 0 1 A 0 0 0 0 p j t A for i 1 4 t A m A i k A i q i k A 1 0.154 0 1 A 0 0 0 0 i q t 0.831 0.02 0.12 0.111 0.111 0.312 0.235 1.125 0.259 0.141 0.991 0.831 0.02 0.02 k k q T m (2 3 4 1) m t q A j 5 1 A k j j 5 1 A A i j 1 0.154 0.12 0 1 0.831 A 0 0 1 0 0 0.259 k j k k A i j A i k A k j Останній крок: k 4 0.235 0.312 1.125 0.141 0.259 0.991 0.02 t m m m i 4 0.111 0.12 0.111 j 5 1 A A k j A k j k k 0.111 0.111 0.755 3.607 0.141 0.991 0.02 0.02 1 0.154 0.12 0 1 0.831 A 0 0 1 0 0 0 0.111 0.111 0.755 3.607 0.337 1.926 0.02 1 0.154 0.12 0.111 0 1 0.831 0.02 A 0 0 1 0.755 0 0 0 1 0.02 0.111 3.607 5.722 0.02 Матриця коефіцієнтів системи A зведена до трикутного вигляду. Виконуємо зворотний хід прямими підстановками. Результат запишемо в проміжний вектор y : 16 i 4 y A i i 5 i 1 i 3 1 y A i i 5 A y i k k k 4 0.516 0.496 y 0.711 5.722 Змінимо порядок змінних згідно вектору m : T m (2 3 4 1) 5.722 0.516 x 0.496 0.711 x for i 1 4 mi x y i 5.722 0.516 Відповідь: x 0.496 0.711 Метод LU-розкладання Сформуємо матрицю із коефіцієнтів системи: 0.11 1.13 0.17 0.18 0.13 1.17 0.18 0.14 A 0.11 1.05 0.17 0.15 0.15 0.05 0.18 0.11 Формуємо М(1): 1 0 M1 0 0 0 0 0 1 0 0 A 1 0 1 0 A 1.1818 1 1 M1 0 0 1 1 1.3636 (1) Помножимо матрицю А зліва на М , отримаємо матрицю А(1): 0.11 1.13 0.17 0.18 0 2.5055 0.3809 0.0727 A1 A1 M1 A 0 2.18 0 0.33 0 1.5909 0.4118 0.3555 Утворимо матрицю М(2): i 2 4 M1 i 1 i 1 0 0 0 1 0 0 0 1 A1 0 1 0 0 0 1 0 0 i 2 M2 M2 i 3 4 M2 i 2 0 0 1 0 0 0.8701 1 0 A1 2 2 0 0 0 1 0 0.635 0 1 (1) (2) Помножимо матрицю А зліва на М , отримаємо матрицю А(2): A2 M2 A1 0.11 1.13 0 2.5055 A2 0 0 0 0 0.3809 0.0727 0.3314 0.2667 0.1699 0.3093 0.17 0.18 17 0 0 0 1 0 0 0 1 0 0 0 1 Утворимо матрицю М(3): 1 0 M3 0 0 0 0 0 1 0 0 A2 i 4 0 1 0 M3 i 3 A2 0 0 1 0 1 0 1 M2 0 0.8701 0 0.635 i 3 3 3 0 0 0 0 1 0 0 1 Помножимо матрицю А(2) зліва на М(3), отримаємо матрицю А(3), яка буде також матрицею U: 0.11 1.13 0.17 0 2.5055 0.3809 A3 0 0 0.3314 0 0 0 A3 M3 A2 0.18 0.0727 0.2667 0.446 U A3 0.11 1.13 0.17 0.18 0 2.5055 0.3809 0.0727 U 0 0 0.3314 0.2667 0 0 0 0.446 Нижню трикутну матрицю L отримуємо за ненульових стовпців матриць M (1) ,M ( 2) , M (3) (знаки змінюються!): 0 0 0 1 1 0 0 1 1.1818 L ( M3 M2 M1 ) 1 0.8701 1 0 1.3636 0.635 0.5128 1 Виконаємо перевірку отриманого розкладання: 0.11 1.13 0.17 0.18 0.11 1.13 0.17 0.18 0.13 1.17 0.18 0.14 0.13 1.17 0.18 0.14 L U A 0.11 1.05 0.17 0.15 0.11 1.05 0.17 0.15 0.15 0.05 0.18 0.11 0.15 0.05 0.18 0.11 Тепер розв’яжемо систему L y b , яка має вигляд: y1 1,00 1,1818 y y 0,13 1 2 1y1 0,8701 y 2 y3 0,11 1,3636 y1 0,635 y 2 0,5128 y3 y 4 1,00 y b 1 1 y b L y y b L y L y y b L y L y L 2 3 4 2 3 4 2 1 1 3 1 1 4 1 1 3 2 2 4 2 2 y 4 3 3 1 1.0518 y 0.0252 0.3172 18 Розв’яжемо систему U x y : 0,11 x1 1,13 x2 0,17 x3 0,18 x4 1,00 2,5055 x 0,3809 x 0,0727 x 1,0518 2 3 4 0,3314 x3 0,2667 x4 0,0252 0,4460 x4 0,3172 y x 4 4 U y U 4 4 x 3 x 3 4 4 3 U 3 3 y U x 2 2 x U 2 4 4 x 2 3 3 U y U 2 2 x 1 x U 1 4 4 1 U 1 1 5.722 0.516 Відповідь: x 0.496 0.711 x U 1 3 3 x 1 2 2 5.7217 0.5159 x 0.4962 0.7111 2. Методом прогонки розв’язати СЛАР з тридіагональною матрицею коефіцієнтів: 5 x1 x 2 2, 9 x1 15x 2 x3 73, 2 x 2 22x3 8 x 4 90, 6 x3 15x 4 4 x 4 50, x 4 7 x5 23. Розв’яжемо систему функцією Mathcad Find: 5 9 A 0 0 0 1 0 0 15 1 0 2 22 8 0 6 15 0 0 1 0 0 0 x 4 7 0 0 0 0 0 2 73 b 90 50 23 Given 0.7 5.498 Find ( x) 3.175 1.143 3.449 Ax b Метод прогонки Запишемо коефіцієнти системи в окремі вектори (вимірність всіх векторів оберемо однакової n+1=5+1=6, нульові компоненти приймемо рівні нулю): ORIGIN 0 0 0 5 0 9 15 a b 22 c 2 15 6 7 1 0 0 2 1 1 d 73 90 8 50 4 23 0 0 0 0 0 0 0 0 0 0 0 0 0 19 Знайдемо прогоночні коефіцієнти: i 1 5 c i a d a i i i 1 b i i a i i 1 i Знайдемо значення невідомих: 0 0 0 x 0 0 5 i 4 1 x x i 0.7 5.498 Відповідь: x 3.175 1.143 3.449 i i 1 i i i 1 b i 0 0 0.2 0.4 0.076 5.258 0.361 3.588 0.312 2.219 0 3.449 0 0.7 5.498 x 3.175 1.143 3.449 КОНТРОЛЬНІ ПИТАННЯ ДЛЯ САМОПЕРЕВІРКИ 1. 2. 3. 4. 5. 6. 7. 8. На які дві групи поділяються методи розв’язання СЛАР? Сутність методу Гауса? Поясніть поняття "прямий хід" та "обернений хід" методу Гауса. Алгоритм схеми єдиного ділення. Алгоритм схеми повного вибору. Які схеми реалізації прямого ходу вам ще відомі? Алгоритм методу прогонки. Як зберігають в пам’яті комп’ютера при обчисленнях розріджені матриці? 20 ТЕМА 2. Ітераційні методи розв’язування систем лінійних алгебраїчних рівнянь Лiтература: [1], пп. 5.7-5.11; [3], §§2.8-2.10; [4], §1.6; [5], п. 1.1.4; [6], гол. 3 ТЕОРЕТИЧНІ ВІДОМОСТІ Ітераційні методи використовують зазвичай для систем великої вимірності ( n 100 ), коли використання прямих методів є недоцільним через необхідність виконувати занадто велику кількість арифметичних операцій. Прямі методи дозволяють отримати точний розв’язок, але він не може бути досягнутий через накопичення похибок заокруглень при виконанні арифметичних операцій. Отриманий розв’язок може значно відрізнятися від точного. Ітераційними методами в таких випадках отримують розв’язки з більшою точністю ніж прямі. Ітераційні методи передбачають побудову обчислювального (ітераційного) процесу, який дозволяє отримати послідовності наближень (ітерацій) розв’язку СЛАР, починаючи з деякого довільного наближення: x1( 0) x1(1) x1( 2 ) x1( s ) (0) (1) ( 2) (s) x (s) ( 0 ) x (1) x ( 2) x , які збігаються до тоx 2 , x 2 , x 2 , …, x 2 ... ... ... ... x (0) x (1) x ( 2) x (s) n n n n (s) чного lim x x . s Розглянемо систему лінійних алгебраїчних рівнянь із n-невідомими: a11 x1 a12 x2 a13 x3 ... a1n xn b1 , a21 x1 a22 x2 a23 x3 ... a2 n xn b2 , , (16) ............................................... an1 x1 an 2 x2 an3 x3 ... ann xn bn a11 a12 ... a1n b1 a де A 21 a22 ... a2 n - матриця коефіцієнтів системи; b b2 - вектор ... ... ... ... ... bn an1 an 2 ... ann x1 вільних членів; x x2 - вектор невідомих. ... xn Для побудови ітераційного процесу систему (16) приведемо до вигляду: x1 1 11 x1 12 x2 13 x3 ... 1n xn , x2 2 21 x1 22 x2 23 x3 ... 2n xn , x3 3 31 x1 32 x2 23 x3 ... 3n xn , (17) , ...................................................................... xn n n1 x1 n 2 x2 n3 x3 ... n, n 1 xn 1 , 21 або x x . Така система називається зведеною, її можна отримати, наприклад, якщо кожне i-рівняння системи (16) розв’язати відносно змінної xi : a a b a x1 1 12 x2 13 x3 ... 1n xn , a11 a11 a11 a11 a23 a2 n b2 a21 x2 x1 x3 ... xn , a22 a22 a22 a22 b3 a31 a32 a3n x3 x1 x2 ... xn , a33 a33 a33 a33 ...................................................................................... bn an1 an 2 an3 ann 1 xn x1 x2 x3 ... xn 1 , ann ann ann ann ann aij b Тоді: i i ; ij ; i, j 1,2,..., n; i j; якщо i j, то ii 0. (18) aii aii При побудові ітерацій постають питання про початок і кінець процесу обчислень. Будь який ітераційний процес починається з того, що задається початкове наближення. Як правило припускають, що (19) x (0) 0 , або x ( 0) . Так як наближений розв’язок шукається з наперед заданою точністю , то послідовність повинна мати скінчену кількість членів, які отримуються за скінчену кількість ітерацій. Найпростіша умова закінчення ітераційного процесу: (20) max xi( s 1) xi( s ) . 1 i n Тобто, обчислення продовжують до тих пір, доки абсолютна величина різниці між попереднім й наступним наближеннями не стане менше деякої наперед заданої точності : Для дослідження збіжності ітераційного процесу користуються теоремою про достатню умову збіжності: Якщо для зведеної системи (17) будь-яка канонічна норма матриці менше одиниці 1 , то ітераційний процес збігається до єдиного розв’язку цієї системи, незалежно від вибору початкового наближення. Нормою матриці називається дійсне число , що задовольняє певним умовам, найбільш важливі з яких такі: - 0, причому =0 тільки коли - нульова матриця; - с с , де с – дійсне число сR. Норма називається канонічною, якщо ij , тобто вона не менше модуля будь-якого елементу матриці . На практиці зазвичай користуються трьома канонічними нормами: 22 - 1 max ij - додаються за модулем всі рядки матриці і максимаi j льна сума обирається нормою; - 2 max ij - додаються за модулем всі стовпці матриці і максимаj i льна сума обирається нормою; - 3 ij 2 - додаються квадрати всіх елементів матриці і корінь з i, j цієї суми буде нормою. Умова збіжності по відношенню до матриці А початкової системи (16) набуває такого змісту: процес ітерації буде збіжним, якщо модулі діагональних елементів матриці А будуть більші за суму модулів її сторонніх елементів (в рядку або стовпці): aii n j 1, j i aij або a jj n aij (i, j 1,2,..., n) . (21) i 1, i j Виконання цих умов можна досягти, якщо застосувати правила лінійного комбінування рівнянь системи. Метод простої ітерації. Кожне наступне наближення і-ой невідомої xi( s 1) , і=1,2,…, n визначається за допомогою системи рівнянь (11), в яких всі доданки правої частини беруться з попередній s-ітерації: x1( s 1) 1 12 x2 ( s ) 13 x3( s ) ... 1n xn ( s ) , x2 ( s 1) 2 21 x1( s ) 23 x3( s ) ... 2 n xn ( s ) , (22) x3( s 1) 3 31 x1( s ) 32 x2 ( s ) ... 3n x n ( s ) , ...................................................................... ( s 1) (s) (s) (s) (s) xn n n1 x1 n 2 x2 n3 x3 ... n, n 1 xn 1 . Або система (10) в компактній формі: xi( s 1) i n ij x (js ) ; i 1,2,..., n; s 0,1,2,... j 1 j i (23) Метод Зейделя являє собою деяку модифікацію метода простої ітерації. А саме, при обчисленні (s+1)-ого наближення невідомої x i враховуються вже обчислені раніше значення невідомих на поточній ітерації x1( s 1) , x2( s 1) ,..., xi(s11) : x1( s 1) 1 12 x2 ( s ) 13 x3( s ) ... 1n xn ( s ) , x2 ( s 1) 2 21 x1( s 1) 23 x3( s ) ... 2 n xn ( s ) , x3( s 1) 3 31 x1( s 1) 32 x2 ( s 1) ... 3n x n ( s ) , ...................................................................... ( s 1) ( s 1) ( s 1) ( s 1) ( s 1) xn n n1 x1 n 2 x2 n3 x3 ... n, n 1 xn 1 . 23 (24) або xi( s 1) i i 1 ij x (js 1) j 1 n ij x (js ) ; i 1,2,..., n; s 0,1,2,... j i 1 (25) ЗАВДАННЯ 1. Розв’язати СЛАР методами простої ітерації та Зейделя з точністю 0,001. Порівняти швидкість збіжності обох методів. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. x1 1,24 0,04x2 0,21x3 0,18x4 x2 0,88 0,45x1 0,23x3 0,06x4 x 0,62 0,26x 0,34x 0,11x x3 1,17 0,051x 0,26x2 0,344x 1 2 3 4 x1 0,64 0,12x2 0,34x3 0,16x4 x2 1,42 0,34x1 0,17 x3 0,18x4 x 0,42 0,16x 0,34x 0,31x x3 0,83 0,12x 1 0,26x 2 0,08x 4 1 2 3 4 x1 1,83 0,18x2 0,02x3 0,21x4 x2 0,65 0,16x1 0,14x3 0,27 x4 x 2,23 0,37x 0,27 x 0,24x x3 1,13 0,12x1 0,21x2 0,18x4 1 2 3 4 x1 0,04 0,42x2 0,32x3 0,03x4 x2 1,42 0,11x1 0,26x3 0,36x4 x 0,83 0,12x 0,08x 0,24x x3 1,42 0,15x1 0,35x2 0,18x 4 1 2 3 4 x1 1,33 0,34x2 0,12x3 0,15x4 x2 0,84 0,11x1 0,15x3 0,32x4 x 1,16 0,05x 0,12x 0,18x x3 0,57 0,12x 1 0,08x 2 0,06x 4 1 2 3 4 x1 2,13 0,23x2 0,44x3 0,05x4 x2 0,18 0,24x1 0,31x3 0,15x4 x 1,44 0,06x 0,15x 0,23x x3 2,42 0,72x1 0,08x2 0,05x4 1 2 3 4 x1 1,71 0,31x2 0,18x3 0,22x4 x2 0,62 0,21x1 0,33x3 0,22x4 x 0,89 0,32x 0,18x 0,19x x3 0,94 0,12x 1 0,28x 2 0,14x 4 1 2 3 4 x1 1,21 0,27 x2 0,22x3 0,18x4 x2 0,33 0,21x1 0,45x3 0,18x4 x 0,48 0,12x 0,13x 0,18x x3 0,17 0,33x1 0,05x2 0,06x4 1 2 3 4 x1 0,81 0,07 x2 0,38x3 0,21x4 x2 0,64 0,22x1 0,11x3 0,33x4 x 1,71 0,51x 0,07 x 0,11x 4 x3 1,21 0,331x 0,412x 1 2 4 x1 2,7 0,22x2 0,11x3 0,31x4 x2 1,5 0,38x1 0,12x3 0,22x4 x 1,2 0,11x 0,23x 0,51x 1 2 4 x3 0,17 0,17 x1 0,21x2 0,31x3 4 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 24 x1 1,42 0,23x2 0,18x3 0,17 x4 x2 0,83 0,12x1 0,08x3 0,09x4 x 1,21 0,16x 0,24x 0,35x x3 0,65 0,23x1 0,08x2 0,05x4 1 2 3 4 x1 1,42 0.21x2 0,06x3 0,34x4 x2 0,57 0,05x1 0,32x3 0,12x4 x 0,68 0,35x 0,27 x 0,05x x3 2,14 0,121x 0,43x2 0,04x4 1 2 3 4 x1 1,42 0,27 x2 0,13x3 0,11x4 x2 0,48 0,13x1 0,09x3 0,06x4 x 2,34 0,11x 0,05x 0,12x x3 0,72 0,13x 1 0,18x 2 0.24x 4 1 2 3 4 x1 0,48 0,05x2 0,08x3 0,14x4 x2 1,24 0,32x1 0,12x3 0,11x4 x 1,15 0,17 x 0,06x 0,12x 1 2 4 x3 0,88 0,21 x1 0,16x2 0,36x3 4 x1 0,21 0,28x2 0,17 x3 0,06x4 x2 1,17 0,52x1 0,12x3 0,17 x4 x 0,81 0,17 x 0,18x 0,21x x3 0,72 0,11x 1 0,22x 2 0,03x 4 1 2 3 4 x1 0,22 0,52x2 0,08x3 0,13x4 x2 1,8 0,07 x1 0,05x3 0,41x4 x 1,3 0,04x 0,42x 0,07 x x3 0,33 0,17 x1 0,18x 2 0,13x 4 1 2 3 4 x1 1,3 0,02x2 0,62x3 0,08x4 x2 1,1 0,28x1 0,33x3 0,07 x4 x 1,7 0,09x 0,13x 0,28x x3 1,5 0,19x 1 0,23x 2 0,8 x 4 1 2 3 4 x1 1,2 0,17 x2 0,33x3 0,18x4 x2 0,33 0,18x1 0,43x3 0,08x4 x 0,48 0,22x 0,18x 0,07 x x3 1,2 0,08x1 0,07 x2 0,21x4 1 2 3 4 x1 0,43 0,05x2 0,22x3 0,33x4 x2 1,8 0,22x1 0,08x3 0,07 x4 x 0,8 0,33x 0,13x 0,05x x3 1,7 0,08x 1 0,17 x 2 0,29x 4 1 2 3 4 x1 0,11 0,22x2 0,33x3 0,07 x4 x2 0,33 0,45x1 0,23x3 0,07 x4 x 0,85 0,11x 0,08x 0,18x x3 1,7 0,08x1 0,09x2 0,33x4 1 2 3 4 11. 12. 13. 14. 15. x1 0,51 0,08x2 0,11x3 0,18x4 x2 1,17 0,18x1 0,52x3 0,21x4 x 1,02 0,13x 0,31x 0,21x x3 0,28 0,08x1 0,33x2 0,28x4 1 2 3 4 x1 2,17 0,06x2 0,12x3 0,14x4 x2 1,4 0,04x1 0,08x3 0,11x4 x 2,1 0,34x 0,08x 0,14x x3 0,8 0,11x1 0,12x 2 0,03x 4 1 2 3 4 x1 1,2 0,08x2 0,03x3 0,04x4 x2 0,81 0,31x2 0,27 x3 0,08x4 x 0,92 0,33x 0,07 x 0,21x 2 4 x3 0,17 0,11x 1 0,03x 1 2 0,58x3 4 x1 1,24 0,23x2 0,25x3 0,16x4 x2 0,89 0,14x1 0,18x3 0,24x4 x 1,15 0,33x 0,03x 0,32x x3 0,57 0,121 x 0,052x 0,154x 1 2 3 4 x1 1,21 0,14x2 0,06x3 0,12x4 x2 0,72 0,12x1 0,32x3 0,18x4 x 0,58 0,08x 0,12x 0,32x 1 2 4 x3 1,56 0,25x 1 0,22x 2 0,14x3 4 26. 27. 28. 29. 30. x1 2,42 0,16x2 0,08x3 0,15x4 x2 1,43 0,16x1 0,11x3 0,21x4 x 0,16 0,05x 0,08x 0,34x 1 2 4 x3 1,62 0,12x 1 0,14x 2 0,18x3 4 x1 1,34 0,08x2 0,23x3 0,32x4 x2 2,33 0,16x1 0,18x3 0,16x4 x 0,34 0,15x 0,12x 0,18x x3 0,63 0,25x1 0,21x2 0,16x4 1 2 3 4 x1 2,43 0,18x2 0,33x3 0,16x4 x2 1,12 0,32x1 0,23x3 0,05x4 x 0,43 0,16x 0,08x 0,12x x3 0,83 0,09x1 0,22x2 0.13x4 1 2 3 4 x1 1,42 0,34x2 0,23x3 0,06x4 x2 0,66 0,11x1 0,18x3 0,36x4 x 1,08 0,23x 0,12x 0,35x x3 1,72 0,12x1 0,12x2 0,47 x4 1 2 3 4 x1 0,67 0,23x2 0,11x3 0,06x4 x2 0,88 0,18x1 0,12x3 0,33x4 x 0,18 0,12x 0,32x 0,07 x x3 1,44 0,05x 1 0,11x 2 0,09x 4 1 2 3 4 ПРИКЛАД РОЗРАХУНКІВ 1. Розв’язати СЛАР методами простої ітерації та Зейделя з точністю 0,001. Порівняти швидкість збіжності обох методів. x1 2,15 0,05x 2 0,11x3 0,08x 4, x 2 0,83 0,11x1 0,28x3 0,06x 4, x 1,16 0,08x 0,15x 0,12x , 1 2 4 3 x 4 0,44 0,21x1 0,13x 2 0,27 x3 . Сформуємо матрицю коефіцієнтів системи та вектор вільних членів : ORIGIN 1 2.15 0 0.05 0.11 0.08 0.83 0.11 0 0.28 0.06 1.16 0.08 0.15 0 0.12 0.44 0.21 0.13 0.27 0 Перевіримо виконання умови збіжності ітераційного процесу для заданої системи. Знайдемо норми матриці : перша норма 4 1 4 1 j 0.24 j 1 2 j 0.45 3 4 3 j 0.35 4 j 1 4 j 0.61 j 1 1 0,61<1. друга норма 4 1 j 1 max(1 2 3 4 ) 0.61 4 2 i1 4 i 1 0.4 2 4 i 2 0.33 3 i1 i1 25 4 i 3 0.66 4 i1 i 4 0.26 max(1 2 3 4 ) 0.66 4 2 0,66 <1. третя норма 4 2 ij 0.54065 3 0,54 <1. i 1 j 1 Всі норми вийшли менше одиниці, умова збіжності ітераційного процесу для заданої зведеної СЛАР виконується. Метод простої ітерації Оберемо початкове наближення розв’язку: 2.15 0.83 x0 1.16 0.44 Будуємо послідовність розв’язків, контролюючи виконання досягнення заданої точності : 2.2839 0.9447 x1 x0 x1 1.5093 0.4326 2.3979 0.9754 x2 x1 x2 x1 x2 0.1967 1.4325 0.5699 2.4019 0.9331 x3 x2 x3 x2 x3 0.0432 1.4297 0.5771 2.4001 0.9315 x4 x3 x4 x3 x4 0.0091 1.4229 0.5717 2.3988 0.9301 x5 x4 x5 x4 x5 0.0031 1.4231 0.5693 2.3986 0.9304 x6 x5 x6 x5 x6 0.0006 < 1.4231 0.5689 2.399 0.93 Відповідь: x 1.423 , кількість ітерацій k=6. 0.569 26 Задана точність досягнута! Метод Зейделя 2.15 0.83 x0 Початкове наближення: 1.16 0.44 Будуємо послідовність розв’язків, контролюючи виконання досягнення заданої точності : 4 x1 1 1 1 j x0 j j 1 2 x1 3 3 4 x1 2 2 1 2 x1 1 2 j x0j j 2 4 3 j x1 j j 1 3 j x0 j 3 x1 4 4 j 3 4 j x1j 4 4 x04 j 1 2.2839 0.93 x1 1.535 0.575 4 x2 1 1 1 j x1 j j 1 2 x2 3 3 4 x2 2 2 2 1 x2 1 j 2 4 3 j x2j 3 j x1j j 1 3 x2 4 4 j 3 2.4113 0.9601 x2 1.4279 0.5767 4 j x2j 4 4 x14 j 1 x2 x1 0.1692 4 x3 1 1 3 3 3 3 j 1 2.3986 0.9303 x4 1.4231 0.5689 2 1 x3 1 2 j x2j j 2 3 x3 4 4 4 j x3j 4 4 x24 j 1 x3 x2 0.032 1 j x3 j j 1 2 x4 2 j 3 4 1 2 3 j x3j 3 j x2j 0.9311 x3 1.4226 0.5694 1 x3 4 j 1 2.4012 x4 4 1 j x2j j 1 2 x3 2 j x1j 4 x4 2 2 2 1 x4 1 2 j x3j j 2 4 3 j x4 j 3 j x3 j 3 x4 4 j 3 4 4 j x4j 4 4 x34 j 1 x4 x3 0.0028 27 4 x5 1 1 j 1 2 x5 3 3 1 j x4 j 4 x5 2 j 1 2 1 1 2 j x4j j 2 4 3 j x5j 3 j x4j 2.3986 0.9305 x5 1.4232 0.5689 2 x5 3 x5 4 j 3 x5 x4 0.0002 < 4 4 j x5j 4 4 x44 j 1 Задана точність досягнута! 2.399 0.93 Відповідь: x 1.423 , кількість ітерацій k=5. 0.569 Швидкість збіжності метода Зейделя виявилася більшою на одну ітерацію, ніж швидкість метода простої ітерації. КОНТРОЛЬНІ ПИТАННЯ ДЛЯ САМОПЕРЕВІРКИ 1. На які дві групи поділяються методи розв’язання СЛАР? 2. Сутність ітераційних методів? 3. Яка умова закінчення ітераційного процесу? 4. Як перевірити збіжність ітераційних методів? 5. Чим відрізняється метод простої ітерації від методу Зейделя? 28 ТЕМА 3. Методи визначення коренів нелінійних рівнянь Лiтература: [1], пп. 4.1-4.9; [4], §§1.7-1.10; [5], п. 2.1; [6], гол. 5 ТЕОРЕТИЧНІ ВІДОМОСТІ Знаходження наближених значень дійсних коренів нелінійного рівняння: f(x)=0 (26) виконують у два етапи: відокремлюють корені, тобто визначають проміжки на числовій осі Ox, на кожному з яких знаходиться єдиний (відокремлений) корінь рівняння; уточнюють відокремлені корені до потрібного наближення. Метод послідовного перебору для відокремлення коренів базується на таких положеннях: - якщо неперервна на відрізку [a; b] функція приймає на його кінцях значення різних знаків (тобто f(a)f(b)<0), то рівняння (26) має на цьому відрізку принаймні один корінь; - якщо функція f(x) до того ж ще й строго монотонна, то корінь на відрізку [a; b] єдиний. Рис.1 Рис.2 Виходячи з приблизного графіка функції f(x), визначають інтервал [a; b]. Далі обчислюють значення f(x), починаючи з точки x a , рухаючись управо з деяким кроком h (рис.1). Як тільки виявиться пара сусідніх значень f(x), яка має різні знаки, і функція f(x) монотонна на цьому відрізку, так відповідні значення аргументу x (попереднє й наступне) можна вважати кінцями відрізку, що містить корінь. Основні методи розв’язання нелінійних рівнянь є ітераційними. В таких методах корінь рівняння x* визначається як границя послідовності x(0), x(1), …, x(k) і неможливо визначити наперед кількість необхідних кроків для отримання рішення. В методі половинного ділення (рис. 2) інтервал відокремлення кореня [a; b] 29 ab , переміщують той кінець інтервалу 2 (a чи b), в якому знак функції збігається зі знаком f ( c ) . Процес ділення продовжують то тих пір, поки не виконається умова f (c) або b a , де - точність. ділять навпіл і в серединну точку c У методі січних ділення відрізку [a; b] відбувається пропорційно значенню функції в точках a та b (рис. 3). В цьому випадку точка поділу відрізка буде знаходитися на перетині хорди AB із віссю 0x, а її абсциса x(1) є першим наближеним значенням кореня. Щоб уточнити x(1), застосуємо метод хорд до відрізка [x(1), b] отримаємо друге наближення – x(2), і так далі. Нерухомим буде той кінець відрізка ізоляції кореня , в якому знак функції f(x) збігається зі знаком другої похідної. Розрахункова формула методу січних: f ( x (k ) ) ( k 1) (k ) x x ( x ( k ) ), (27) (k ) f ( x ) f ( ) де =a, x(0)=b, якщо f(a)f”(a)>0, або =b, x(0)=a, якщо f(b)f”(b)>0. Розрахунки продовжують до виконання умови x ( k 1) x ( k ) . Рис.3 Рис.4 У методі Ньютона ділянка кривої y=f(x) послідовно замінюється її дотичною в точці A або B (рис.4). Абсциса точки перетину дотичної з віссю 0x – x(1) буде першим наближеним значенням кореня. Щоб уточнити x(1) застосуємо метод дотичних до відрізка [a; x(1)], отримаємо друге наближення – x(2), і так далі. Точка, в якій будується дотична, обирається з умови співпадання знаків функції та її другої похідної f(x)f”(x)>0. Розрахункова формула методу Ньютона: f ( x (k ) ) ( k 1) (k ) x x , (28) f ( x ( k ) ) де x(0)=a, якщо f(a)f”(a)>0, або x(0)=b, якщо f(b)f”(b)>0. 30 Розрахунки продовжують до виконання умови x ( k 1) x ( k ) . Модифікований метод Ньютона доцільно застосовувати, якщо похідна складно обчислюється: f ( x (k ) ) ( k 1) (k ) x x . (29) f ( x (0) ) У методі простої ітерації для отримання ітераційної формули, рівняння f(x)=0 представляють у вигляді x (x) . Вибравши початкове наближення ab x (0) , будують ітераційний процес x (1) ( x (0) ) , x ( 2) ( x (1) ) , …, 2 x ( k 1) ( x ( k ) ) до тих пір, поки не виконається умова x ( k 1) x ( k ) . Умовою збіжності ітераційного процесу являється дотримання нерівності ( x) 1 . Чим менше значення (x) , тим швидша збіжність методу. Початкове рівняння (26) може бути перетворено до еквівалентного x (x) багатьма способами. Як правило, приймають: f ( x) ( x) x , (30) M де M max f ( x) . Знак М має збігатися зі знаком f ( x ) на [a; b]. [ a; b ] ЗАВДАННЯ 1. Відокремити корені нелінійного рівняння графічним методом. Уточнити відокремлені корені до 0,001 методами половинного ділення; Ньютона, модифікованим Ньютона, січних, простої ітерації. 1. x lg( x 2) x 2 1 0, 16. x 5 7 x 2 3 0, 2. lg(2 x 1) x 3 1 0, 17. x 6 5 x 3 2 0, 3. lg( x 1) x 0,5 0, 18. x 2 2 cos(x) 0, 4. x 6 5 x 2 0, 19. ln( x 2) x 4 0,5 0, 20. 3 x 1 e x 0,5 0, 5. 10 x 5 x 2 0, 6. tg ( x) 5 x 2 1 0, x 1; 1, 21. x 4 2 x 1 0, 7. e x x 3 3x 2 2 x 3 0, 22. sin( x) 2 x 2 0,5 0, 8. 2 x x 2 0,5 0, 23. ln( x 2) x 2 0, 9. ln( x 2) 2 x 2 1 0, 24. 3 x 5 x 2 1 0, 10. x 3 x 2 x 0,5 0, 25. xe x x 2 1 0, 26. x 3 2 x 2 10x 15 0, 27. cos(x) 0,25x 0,5 0, 11. 12. 1 x 2 e x 0,1 0, 5 x 8 ln( x) 8 0, 31 1 0, x 13. x sin( x) 0,25 0, 28. 14. 2 x 2 x 2 1 0, x 0 29. e x 2 x 1 0, 15. e x x e 3 x 4 0, x 0 30. 6 x 5 sin( x) 6 0, x 0 x 1 ПРИКЛАД РОЗРАХУНКІВ 1. Відокремити корені нелінійного рівняння графічним методом. Уточнити відокремлені корені до 0,001 методами половинного ділення; Ньютона, модифікованим Ньютона, січних, простої ітерації: e 2 x 3x 4 0 . Знайдемо корені рівняння функцією Mathcad root. f ( x) e 2x 3x 4 x 0.5 root (f ( x) x) 0.474 Відокремимо корені рівняння методом послідовного перебору. Протабулюємо функцію на відрізку [-5; 5] з кроком h=1. 2x f ( x) e 3x 4 a 5 b 5 h 1 i 0 10 X a i h Y f X i T i i X ( 5 4 3 2 1 0 1 2 3 4 5 ) T Y ( 19 15.9997 12.9975 9.9817 6.8647 3 6.3891 56.5982 408.4288 2988.958 22037.4658) Бачимо, що функція змінила свій знак на інтервалі [0; 1]. Протабулюємо функцію з меншим кроком h=0,1 на відрізку [0; 1]: a 0 b 1 h 0.1 i 0 10 X a i h Y f X i T i i X ( 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 ) T Y ( 3 2.4786 1.9082 1.2779 0.5745 0.2183 1.1201 2.1552 3.353 4.7496 6.3891) Інтервал ізоляції кореня – [0.4; 0.5]. Уточнимо корінь до 0,001. Метод половинного ділення a 0.4 c b 0.5 ab 2 a 0.4 c 0.45 b 0.5 f ( a) 0.5745 f ( c) 0.1904 f (b ) 0.2183 32 Отримали два інтервали [a; c] i [c; b]. Для подальших розрахунків обираємо той, на кінцях якого функція має різні знати, тобто [c; b]. ab c a c 2 a 0.45 c 0.475 b 0.5 f ( c) 0.0107 f (b ) 0.2183 c 0.475 b 0.5 f ( c) 0.0107 f (b ) 0.2183 c 0.4625 b 0.475 f ( c) 0.0906 f (b ) 0.0107 a 0.4625 c 0.4688 b 0.475 f ( a) 0.0906 f ( c) 0.0402 f (b ) 0.0107 f ( a) 0.1904 ab c a c 2 a 0.45 f ( a) 0.1904 b c c ab 2 a 0.45 f ( a) 0.1904 a c ab c a c c 2 ab 2 c 0.4719 a 0.4688 f ( a) 0.0402 a c c f ( c) 0.0148 f (b ) 0.0107 c 0.4734 b 0.475 ab 2 a 0.4719 c f (b ) 0.0107 f (c) 0.002 f ( a) 0.0148 a c b 0.475 ab 2 a 0.4734 c 0.4742 b 0.475 f (a) 0.002 f ( c) 0.0043 f (b ) 0.0107 c 0.4738 b 0.4742 f ( c) 0.0011 f (b ) 0.0043 b c c ab 2 a 0.4734 f (a) 0.002 b c a 0.4734 f (a) 0.002 c ab 2 b 0.4738 c 0.4736 f ( c) 0.0005 < f (b ) 0.0011 Відповідь: x=0.474 ; кількість кроків 10. 33 Метод Ньютона Оберемо початкове наближення кореня. Для цього дослідимо знаки функції та її другої похідної на кінцях інтервалу [0,4; 0,5]. Знайдемо другу похідну f ( x) 2e 2 x 3 ; f ( x) 4e 2 x . a 0.4 b 0.5 2 x d f1( x) f ( x) 2 e 3 dx f2( x) d 2 2 f ( x) 4 e 2 x dx f ( a) f2( a) 5.114 f ( b ) f2( b ) 2.373 Бачимо, що знаки функції та її другої похідної співпадають в кінці b, тому за початкове наближення обираємо значення 0,5. x0 b x1 x0 x2 x1 f ( x0) f1( x0) f ( x1) f1( x1) x1 0.4741 x1 x0 0.026 x2 0.4737 x2 x1 0.0004 < Відповідь: x=0.474 ; кількість ітерацій 2. Модифікований метод Ньютона Початкове наближення для даного методу буде таким же, як і в методі Ньютона. x0 b x1 x0 x2 x1 f ( x0) f1( x0) f ( x1) f1( x0) x1 0.4741 x1 x0 0.026 x2 0.4737 x2 x1 0.0004 < Відповідь: x=0.474 ; кількість ітерацій 2. Метод січних Обираємо початкове наближення кореня та нерухому точку . Для цього дослідимо знаки функції та її другої похідної на кінцях інтервалу [0,4; 0,5]. f ( a) f2( a) 5.114 b x1 x0 x2 x1 x3 x2 f ( b ) f2( b ) 2.373 x0 a f ( x0) f ( x0) f ( ) f ( x1) f ( x1) f ( ) f ( x2) f ( x2) f ( ) ( x0 ) x1 0.4725 x1 x0 0.072 ( x1 ) x2 0.4737 x2 x1 0.0012 ( x2 ) x3 0.4737 x3 x2 0.00002 < Відповідь: x=0.474 ; кількість ітерацій 3. Метод ітерацій f ( x) , де M max f ( x) . ЗнайдеM [ a; b ] мо значення М. Для цього побудуємо графік модуля похідної функції f(x) на інтервалі [0,4; 0,5]. Приведемо початкове рівняння до еквівалентного ( x ) x 34 f ( x) e 2x 3x 4 Бачимо, що найбільшого по модулю значення похідна набуває в точці b: d f ( b ) 8.437 db Заокруглимо отримане значення до більшого цілого. Знак похідної додатний. Тому: M 9 ( x) x x0 f ( x) M 2 x 3 e 2 x 9 4 9 ab 2 x1 ( x0) x2 ( x1) x3 ( x2) x0 0.45 x1 0.4712 x2 0.4734 x3 0.4737 x1 x0 0.021 x2 x1 0.0023 x3 x2 0.0002 < Відповідь : x=0.474; кроків 3 КОНТРОЛЬНІ ПИТАННЯ ДЛЯ САМОПЕРЕВІРКИ 1. 2. 3. 4. 5. 6. Що означає відокремити корені рівняння? Які методи уточнення коренів нелінійних рівнянь Вам відомі? Сутність методу половинного ділення. Пояснити на графіку. Сутність методу січних. Пояснити на графіку. Сутність методу Ньютона. Пояснити на графіку. Сутність методу простої ітерації. Пояснити на графіку. 35 ТЕМА 4. Методи розв’язування систем нелінійних рівнянь Лiтература: [1], пп. 6.1-6.4; [3], §§3.1-3.3; [4], §1.13; [5], п. 2.2; [6], гол. 5 ТЕОРЕТИЧНІ ВІДОМОСТІ Система двох нелінійних рівнянь має вигляд: F ( x, y) 0, (31) G( x, y) 0. Для уточнення коренів системи (31) на практиці частіше застосовують методи ітерації (метод простої ітерації і метод Зейделя) та метод Ньютона. Визначення близького до коренів початкового наближення гарантує збіжність методів і високу швидкість збіжності. Для системи двох рівнянь початкове наближення коренів x (0) , y (0) визначають графічно, але для систем більшої вимірності задовільних методів відокремлення коренів не існує. Метод Ньютона. Основна ідея методу Ньютона – зведення системи нелінійних рівнянь до розв’язків послідовності лінійних задач, які в границі дають розв’язок вихідної. Лінійна задача отримується шляхом виділення з нелінійних рівнянь головної лінійної частини: F ( x ( k ) , y ( k ) ) Fy ( x ( k ) , y ( k ) ) G ( x ( k ) , y ( k ) ) G y ( x ( k ) , y ( k ) ) x ( x ( k ) , y ( k ) ) ( k 1) (k ) (k ) x x x , J ( x (k ) , y (k ) ) Fx ( x ( k ) , y ( k ) ) Fy ( x ( k ) , y ( k ) ) G x ( x ( k ) , y ( k ) ) G y ( x ( k ) , y ( k ) ) y ( k 1) y (k ) Визначник J ( x Fx ( x ( k ) , y ( k ) ) F ( x ( k ) , y ( k ) ) Gx ( x ( k ) , y ( k ) ) G ( x ( k ) , y ( k ) ) Fx ( x ( k ) , y ( k ) ) Fy ( x ( k ) , y ( k ) ) G x ( x ( k ) , y ( k ) ) G y ( x ( k ) , y ( k ) ) (k ) ,y (k ) (32) y (k ) y ( x ( k ) , y ( k ) ) J ( x (k ) , y (k ) ) . Fx ( x ( k ) , y ( k ) ) Fy ( x ( k ) , y ( k ) ) ) називається Якобіаном Gx ( x ( k ) , y ( k ) ) Gy ( x ( k ) , y ( k ) ) системи (31), складається з частинних похідних Fx F ( x, y) F ( x, y ) ; Fy ; y x G( x, y) G ( x, y ) ; G y . Система (25) буде мати розв’язки, якщо y x det( J ( x ( k ) , y ( k ) )) 0 . Gx 36 На кожній ітерації методу Ньютона необхідно обчислювати значення Якобіану і розв’язувати систему рівнянь (32). Можна зменшити об’єм обчислень, якщо у всіх ітераціях використовувати стале значення Якобіану J ( x (0) , y (0) ) (модифікований метод Ньютона). Метод простої ітерації. Систему (31) приведемо до еквівалентної: x ( x, y ), (33) y ( x, y ). Якщо відоме початкове наближення для коренів системи x (0) , y (0) , то можна побудувати ітераційний процес: x ( k 1) 1 ( x ( k ) , y ( k ) ), (34) ( k 1) y 2 ( x ( k ) , y ( k ) ). Достатня умова збіжності ітераційного процесу: де A 1 , 1 ( x, y ) 1 ( x, y ) x y - матриця Якобі. A 2 ( x, y ) 2 ( x, y ) x y На практиці для перевірки збіжності користуються такою теоремою: Нехай в деякій замкненій області D {a x A; b y B} мається одна й тільки одна пара коренів x* і y* системи (27). І якщо в області D : функції 1 ( x, y) і 2 ( x, y) визначені і неперервно диференційовані; належать початкові x (0) , y (0) і всі наступні наближення (рис.5); виконуються умови: 1 ( x, y) 2 ( x, y) q1 1, x x (35) 1 ( x, y) 2 ( x, y) q2 1 ; y y Рис.5 то ітераційний процес збігається до коренів x* і y* системи (33). Умова закінчення обчислень x ( k 1) x ( k ) і y ( k 1) y ( k ) . 37 ЗАВДАННЯ 1. Розв’язати систему нелінійних рівнянь із точністю 0,001 методом Ньютона і методом ітерацій. Графічним способом визначити початкове наближення коренів системи x (0) , y (0) . Для методу ітерацій дослідити виконання достатньої умови збіжності ітераційного процесу. Зробити висновки стосовно швидкості збіжності обох методів. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. sin( x 1) y 1,2 0; 2 x cos y 2 0. sin x 2 y 2 0; cos(y 1) x 0,7 0. sin( x 0,5) y 1 0; cos(y 2) x 0. sin( x 1) y 1,3 0; x sin( y 1) 0,8 0. cos(x 0,5) y 2 0; sin y 2 x 1 0. sin( y 1) x 1,2 0; 2 y cos x 2 0. sin y 2 x 2 0; cos(x 1) y 0,7 0. sin( y 0,5) x 1 0; cos(x 2) y 0. sin( y 1) x 1,3 0; y sin( x 1) 0,8 0. cos(y 0,5) x 2 0; sin x 2 y 1 0. sin( x 1) y 1 0; 2 x cos y 2 0. sin x 2 y 1,6 0; cos(y 1) x 1 0. sin( x 0,5) y 1,2 0; cos(y 2) x 0. sin( x 1) y 1,5 0; x sin( y 1) 1 0. cos(y 1) x 0,8 0; y cos x 2 0. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 38 cos(x 1) y 0,5 0; x cos y 3 0. cos x y 1,5 0; 2 x sin( y 0,5) 1 0. cos(x 0,5) y 0,8 0; sin y 2 x 1,6 0. 2 y cos(x 1) 0; x sin y 0,4 0. sin( x 2) y 1,5 0; x cos(y 2) 0,5 0. cos(y 1) x 0,5 0; y cos x 3 0. cos y x 1,5 0; 2 y sin( x 0,5) 1 0. cos(y 0,5) x 0,8 0; sin x 2 y 1,6 0. 2 x cos(y 1) 0; y sin x 0,4 0. sin( y 2) x 1,5 0; y cos(x 2) 0,5 0. cos(x 1) y 0,8 0; x cos y 2 0. cos x y 1,2 0; 2 x sin( y 0,5) 2 0. cos(x 0,5) y 1 0; sin y 2 x 2 0. sin( y 1) x 1 0; 2 y cos x 2 0. cos(x 1) y 1 0; sin y 2 x 1,6 0. ПРИКЛАД РОЗРАХУНКІВ 1. Розв’язати систему нелінійних рівнянь із точністю 0,001 методом Ньютона і методом ітерацій. Графічним способом визначити початкове наближення коренів системи x (0) , y (0) . Для методу ітерацій дослідити виконання достатньої умови збіжності ітераційного процесу. Зробити висновки стосовно швидкості збіжності обох методів. sin( x 0,6) y 1,6 0; 3x cos(y) 0,9 0. Знайдемо графічним способом початкове наближення коренів системи x (0) , y (0) . Для цього побудуємо в Mathcad графіки функцій обох рівнянь. З першого рівняння зручно визначити невідо1 му y: y sin( x 0,6) 1,6 ; а з другого – невідому x: x cos( y ) 0.3 . Тоді будуємо графіки. 3 Визначаємо початкове наближення коренів системи (точка перетину обох графіків): x (0) 0,15 ; y (0) 2 . Метод Ньютона F( xy) sin( x 0.6) y 1.6 G( xy) 3x cos ( y) 0.9 Запишемо формули для обчислення Якобіана і визначників x , y : d F( xy ) dx J( xy ) d d xG( xy ) d F( xy ) dy F( xy ) x ( xy ) G( xy ) d G( xy ) dy d F( xy ) dy d G( xy ) dy d F( xy ) F( xy ) dx y ( xy ) d d xG( xy ) G( xy ) J(xy) cos (x 0.6) sin(y) 3.0 x (xy) 3.0 x 1.0 cos ( y) 1.6 sin(y) 1.0 y sin( y) sin(x 0.6) sin(y) 0.9 y (xy) 3.0 y 0.9 cos (x 0.6) 3.0 sin(x 0.6) 3.0 x cos (x 0.6) 1.0 cos (x 0.6) cos (y) 4.8 x0 0.15 x1 x0 y0 2 x ( x0y0) J( x0y0) y1 y0 y ( x0y0) J( x0y0) x1 0.1509 y1 2.0341 x1 x0 0.0009 x2 x1 x ( x1y1) J( x1y1) y2 y1 y1 y0 0.0341 y ( x1y1) J( x1y1) x2 0.1511 y2 2.034 y2 y1 0.0001 < Відповідь: x=0.151, y = -2.034; ітерацій 2. 39 x2 x1 0.0001 < Метод ітерації x 1 ( x, y ), Приведемо систему до вигляду: y 2 ( x, y ). Для цього з другого рівняння системи зручно визначити невідому x, а з першого - невідому y. x 1 ( x, y ) 13 cos(y ) 0,3; Тоді маємо: y 2 ( x, y ) sin( x 0,6) 1,6. Початкове наближення коренів системи визначили в попередньому методі: x (0) 0,15 ; y (0) 2 . Дослідимо виконання достатньої умови збіжності ітераційного процесу. Задамо область D навколо x (0) , y (0) : D 0,05 x 2,5 ; - 2,1 y -1,9. 1 ( xy) 0.3 1 cos ( y) 3 2 (xy) sin(x 0.6) 1.6 Складемо нерівності та дослідимо їх найбільші значення в області D. q1( x) d d 1 ( xy ) 2 ( xy) cos ( x 0.6) dx dx q1( 0.25) 0.939 < 1, q2( 1.9) 0.315 < x0 0.15 y0 2 x1 1 (x0y0) y1 2 ( x0y0) q2( y ) sin ( y) d d 1 ( xy ) 2 ( xy ) 3 dy dy 1 – умова збіжності виконується. Отримаємо розв’язки. x1 0.1613 y1 2.035 x1 x0 0.0113 x2 1 (x1y1) y2 2 ( x1y1) x2 0.1508 y2 2.0248 x2 x1 0.0105 x3 1 (x2y2) y3 2 ( x2y2) x3 0.1538 y4 2 ( x3y3) x4 0.151 y5 2 ( x4y4) x5 0.1518 y6 2 ( x5y5) y4 y3 0.0027 y5 2.0341 x5 x4 0.0008 x6 1 (x5y5) y3 y2 0.0095 y4 2.0315 x4 x3 0.0028 x5 1 (x4y4) y2 y1 0.0102 y3 2.0343 x3 x2 0.003 x4 1 (x3y3) y1 y0 0.035 x6 0.151 y5 y4 0.0026 y6 2.0333 x6 x5 0.0008 < Відповідь: x=0.151, y=-2.033; кроків 6. 40 y6 y5 0.0007 < КОНТРОЛЬНІ ПИТАННЯ ДЛЯ САМОПЕРЕВІРКИ 1. 2. 3. 4. 5. 6. 7. Що означає відокремити корені рівняння? Сутність методу Ньютона для системи двох нелінійних рівнянь. Наведіть ітераційну формулу метода Ньютона для системи n нелінійних рівнянь. Як визначається Якобіан системи нелінійних рівнянь? Сутність методу ітерацій. Якими є умови збіжності методу ітерацій? Наведіть ітераційну формулу метода ітерацій для системи n нелінійних рівнянь, порівняйте її з ітераційною формулою метода Ньютона. 41 ТЕМА 5. Знаходження власних чисел і власних векторів матриць Лiтература: [3], §§1.14-1.16; [4], §§1.1-1.5; [5], п. 1.2; [6], гол. 6 ТЕОРЕТИЧНІ ВІДОМОСТІ Нехай А – квадратна матриця порядку n. Будь-який ненульовий вектор x V n , x 0 , для якого (36) Ax x , де - деяке число, називається власним вектором матриці А, а - власним зна ченням матриці А, що відповідає вектору x . Рівняння (36) еквівалентно рівнянню ( A E ) x 0 , (37) де Е – одинична матриця. Система (37) є однорідною системою лінійних рівнянь, розв’язком якої буде власний вектор матриці A. Така система має нетривіальний розв’язок тоді і тільки тоді, коли a11 a12 ... a1n a21 a22 ... a2 n (38) det( A E ) 0. ... ... ... ... an1 an 2 ... ann Рівняння (38) називається характеристичним рівнянням матриці А, а його ліва частина є многочленом степеня n вигляду (39) (1) n (n p1n 1 p2n 2 ... pn ) (1) n Pn ( ) , який називається характеристичним многочленом матриці А. Коренями многочлена є множина власних значень 1 , 2 ,..., n матриці А, кожному власному значенню i відповідає свій власний вектор xi . В різних випадках виникають різні вимоги до інформації про власні значення і власні вектори. Це призводить до різноманітних задач і методів знаходження власних чисел і векторів. Для розв’язування певного класу задач механіки, фізики, хімії необхідні всі власні значення, а іноді і всі власні вектори матриць. В такому випадку говорять про повну проблему власних значень. Іноді достатньо лише визначити найбільше або найменше по модулю власне значення матриці, або знайти тільки два перших власних значення. Тоді говорять про часткову проблему власних значень. Методи знаходження власних значень можна поділити на три групи: методи першої групи дозволяють розгорнути характеристичний визначник , тобто визначити коефіцієнти характеристичного многочлена (39), щоб потім розв’язати алгебраїчне рівняння (38). 42 методами другої групи матрицю А призводять до спеціального вигляду, коли обчислення власних значень стає простою задачею. методи третьої групи є ітераційними. Метод Крилова. Значення коефіцієнтів характеристичного многочлена (39) отримуються як розв’язки системи (40) cn 1 p1 cn 2 p2 ... c0 pn cn , 1 0 де c0 - довільний вектор. Наприклад c0 , а ci Aci 1, i 1,2,..., n . 0 0 Система (40) являє собою систему лінійних алгебраїчних рівнянь з невідомими p0 , p2 ,..., pn , яку можна розв’язати за методом Гауса. Далі, розв’язуючи алгебраїчне рівняння (38), знаходять власні значення матриці А - 1 , 2 ,..., n . Власний вектор xi , що відповідає власному числу i (i=1,n) визначають за формулою n 1 (41) xi i , j cn j 1 i ,0 cn 1 i ,1cn 2 ... i , n 1c0 , j 0 де i, j - коефіцієнти, що отримуються при діленні характеристичного рівняння Pn ( ) (38) на ( i ) i ,0 n 1 i ,1n 2 ... i , n 1 за схемою Горнера: ( i ) i , n 1; (42) i , n 1 i i , n pn ; i , j i i , j 1 p j 1 , j n 1,...,1. Отримані власні вектори нормують. Метод Данилевського. Для визначення коефіцієнтів характеристичного рівняння (38) матрицю А через (n-1) перетворення подібності замінюють подібною матрицею – матрицею Фробеніуса: . (43) Матриці А і Р називаються подібними, якщо , де S – неособлива матриця. Подібні матриці мають однакові характеристичні поліноми: det(A-λE)=det(P-λE). Перетворення матриці А до Р відбувається за формулою: . (44) Спочатку з елементів матриці А будують матриці 43 ; . Потім шукають добуток матриць: ву матрицю В, формують наступні матриці: . Вважаючи за початко- ; , через які визначають матрицю С: . Подібні дії продовжуємо до отримання матриці Фробеніуса Р. Власний вектор , що відповідає власному значенню обчислюється за формулою: , де . Степеневий метод. Це класичний метод для розв’язання часткової проблеми власних значень. Припустимо, що власні значення матриці А дійсні і задовольняють умові . При цьому позначимо відповідні власні ве- 44 ктори через . Візьмемо довільний вектор і побу- дуємо рекурентну послідовність векторів: (45) Тоді , де – однойменні координати двох послідовних векторів. Вектори отримуються тільки за допомогою множення матриці на вектор. Метод може збігатися повільно, тому компоненти векторів набувають великих значень. Цього можна уникнути, якщо нормувати вектори , тоді ,а . Власний вектор для визначимо як , де S – номер останньої ітерації. ЗАВДАННЯ 1. Розв’язати повну проблему власних значень для матриці А методами Крилова, Данилевського. 2. Знайти перше власне значення матриці А і відповідний йому власний вектор степеневим методом. 1. 16. 2. 17. 3. 18. 4. 19. 5. 20. 6. 21. 45 7. 22. 8. 23. 9. 24. 10. 25. 11. 26. 12. 27. 13. 28. 14. 29. 15. 30. ПРИКЛАД РОЗРАХУНКІВ 1. Розв’язати повну проблему власних значень для матриці А методами Крилова, Данилевського. 2,2 1 0,5 2 1 1,3 2 1 A 0,5 2 0,5 1,6 1 1,6 2 2 Метод Крилова Запишемо характеристичне рівняння для матриці А: (1) 4 ( 4 p13 p 2 2 p 3 p 4 ) 4 p13 p 2 2 p 3 p 4 0 . ORIGIN 1 n 4 46 2.2 1 0.5 2 1 1.3 2 1 A 0.5 2 0.5 1.6 2 1 1.6 2 Будуємо послідовність векторів: c0 - довільний вектор, 1 2.2 10.09 52.373 291.001 0 1 6.5 41.84 239.605 c 0 c1 A c0 c 2 A c 1 c3 A c2 c4 A c3 0 0.5 6.55 37.64 220.782 0 2 10.2 57.56 321.93 Складаємо систему лінійних алгебраїчних рівнянь для визначення коефіцієнтів характеристичного рівняння: c31 c21 c11 c01 0 52.373 10.09 2.2 1 c32 c22 c12 c02 B 0 41.84 6.5 1 0 c3 c2 c1 c0 p B 3 3 3 3 0 37.64 6.55 0.5 0 c3 c2 c1 c0 0 57.56 10.2 2 0 4 4 4 4 та розв’яжемо її: Given B p c4 6 6 0.2 0.2 Find ( p ) p 12.735 12.735 2.7616 2.7616 Таким чином, отримали рівняння: 4 Знайдемо корені рівняння. коренів. 3 2 f ( ) 6 0.2 12.735 2.7616. Побудуємо графік функції f ( ) . Знайдемо наближені значення Кожний корінь уточнимо функцією Mathcad – root. Отримали чотири кореня – чотири власних значення. Для кожного з них знайдемо відповідний власний вектор. Перше власне число: 1 1 1 1 root( f ( 1 ) 1 ) j 2 n 1 1 1 j 1 1.5 j 1 p j 1 47 1 1.42 1 7.42 1 10.337 1.945 x1 1 c3 1 c2 1 c1 1 c0 1 2 3 4 1.699 3.947 x1 5.793 2.549 Пронормуємо отриманий вектор (розділимо на найбільшу по модулю компоненту): i 1 4 x1 x1 i i 5.793 0.293 0.681 x1 1 0.44 Друге власне число: 2 1 1 2 0.2 j 2 n 2 2 2 j j 1 p 2 root( f ( 2 ) 2 ) 2 0.223 j 1 1 5.777 2 1.486 12.404 x2 2 c3 2 c2 2 c1 2 c0 1 2 3 4 3.214 2.801 x2 0.945 4.342 i 1 4 x2 x2 i Третє власне число: i 4.342 0.74 0.645 x2 0.218 1 3 1.5 3 root( f ( 3 ) 3 ) 3 1 1 j 2 n 3 3 3 j j 1 p j 1 48 3 1.545 1 4.455 3 7.084 1.787 x3 3 c3 3 c2 3 c1 3 c0 1 2 3 4 6.372 5.801 x3 4.92 2.045 i 1 4 x3 i x3 6.372 1 i 0.91 x3 0.772 0.321 Четверте власне число: 4 5.6 4 root( f ( 4 ) 4 ) 4 5.652 4 1 1 j 2 n 4 4 4 j j 1 p j 1 1 0.348 4 2.167 0.489 x4 4 c3 4 c2 4 c1 4 c0 1 2 3 4 44.584 37.411 x4 34.277 49.677 i 1 4 x4 x4 i i 49.677 0.897 0.753 x4 0.69 1 Відповідь: 1 1.42, 0.293 0.681 ; x1 1 0.44 2 0.223, 49 0.74 0.645 ; x2 0.218 1 1 0.91 ; x3 0.772 0.321 3 1.545, 4 5.652, 0.897 0.753 x4 0.69 1 Метод Данилевського ORIGIN 1 2.2 1 0.5 2 1 1.3 2 1 A 0.5 2 0.5 1.6 2 1 1.6 2 Формуємо матрицю М3 та обернену до неї m3: 1 0 0 0 0 1 0 0 M3 0 0 1 0 0 0 0 1 m3 M3 n 4 j 1 n A M3 3 j A 4 j 1 A m3 3 j A if j 3 4 3 otherwise 4 3 0 1 0 1 M3 1.25 0.625 0 0 0.625 1.25 0 1 0 0 0 0 4 j 1 0 0 0 0 1 0 0 m3 2 1 1.6 2 0 0 0 1 Виконуємо перше перетворення подібності над матрицею А: 1.575 0.688 0.313 1.375 1.5 0.05 1.25 1.5 A3 m3 A M3 1.45 4.125 4.375 2.81 0 0 1 0 Формуємо матриці М2 і обернену до неї m2 на базі матриці А3: 1 0 0 0 0 1 0 0 M2 0 0 1 0 0 0 0 1 m2 M2 j 1 n 50 A3 M2 2 j A3 3 j 1 A3 m2 2 j A3 otherwise 3 2 1 0.352 M2 0 0 1 0 M1 0 0 0.242 1.061 0.681 0 1 0 0 0 1 0 0 0 3 j 0 0 1 1.45 4.125 4.375 m2 0 0 1 0 0 0 Виконуємо наступне перетворення: 1.333 4.327 A2 m2 A3 M2 0 0 І останній крок: if j 2 3 2 0 2.81 1 0 0.167 0.417 0.907 4.667 7.143 5.013 1 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 1 m1 M1 j 1 n A2 M1 1 j A2 2 j 2 1 1 A2 m1 1 j A2 if j 1 otherwise 2 1 0.231 0 M1 0 0 1.079 1.651 1.159 4.327 0 m1 0 0 4.667 7.143 5.013 1 0 0 1 0 0 0 1 0 2 j 1 0 0 1 0 6 0.2 12.735 2.762 0 0 1 0 1 0 0 0 A1 m1 A2 M1 0 1 0 0 0 0 1 0 Значення елементів першого рядка матриці А будуть значеннями коефіцієнтів характеристичного полінома. Тому можемо записати: 51 4 3 2 f ( ) 6 0.2 12.735 2.7616 Корені полінома було знайдено в попередньому методі. Знайдемо для кожного власного значення відповідний власний вектор. 1 1.5 1 root( f ( 1 ) 1 ) 1 1.42 3 1 0.666 2 1.548 y 1 x1 M3 M2 M1 y 2.272 1 1 1 Пронормуємо отриманий вектор. Розділимо його на найбільшу по модулю компоненту: i 1 4 x1 x1 i i 2.272 0.293 0.681 x1 1 0.44 2 0.2 2 root( f ( 2 ) 2 ) 2 0.223 3 2 2 y 2 2 1 0.74 0.645 x2 M3 M2 M1 y 0.218 1 i 1 4 x2 i x2 i 1 0.74 0.645 x2 0.218 1 3 1.5 3 root( f ( 3 ) 3 ) 3 3 2 y 3 3 1 3 1.545 3.116 2.837 x3 M3 M2 M1 y 2.406 1 i 1 4 x3 x3 i i 3.116 1 0.91 x3 0.772 0.321 4 5.6 4 root( f ( 4 ) 4 ) 4 5.652 52 4 3 2 y 4 4 1 0.897 0.753 x4 M3 M2 M1 y 0.69 1 i 1 4 x4 x4 i i 1 0.897 0.753 x4 0.69 1 Відповідь: 1 1.42, 3 1.545, 0.293 0.681 ; x1 1 0.44 1 0.91 ; x3 0.772 0.321 0.74 0.645 ; x2 0.218 1 2 0.223, 4 5.652, 0.897 0.753 x4 0.69 1 2. Знайти перше власне значення матриці А і відповідний йому власний вектор степеневим методом. Степеневий метод ORIGIN 1 2.2 1 A 0.5 2 Обираємо довільний вектор: 1.3 2 1 2 0.5 1.6 1 1.6 2 1 0.5 2 n 4 1 1 y0 1 1 і будуємо послідовність векторів. Вектори нормуємо. Збіжність спостерігаємо по значенню норм векторів. y1 A y0 n norma_y1 2 y1i 11.194 y1 i1 y1 norma_y1 y2 A y1 n norma_y2 2 y2i 5.649 y2 i1 y3 A y2 53 y2 norma_y2 n norma_y3 2 y3i 5.652 y3 i1 y3 norma_y3 y4 A y3 n norma_y4 2 y4i 5.652 y4 i1 y4 norma_y4 Бачимо, що на четвертому кроці значення норм векторів співпали. Тоді 1=5,652. Власний вектор має таке значення: 0.531 0.446 y4 0.409 0.592 Пронормуємо отриманий вектор: i 1 4 y4 y4 i i y4 4 0.897 0.753 y4 0.69 1 Значення компонент співпали з результатами попередніх методів. 0.897 0.753 Відповідь: 1=5,652; x1 0.69 . 1 КОНТРОЛЬНІ ПИТАННЯ ДЛЯ САМОПЕРЕВІРКИ 1. 2. 3. 4. 5. 6. 7. Що таке власні числа і власні вектори матриць? Що таке характеристичний многочлен? Що таке повна та часткова проблема власних значень? На які групи можна поділити методи знаходження власних чисел? Алгоритм методу Крилова? Яку форму має матриця Фробеніуса? Алгоритм степеневого методу. 54 ТЕМА 6. Наближення функцій Лiтература: [1], пп. 3.1-3.9; [3], §§1.1-1.5; [4], §§2.1-2.7; [5], п. 3.1-3.2; [6], гол. 7 ТЕОРЕТИЧНІ ВІДОМОСТІ Наближенням функції називається заміна в розрахунках однієї функції f(x) (відомої, невідомої або частково відомої) іншою функцією F(x), яка є близькою до f(x) і має певні властивості, які дозволяють легко проводити над нею ті чи інші аналітичні або обчислювальні операції. При підборі наближаючої функції F(x), треба визначити її клас та критерій близькості до f(x). Найбільшого розповсюдження в якості наближаючих функцій набули многочлени. Інтерполяцію функцій застосовують, коли деяка функція задана таблично скінченою множиною x: f ( x0 ) y0 , f ( x1 ) y1, ..., f ( xn ) yn і потрібно визначити значення f(x) для проміжних значень аргументу ~x - f (x~ ) . В цьому разі будують функцію F (x) (достатньо просту для обчислень), яка в точках {xi }in 0 набуває значення { yi }in 0 . В інших точках F (x) наближено представляє функцію f(x) з тою чи іншою точністю (рис. 6). Точки {xi }in 0 називають вузлами інтерполяції, функцію F (x) - інтерполюючою функцією, а задачу побудови F (x) - задачею інтерполяції. Зазначені вище властивості інтерполюючої функції має поліном Лагранжа: n ( x x0 )( x x1 ) ... ( x xi 1 )( x xi 1 ) ... ( x xn ) . (46) Ln ( x) yi ( xi x0 )( xi x1 ) ... ( xi xi 1 )( xi xi 1 ) ... ( xi xn ) i 0 Поліном Лагранжа незручний у використанні тим, що при зміні кількості вузлів інтерполяції n, його треба будувати знову. Інтерполяційний поліном Ньютона не має цього недоліку. При зміні степеня n необхідно лише тільки додати або відкинути відповідну кількість стандартних доданків: 55 Pn ( x) f ( x0 ) ( x x0 ) f ( x0 ; x1 ) ( x x0 )( x x1 ) f ( x0 ; x1; x2 ) ... (47) ( x x0 )( x x1 ) ... ( x xn 1 ) f ( x0 ; x1; x2 ;...; xn ). f ( x1 ) f ( x0 ) Тут f ( x0 ; x1 ) - поділена різниця першого порядку; x1 x0 f ( x1; x2 ) f ( x0 ; x1 ) f ( x0 ; x1; x2 ) - поділена різниця другого порядку; x2 x0 f ( x1; x2 ;...; xn ) f ( x0 ; x1;...; xn 1 ) f ( x0 ; x1; x2 ...; xn ) - поділена різниця n-ого xn x0 порядку. Часто інтерполювання необхідно проводити для функції, що задана у рівновіддалених вузлах, тобто: h xi 1 xi const (i 0,1,..., n) . Для таких таблиць інтерполяційні формули значно спрощуються. а) перша інтерполяційна формула Ньютона: q q (q 1) 2 Pn ( x) Pn ( x0 ih) y0 y0 y0 ... 1! 2! (48) q (q 1) ... (q n 1) n y0 ; n! x x0 де q( x) ; Δy0 y1 y0 - скінчена різниця першого порядку; h 2 y0 y1 y0 - скінчена різниця другого порядку; n y0 n 1 y1 n y0 - скінчена різниця n-ого порядку. Ця формула використовується для інтерполювання на початку відрізка інтерполяції, коли q мале за модулем. Коли значення аргументу знаходиться ближче до кінця відрізку інтерполяції, використовується формула для інтерполювання назад – б) друга інтерполяційна формула Ньютона: q q (q 1) 2 Pn ( x) Pn ( xn (n i )h) y n y n 1 y n 2 ... 1! 2! (49) q (q 1) ... (q n 1) n y0 ; n! x xn . де q( x) h Якщо функція у вузлах {xi }in 0 задана наближено (з деякою похибкою), то для знаходження її значень в проміжних точках застосовувати інтерполяцію недоцільно. В таких випадках будують таку наближаючу функцію, яка б дозволила згладити плив похибки. Це задача апроксимації функції. 56 Розглянемо метод найменших квадратів. Вигляд наближаючої функції може бути довільним, але нехай це буде многочлен: Fm(x)=a0 + a1x + a2x2 + … + amxm, (mn). (50) Критерієм близькості може бути мінімізація суми квадратів відхилень значень заданої та наближаючої функцій у вузлах {xi }in 0 : (51) Мінімуму можливо досягти підбором коефіцієнтів многочлена (50). Оскільки сума квадратів відхилень апроксимуючої функції від заданої повинна бути мінімальною, тоді частинні похідні функції повинні дорівнювати нулю: =0, k=0, 1, …, m. Остаточно отримаємо систему: n n n n 2 m ( n 1 ) a a x a x ... a x yj, 0 1 j 2 j m j j 0 j 0 j 0 j 0 n n n n n a0 x j a1 x 2j a2 x 3j ... am x mj 1 y j x j , (52) j 0 j 0 j 0 j 0 j 0 ....................................................................................... n n n n n m m 1 m2 2m a x a x a x ... a x y j x mj . 0 j 1 j 2 j m j j 0 j 0 j 0 j 0 j 0 Система (52) називається нормальною системою методу найменших квадратів і являє собою систему лінійних алгебраїчних рівнянь відносно коефіцієнтів апроксимуючої функції a0, a1, a2,…, am. Розв’язавши систему, можна побудувати многочлен (50), який наближає задану функцію f(x) і мінімізує квадратичне відхилення (51). ЗАВДАННЯ 1. Використовуючи інтерполяційні поліноми Лагранжа й Ньютона, знайти наближене значення функції у точці ~x . Функція задана таблично. Вузли інтерполяції не рівновіддалені. 1. x y 1.0 0.1 1.7 0.53 2.0 0.79 2.2 -2.1 2.6 -3.2 ~ x 2.8 2. x y 4.5 1.5 5.4 1.68 6.8 3.2 9.5 8.4 10.1 9.8 ~ x 5.7 3. x y 2.0 5.8 2.3 6.12 2.5 6.3 3.0 6.7 3.7 7.05 ~ x 2.7 4. x y -2.0 25 1.0 -8 2.0 15 4.0 -23 5.0 -27 ~ x 3.0 57 5. x y 3.2 5.3 3.6 6.0 5.8 2.4 5.9 -1.0 6.2 -3.2 ~ x 4.0 6. x y 1.0 -6.0 2.0 -1.0 2.5 5.6 3.0 16.0 3.5 18.0 ~ x 1.8 7. x y 10 3 15 7 16 10 17 17 20 19 ~ x 18 8. x y 6.0 -9.1 7.2 -8.3 8.4 -2.4 9.9 1.2 10.3 3.4 ~ x 9 9. x y 4.0 6.0 5.0 7.0 6.0 8.0 7.0 9.0 8.0 10.0 ~ x 5.5 10. x y 1.5 3.87 1.54 3.92 1.6 3.95 1.63 4.0 1.72 4.21 ~ x 1.52 11. x y 0 1 1 -3 2 25 3 129 4 381 ~ x 5 12. x y 14 68 18 64 31 44 35 39 38 32 ~ x 30 13. x y 2.0 1.41 2.2 1.48 2.5 1.59 3.0 1.79 3.3 1.82 ~ x 2.4 14. x y 0.0 2.0 0.25 1.6 1.25 2.32 2.12 2.02 3.25 2.83 ~ x 1.2 15. x y 0.0 2.0 0.5 1.7 1.4 2.36 2.25 2.33 3.5 3.17 ~ x 1.45 16. x y 0.0 3.0 0.75 2.8 1.6 3.7 2.36 3.5 3.75 4.0 ~ x 2.6 17. x y 0.0 3.0 1.0 2.9 1.8 3.6 2.5 3.8 4.0 4.3 ~ x 2.0 18. x y -0.25 4.0 0.0 3.6 1.0 4.56 2.1 4.02 3.0 3.83 ~ x 1.5 19. x y -0.5 5.0 0.25 4.8 1.1 5.7 1.88 5.5 3.25 5.0 ~ x 2.5 20. x y -2.5 6.0 -1.5 5.9 -0.7 6.9 0.0 6.7 1.5 5.83 ~ x 1.2 58 21. x y -1.0 1.9 -0.5 1.4 0.4 2.3 1.25 2.5 2.5 3.1 ~ x 0.2 22. x y 0.0 4.0 0.25 3.9 1.25 4.5 2.12 4.7 3.25 4.95 ~ x 1.5 23. x y -0.3 4.2 0 3.6 1.05 4.57 2.1 4.02 3.3 3.8 ~ x 2.0 24. x y 1.5 3.5 1.63 3.83 1.8 4.3 2.2 4.7 2.7 5.2 ~ x 1.6 25. x y 3.2 -9.1 3.6 -6.3 5.8 -2.0 5.9 1.2 6.2 3.5 ~ x 4.0 26. x y 0.3 3.0 0.55 2.6 1.55 3.32 2.32 3.02 3.8 5.0 ~ x 2.1 27. x y -0.4 -9.1 0.1 -8.3 1.85 -2.1 3.1 1.5 4.0 3.4 ~ x 1.3 28. x y 10 43 12 21 22 17 31 13 35 8 ~ x 25 29. x y -3.0 1.41 -2.8 1.5 -2.5 1.57 -2.0 1.79 -1.7 1.82 ~ x -1.0 30. x y -1.0 5.0 -0.2 4.6 1.8 5.7 2.7 5.02 4.0 4.3 ~ x 2.0 2. Використовуючи першу або другу інтерполяційні формули Ньютона, знайти наближене значення функції у точках ~ x1 , ~ x2 . Функція задана таблично. 1. x y 1.0 1.04 1.1 1.06 1.2 1.09 1.3 1.12 1.4 1.16 1.5 1.21 ~ x1 1.02; ~ x2 1.47 2. x y 1.8 1.96 1.9 2.11 2.0 2.27 2.1 2.44 2.2 2.63 2.3 2.84 ~ x1 1.82; ~ x2 2.25 3. x y 0.75 0.74 0.8 0.79 0.85 0.84 0.9 0.88 0.95 0.92 1.0 0.97 ~ x1 0.97; ~ x2 0.77 4. x y 1.7 1.23 1.75 1.21 1.8 1.18 1.85 1.14 1.9 1.09 1.95 1.03 ~ x1 1.71; ~ x2 1.93 5. x y 2.7 1.58 2.75 1.49 2.8 1.37 2.85 1.24 2.9 1.08 2.95 0.91 ~ x1 2.72; ~ x2 2.93 6. x 10 20 25 30 35 ~ x1 13; ~ x2 33 15 59 y 0.99 0.97 0.94 0.91 0.87 0.82 7. x y 1.1 1.03 1.6 1.39 2.1 1.65 2.6 1.8 3.1 1.82 3.6 1.85 ~ x1 1.14; ~ x2 3.5 8. x 0.13 0.18 0.23 0.28 0.33 0.38 y 0.129 0.179 0.228 0.276 0.324 0.371 ~ x1 0.37; ~ x2 0.15 9. 1.3 1.4 1.5 1.6 x 1.1 1.2 y 1.119 0.089 0.066 0.047 0.033 0.023 ~ x1 1.15; ~ x2 1.56 10. x y 50 0.28 55 0.31 60 0.22 65 0.04 70 75 -0.14 -0.27 11. x y 0.05 0.05 0.15 0.16 0.25 0.27 0.35 0.37 0.45 0.47 0.55 0.56 ~ x1 0.53; ~ x2 0.07 12. x y 1.5 -1.1 1.55 -0.9 1.6 -0.7 1.65 -0.4 1.7 -0.2 1.75 -0.1 ~ x1 1.73; ~ x2 1.51 13. x y 1.8 1.44 1.9 1.55 2.0 1.67 2.1 1.82 2.2 199 2.3 2.19 ~ x1 2.25; ~ x2 1.83 14. x y 1.1 0.88 1.2 0.91 1.3 0.93 1.4 0.95 1.5 0.96 1.6 0.97 ~ x1 1.54; ~ x2 1.13 15. 0.85 0.9 0.95 1.0 x 0.75 0.8 y 0.280 0.319 0.359 0.402 0.447 0.495 ~ x1 0.97; ~ x2 0.76 16. 3.0 3.1 3.2 3.3 x 2.8 2.9 y 3.928 4.410 4.938 5.517 6.152 6.848 ~ x1 3.23; ~ x2 2.85 17. 1.2 1.3 1.4 1.5 x 1.0 1.1 1.008 1.113 1.221 1.331 1.445 1.561 y ~ x1 1.42; ~ x2 1.06 18. x y 1.90 6.69 1.91 6.72 1.92 6.82 1.93 6.89 1.94 6.96 1.95 7.34 ~ x1 1.936; ~ x2 1.901 19. x y 0.0 2.74 0.1 2.75 0.2 2.85 0.3 2.89 0.4 2.98 0.5 3.09 ~ x1 0.36; ~ x2 0.05 20. x y 0.8 3.44 0.9 3.55 1.0 3.66 1.1 3.76 1.2 3.85 1.3 3.92 ~ x1 1.24; ~ x2 0.83 21. x y 0.5 1.05 0.55 0.99 0.60 0.93 0.65 0.86 0.70 0.80 0.75 0.72 ~ x1 0.73; ~ x2 0.54 22. x 0.2 0.3 0.4 0.5 0.6 0.7 ~ x1 0.62; ~ x2 0.23 60 ~ x1 73; ~ x2 52 y 0.20 0.31 0.42 0.55 0.68 0.84 23. x y 0.5 1.63 0.52 1.68 0.54 1.75 0.56 1.79 0.58 1.82 0.6 1.85 ~ x1 0.59; ~ x2 0.51 24. x y 0.1 1.11 0.15 1.16 0.2 1.22 0.25 1.28 0.3 1.3 0.35 1.42 ~ x1 0.34; ~ x2 0.14 25. x y 0.70 0.84 0.72 0.88 0.74 0.91 0.76 0.95 0.78 0.99 0.80 1.03 ~ x1 0.79; ~ x2 0.71 26. x y 0.5 0.5 1.0 0.7 1.5 1.0 2.0 1.2 2.5 0.75 3.0 0.60 ~ x1 0.65; ~ x2 2.8 27. x y 0.6 1.5 0.7 1.4 0.8 1.66 0.9 1.0 1.1 1.45 1.875 2.045 ~ x1 1.05; ~ x2 0.68 28. x y 0.25 5.0 0.30 3.9 0.35 4.2 0.40 4.0 0.50 5.0 ~ x1 0.28; ~ x2 0.48 29. x y 0.15 2.5 0.20 3.1 0.25 3.0 0.30 0.35 0.40 2.1 2.625 2.805 ~ x1 0.38; ~ x2 0.17 30. x y 2.0 3.0 2.5 4.8 3.0 4.3 3.5 2.75 ~ x1 2.01; ~ x2 4.46 0.45 4.8 4.0 3.25 4.5 3.65 3. Для заданої таблично функції методом найменших квадратів знайти наближаючий многочлен третього степеня. Обчислити суму квадратів похибок, побудувати графік заданої і наближаючої функцій. -1.0 -0.5 0.0 0.0 1.0 2.0 3.0 4.0 0.5 0.8663 1.0 0.8663 1. x y 2. x -1.0 y 0.866 0.0 1.0 1.0 0.866 3. x -0.9 y -0.369 0.0 0.0 0.9 1.8 2.7 3.6 0.369 0.854 1.786 6.314 4. 1.9 2.8 3.7 4.6 5.5 x 1.0 y 2.412 1.082 0.509 0.118 -0.240 -0.668 5. 0.5 0.9 1.3 1.7 2.1 x 0.1 y -2.302 -0.693 -0.105 0.262 0.530 0.741 6. x -3.0 -2.0 -1.0 y 0.049 0.135 0.367 7. x 0.0 0.2 0.4 2.0 0.5 0.0 1.0 0.6 3.0 0.0 4.0 -0.5 1.0 2.0 2.718 7.389 0.8 1.0 61 y 1.0 1.003 1.0511 1.259 1.819 3.0 8. 0.2 0.5 0.8 x -0.7 -0.4 -0.1 y -0.775 -0.411 -0.100 -0.201 0.523 0.927 9. 0.2 0.5 0.8 x -0.7 -0.4 -0.1 y 2.346 1.982 1.671 1.369 1.047 0.643 10. 1.0 3.0 5.0 x -0.5 -3.0 -1.0 y -1.373 -1.249 -0.785 0.785 1.249 1.373 11. 1.0 3.0 5.0 x -0.5 -0.3 -0.1 y 2.944 2.819 2.356 0.785 0.321 0.197 12. x -1.0 y -1.841 0.0 0.0 1.0 2.0 3.0 4.0 1.841 2.909 3.141 3.243 13. x -1.0 y -0.459 0.0 1.0 1.0 2.0 3.0 4.0 1.540 1.583 2.010 3.346 14. x -0.9 y -1.268 0.0 0.0 0.9 1.8 2.7 3.6 1.268 2.654 4.485 9.913 15. 1.9 2.8 3.7 4.6 5.5 x 1.0 y 3.414 2.981 3.309 3.818 4.359 4.831 16. 0.5 0.9 1.3 1.7 2.1 x 0.1 y -2.202 -0.193 0.794 1.562 2.230 2.841 17. x -3.0 -2.0 -1.0 y -2.950 -1.864 -0.632 18. x y 19. 0.2 0.5 0.8 x -0.7 -0.4 -0.1 y -1.475 -0.811 -0.200 0.401 1.023 1.727 20. 0.2 0.5 0.8 x -0.7 -0.4 -0.1 y 1.646 1.582 1.571 1.569 1.547 1.443 21. 1.0 3.0 5.0 x -0.5 -0.3 -1.0 y -6.373 -4.249 -1.785 1.785 4.249 6.373 22. 1.0 3.0 5.0 x -0.5 -0.3 -1.0 y -2.055 -0.180 1.356 1.785 3.321 5.197 23. x 0.0 0.0 0.1 0.0 1.0 1.0 2.0 3.718 9.389 1.7 3.4 5.1 6.8 8.5 3.003 5.243 7.358 9.407 11.415 0.5 0.9 1.3 1.7 2.1 62 2.0 1.111 0.769 0.588 0.476 24. x 0.1 0.5 y 100.0 4.0 0.9 1.3 1.7 2.1 1.234 0.591 0.346 0.226 25. x y 26. 0.9 1.3 1.7 2.1 x 0.1 0.5 y 100.01 4.250 2.044 2.281 3.236 4.636 27. x y 28. x -1.0 y -0.866 y 10 0.1 10.1 -1.0 0.5 0.5 2.5 0.9 1.3 1.7 2.1 2.011 2.069 2.288 2.576 0.0 0.0 1.0 0.5 2.0 1.732 3.0 3.0 5.0 2.5 0.0 0.0 1.0 0.866 2.0 1.0 3.0 0.0 5.0 -4.330 29. x -3.0 -2.0 -1.0 y -0.149 -0.270 -0.367 0.0 0.0 30. 0.3 0.8 x -1.7 -1.2 -0.7 -0.2 y 0.527 0.433 0.243 0.0327 0.121 1.424 1.0 2.0 2.718 14.778 ПРИКЛАД РОЗРАХУНКІВ 1. Використовуючи інтерполяційні поліноми Лагранжа й Ньютона, знайти наблиx . Функція задана таблично. Вузли інтерполяції жене значення функції у точці ~ нерівновіддалені. 1.8 x -1.0 -0.2 5.0 4.6 5.7 y Сформуємо вектор вузлів інтерполяції ція елементів векторів від 0 до 4. 2.7 4.0 ~ x 2.0 5.2 4.3 x і вектор значень функції у вузлах y . Нумера- ORIGIN 0 1.0 5.0 0.2 4.6 x 1.8 y 5.7 2.7 5.2 4.0 4.3 Побудуємо інтерполяційний поліном Лагранжа. Задано п’ять вузлів, тому поліном буде мати п’ять доданків: a x1a x2a x3a x4 0 x x x x x x x x 0 1 0 2 0 3 0 4 a x0a x2a x3a x4 L1( a) y 1 x x x x x x x x 1 0 1 2 1 3 1 4 L0( a) y 63 a x0a x1a x3a x4 2 x x x x x x x x 2 0 2 1 2 3 2 4 a x0a x1a x2a x4 L3( a) y 3 x x x x x x x x 3 0 3 1 3 2 3 4 a x0a x1a x2a x3 L4( a) y 4 x x x x x x x x 4 0 4 1 4 2 4 3 L2( a) y L(a) L0(a) L1(a) L2(a) L3(a) L4(a) Тепер знайдемо значення полінома в заданій точці: a 2 L( a) 5.6534 - Побудуємо інтерполяційний поліном Ньютона. Спочатку знайдемо поділені різниці: першого порядку y y y01 1 x x 0 2 y12 y01 y123 x x 2 y y 3 y23 2 x x 1 3 y y y34 2 4 3 x x 4 3 0 y23 y12 y234 x x 3 1 y34 y23 x x 4 2 третього порядку y0123 y123 y012 x x 3 - 1 другого порядку y012 - 2 y12 x x 1 - y y 0 y1234 0 y234 y123 x x 4 1 четвертого порядку y01234 y1234 y0123 x x 4 0 Тепер знайдемо значення полінома в заданій точці: P0( a) y 0 0 P2( a) a x a x y012 0 1 P3( a) a x a x a x y0123 0 1 2 P4( a) a x a x a x a x y01234 0 1 2 3 P1( a) a x y01 P(a) P0(a) P1(a) P2(a) P3(a) P4(a) P( a) 5.6534 Відповіді співпали. Відповідь: f(2.0)=5.6534 2. Використовуючи першу або другу інтерполяційні формули Ньютона, знайти наближене значення функції у точках ~ x1, ~ x2 . Функція задана таблично. 3.0 3.5 4.0 4.5 x 2.0 2.5 ~ x1 2.07; ~ x2 4.46 3.0 4.8 4.3 2.75 3.25 3.65 y Сформуємо вектор вузлів інтерполяції x і вектор значень функції у вузлах y . Нумерація елементів векторів від 0 до 5. 64 2.0 3.0 2.5 4.8 3.0 4.3 x y 3.5 2.75 4.0 3.25 4.5 3.65 Перше задане значення ~ x1 2.07 знаходиться в першій половині відрізку інтерполяції, ближче до крайнього лівого вузла, тому застосуємо першу інтерполяційну формулу Ньютона. Задамося величинами: ax a 2.07 - h x x 1 0 q 0.14 h Знайдемо скінченні різниці: першого порядку 0 y y 1 0 - другого порядку - третього порядку - четвертого порядку 1 y y 2 20 1 0 1 2 y y 3 21 2 1 30 21 20 40 31 30 - 0 q h 0.5 2 3 y y 22 3 2 31 22 21 4 3 4 y y 5 4 23 4 3 32 23 22 41 32 31 п’ятого порядку 50 41 40 Тепер знайдемо значення полінома в заданій точці: PI0( a) y PI1( a) PI2( a) PI3( a) PI4( a) PI5( a) 0 q 0 1 q ( q 1) 20 2 q ( q 1) ( q 2) 30 3 q ( q 1) ( q 2) ( q 3) 40 4 q ( q 1) ( q 2) ( q 3) ( q 4) 50 5 PI(a) PI0(a) PI1(a) PI2(a) PI3(a) PI4(a) PI5( a) PI(a) 3.2415 Друге задане значення ~ x2 4.46 знаходиться в другій половині відрізку інтерполяції, ближче до крайнього правого вузла, тому застосуємо другу інтерполяційну формулу Ньютона. Задамося величинами: ax a 4.46 h x x 1 0 h 0.5 q 5 h q 0.08 Тепер знайдемо значення полінома в заданій точці: PII0( a) y PII1( a) PII2( a) 5 q 4 1 q ( q 1) 2 23 65 PII3( a) PII4( a) PII5( a) q ( q 1) ( q 2) 32 3 q ( q 1) ( q 2) ( q 3) 41 4 q ( q 1) ( q 2) ( q 3) ( q 4) 50 5 PII(a) PII0(a) PII1(a) PII2(a) PII3(a) PII4(a) PII5( a) PII( a) 3.8583 Відповідь: f(2.07)=3.2415; f(4.46)=3.8583 3. Для заданої таблично функції методом найменших квадратів знайти наближаючий многочлен третього степеня. Обчислити суму квадратів похибок, побудувати графік заданої і наближаючої функцій. 0.0 0.0 x y 1.7 1.3038 3.4 1.8439 5.1 2.2583 6.8 2.6077 8.5 2.9155 Наближаюча функція буде мати вигляд: F3(x)= 0.0 1.7 3.4 x 5.1 6.8 8.5 0.0 1.3038 1.8439 y 2.2583 2.6077 2.9155 0 0 a 0 0 , тобто m=3, n=4. 2 3 F( xx) a a xx a xx a xx 0 1 n 5 2 3 m 3 Нормальна система методу найменших квадратів для визначення коефіцієнтів буде мати вигляд: b00 a0 b01 a1 b02 a2 b03 a3 d 0 , b a b a b a b a d , 10 0 11 1 12 2 13 3 1 b20 a0 b21 a1 b22 a2 b23 a3 d 2 , b30 a0 b31 a1 b32 a2 b33 a3 d 3 . Коефіцієнти обчислимо за формулами: n b b b 0 0 1 0 2 0 n 1 b 0 1 n x j b 0 2 j 0 b b b 0 1 b 0 2 b 1 1 2 1 0 2 b xj 2 n b 0 3 j 0 b b 1 2 b 1 2 2 2 b j 0 n b 0 3 3 xj 1 3 4 xj j 0 n b 1 3 2 3 5 xj j 0 n b 3 0 b b 0 3 3 1 0 j 0 b 1 3 3 2 b b 2 3 3 3 6 xj j 0 n d b y n j d 1 yjxj j 0 n d 2 j 0 y x 2 j j 66 n d 3 j 0 y x 3 j j 25.5 158.95 1105.425 6 25.5 158.95 1105.425 8176.706 b 158.95 1105.425 8176.706 62828.672 1105.425 8176.706 62828.672 495182.228 10.929 62.517 d 415.047 2988.87 Розв’яжемо систему: 0.024 0.902 a 0.127 0.007 Given b a d a Find (a) Тоді апроксимуюча функція буде мати вигляд: F3(x)=0.024+0.902x–0.127x2+0.007x3. Знайдемо суму квадратів похибок: 2 Побудуємо графік заданої і наближаючої функцій: 3 F( xx) a a xx a xx a xx 0 1 2 3 3 Y F( x) 0.024 1.227 1.909 Y 2.281 2.553 2.935 2.5 2 y F( xx) m 2 Yj yj 0.011 1.5 1 j 0 0.5 0 1 2 3 4 5 6 7 xxx Точками на графіку позначено табличні данні, суцільною лінією – апроксимуючу функцію. КОНТРОЛЬНІ ПИТАННЯ ДЛЯ САМОПЕРЕВІРКИ 1. Коли використовується інтерполяція? 2. Що таке вузли інтерполяції? 3. Пояснити поняття "інтерполяція". 4. Переваги й недоліки інтерполяції поліномом Лагранжа. 5. Поняття поділеної різниці. 6. Інтерполяційний поліном Ньютона для довільних вузлів інтерполяції. 7. Поняття скінченої різниці. 8. Перша інтерполяційна формула Ньютона, випадки її використання. 9. Друга інтерполяційна формула Ньютона, випадки її використання. 10.Як оцінити похибку інтерполяції? 11.Пояснити поняття «апроксимація». 12.Що являє собою нормальна система метода найменших квадратів? 67 ТЕМА 7. Кубічна сплайн-інтерполяція Лiтература: [3], §1.8; [4], §2.6; [5], п. 3.1; [7], гол. 4 ТЕОРЕТИЧНІ ВІДОМОСТІ Інтерполювання функції многочленами Лагранжа або Ньютона на всьому відрізку [a,b] з використанням великої кількості вузлів інтерполяції часто призводить до незадовільного наближення через накопичення похибок при обчисленнях. Крім того, збільшення кількості вузлів не завжди забезпечує підвищення точності інтерполяції через розбіжність самого процесу інтерполювання. Аби уникнути збільшення похибок, зазвичай використовують кусково-поліноміальну інтерполяцію, тобто розбивають відрізок [a,b] на часткові відрізки, на кожному з яких функцію f(x) замінюють многочленами невисокого степеня. Одним зі способів такої інтерполяції є інтерполювання за допомогою сплайнфункцій. Сплайн-функцією (сплайном) називають кусково-поліноміальну функцію, яка визначена на відрізку [a,b] і має на ньому деяку кількість неперервних похідних. Перевагою сплайнів у порівнянні зі звичайною інтерполяцією є їхня збіжність і стійкість процесу обчислень. На практиці розповсюджене застосування кубічного сплайна. Нехай на відрізку [a,b] задана неперервна функція f(x). Задамо сітку точок a x0 x1 x2 ... xn 1 xn b , які мають нумерацію по зростанню значень і є рівновіддаленими з кроком h xi 1 xi const , i 0, ..., n 1. Позначимо значення функції в точках fi f ( xi ), i 0, 1,..., n . Кубічним сплайном, що відповідає функції f(x) і вузлам xi , називається функція S(x), яка задовольняє умовам: 1) на кожному частковому відрізку [ xi , xi 1] функція S(x) є многочленом третього степеня; 2) значення функції S(x) у вузлах інтерполяції дорівнюють значенням функції f(x): S ( xi ) f ( xi ), i 0, 1,..., n ; 3) функція S(x), її перша й друга похідні неперервні на [a,b]. Побудова сплайна. На кожному відрізку [ xi , xi 1] , i 0,..., n 1 функцію S ( x) Si ( x) будемо шукати у вигляді многочлена третього степеня: Si ( x) ai bi ( x xi ) ci ( x xi )2 di ( x xi )3 , xi x xi 1 . Тут ai , bi , ci , di - коефіцієнти сплайна, які знаходяться з у мов: Si fi , S ( xi 0) S ( xi 0) , S ( xi 0) S ( xi 0) , i 0,..., n 1. Крім того, на границях інтервалу при x x0 і x xn поставимо умови: S ( x0 ) S ( xn ) 0 . Тоді коефіцієнти сплайна можна знайти з формул: ai fi , i 0,..., n 1 ; 68 (53) (54) c0 cn 0 ; ci 4ci 1 ci 2 3( fi 2 2 fi 1 fi ) , i 1,..., n 1; c c c d n 1 n 1 ; di i 1 i , i 0,..., n 2 ; 3h 3h f f h (55) bi i 1 i (ci 1 2ci ) , i 0,..., n 1. h 3 Основною перевагою кубічної сплайн-інтерполяції є отримання функції, що має мінімально можливу кривизну, а недоліком – велика кількість параметрів. ЗАВДАННЯ 1. Побудувати кубічний сплайн для функції, що задана таблицею, і знайти його значення у вказаних точках ~x . 1. 2. i xi 0 0 1 1 2 2 3 3 4 4 fi ~x i 1.0 1.54 1.58 2.01 3.35 i xi 0 0 1 1 2 2 3 3 4 4 fi ~x 1.0 0.46 2.42 3.99 4.65 i xi 0 -2 1 -1 2 0 3 1 4 2 fi ~x 0.78 1.28 0.25 0.26 1.03 i xi 0 0 1 1 2 2 3 3 4 4 fi ~x 0.73 1.36 0.31 0.32 1.05 i xi 0 0 1 1 2 2 3 3 4 4 fi ~x 0.71 1.43 0.35 0.38 1.07 0.3 0.6 i 3. 5. i 1.8 69 3.6 0.5 1.2 0.8 3.3 2.6 -0.5 0.2 i 2.3 1.6 -1.5 i 4. 1.3 1.5 2.2 2.8 3.2 3.8 6. i xi 0 -2 1 -1 2 0 3 1 4 2 fi ~x 0.68 1.48 0.38 0.4 1.08 i xi 0 0 1 1 2 2 3 3 4 4 fi ~x 1.54 0.42 0.44 1.09 0.41 i xi 0 0 1 1 2 2 3 3 4 4 fi ~x i 1.6 0.45 0.48 1.12 0.44 i xi 0 -2 1 -1 2 0 3 1 4 2 fi ~x i 0.63 1.68 0.49 0.54 1.14 i xi 0 0 1 1 2 2 3 3 4 4 fi ~x i 1.75 0.53 0.59 1.16 0.51 i xi 0 0 1 1 2 2 3 3 4 4 fi ~x 0.52 1.89 0.59 0.68 1.21 i xi 0 -2 1 -1 2 0 3 1 4 2 fi ~x 1.93 0.61 0.74 1.26 0.57 i xi 0 0 1 1 2 2 3 3 4 4 fi ~x i 0.49 2.03 0.65 0.77 1.26 -1.4 i 7. 0.25 i 8. 9. 10. 11. 13. 1.85 70 3.34 2.62 -0.3 0.85 1.47 2.34 1.62 -1.3 3.85 0.47 1.34 0.62 3.25 2.85 0.47 0.34 1.4 2.25 1.85 -1.47 i 0.4 1.25 0.85 i 12. -0.4 3.62 0.3 2.85 1.3 3.85 14. i xi 0 0 1 1 2 2 3 3 4 4 fi ~x 1.27 0.23 1.29 0.78 0.24 i xi 0 -2 1 -1 2 0 3 1 4 2 fi ~x 0.25 1.03 0.79 0.26 0.36 i xi 0 0 1 1 2 2 3 3 4 4 fi ~x i 1.31 0.26 1.73 0.76 0.27 i xi 0 0 1 1 2 2 3 3 4 4 fi ~x i 1.36 0.28 1.42 0.74 0.28 i xi 0 -2 1 -1 2 0 3 1 4 2 fi ~x i 1.35 0.29 1.45 0.74 0.34 i xi 0 -2 1 -1 2 0 3 1 4 2 fi ~x 1.37 0.31 1.52 0.75 0.33 i xi 0 0 1 1 2 2 3 3 4 4 fi ~x 1.44 0.33 1.55 0.66 0.77 i xi 0 0 1 1 2 2 3 3 4 4 fi ~x 0.0 0.72 1.56 2.84 7.73 0.53 i 15. -1.8 i 16. 17. 18. 19. 21. i 1.35 71 1.47 0.51 1.56 0.35 3.85 0.47 -0.51 0.56 3.25 2.85 -0.47 -1.51 1.8 2.25 1.85 -1.47 3.53 0.8 1.25 0.85 i 2.53 -0.8 0.25 i 20. 1.53 1.51 2.56 2.35 3.56 3.35 22. i xi 0 1 1 2 2 3 3 4 4 5 fi ~x 2.8 1.82 1.61 1.57 1.56 i xi 0 -2 1 -1 2 0 3 1 4 2 fi ~x -2.22 -0.19 0.79 1.56 2.23 i xi 0 -2 1 -1 2 0 3 1 4 2 fi ~x -1.86 -0.63 1.0 3.72 9.39 i xi 0 0 1 1 2 2 3 3 4 4 fi ~x 0.0 3.05 5.24 7.35 9.47 i xi 0 -1 1 0 2 1 3 2 4 3 fi ~x i 0.43 0.24 0.03 0.12 1.42 i xi 0 -2 1 -1 2 0 3 1 4 2 fi ~x -0.27 -0.37 0.0 2.71 4.77 i xi 0 0 1 1 2 2 3 3 4 4 fi ~x 0.0 0.45 0.52 0.0 -2.26 i xi 0 0 1 1 2 2 3 3 4 4 fi ~x i 0.0 0.26 0.96 1.57 1.30 1.66 i 23. -1.85 i 24. 26. 27. 28. 29. 1.47 72 2.4 0.25 1.38 0.47 3.83 1.4 -0.25 0.38 i 3.25 2.83 0.4 -1.25 i 1.85 2.25 1.83 -0.4 4.66 0.85 1.25 0.83 i 3.66 -0.85 0.25 i 25. 2.66 1.25 2.38 2.47 3.38 3.47 30. i xi 0 2 1 3 2 4 3 5 4 6 fi ~x 10.0 2.0 1.11 0.77 0.59 2.34 i 3.34 4.34 5.34 ПРИКЛАД РОЗРАХУНКІВ 1. Побудувати кубічний сплайн для функції, що задана таблицею, і знайти його значення у вказаних точках ~ x. i xi 0 -2 1 -1 2 0 3 1 4 2 fi ~x 1.36 0.75 -1.21 0.33 -0.25 -1.3 -0.3 0.3 Побудуємо чотири сплайн-функції для кожного з інтервалів: i 1.3 [2;1] − S 0 ( x) a0 b0 ( x x0 ) c0 ( x x0 ) 2 d 0 ( x x0 ) 3 , [1; 0] − S1 ( x) a1 b1 ( x x1 ) c1 ( x x1 ) 2 d1 ( x x1 )3 , [0; 1] − S2 ( x) a2 b2 ( x x2 ) c2 ( x x2 )2 d2 ( x x2 )3 , [1; 2] − S3 ( x) a3 b3 ( x x3 ) c3 ( x x3 ) 2 d3 ( x x3 )3 . Знаходимо коефіцієнти сплайн-функцій. Уведемо початкові дані: значення інтерполяційних вузлів - , значення функції у вузлах - , значення точок, у яких інтерполюється функція - . x 1 0 1 2 2 f 0.75 1.21 z 0.33 0.25 1.36 1.3 0.3 1.3 0.3 Знаходимо коефіцієнти ai i 0,..., n 1 : 1.36 0.75 i 0 3 ai f i a 1.21 0.33 Для знаходження коефіцієнтів с i i 0,..., n потрібно скласти систему лінійних алгебраїчних рівнянь, яку розв’яжемо за допомогою спеціального обчислювального блоку Mathcad Given/Find: 4 1 0 i 0 4 ci 0 F 1 4 1 i 0 2 g i 3 f i 2 2 f i 1 f i 0 1 4 0 1.948 c1 Given F c2 g c Find ( c) c 3.744 c3 2.526 0 73 Знаходимо коефіцієнти d i , bi i 0,..., n 1 , де h – крок між вузлами інтерполяції: h 1 d 3 c3 3 h i 0 2 d i d ci 1 ci 3 h 0.649 2.09 0.842 1.897 0.039 1.909 f i 1 f i h i 0 3 b i c i 1 2 ci b 0.114 h 3 1.104 Тепер можемо записати сплайн-функції для кожного інтервалу: [2;1] − S0 ( x) 1.36 0.039( x 2) 0.649( x 2)3 , [1; 0] − S1 ( x) 0.75 1.909( x 1) 1.948( x 1) 2 1.897( x 1)3 , [0; 1] − S2 ( x) 1.21 0.114x 3.744x 2.09x , [1; 2] − S3 ( x) 0.33 1.104( x 1) 2.526( x 1) 2 0.842( x 1)3 . 2 3 (*) Використовуючи отримані сплайни знайдемо значення функції f(x) у заданих точках: 1.165 0.89 2 3 i 0 3 Si ai b i zi xi ci zi xi d i zi xi S 0.964 0.457 Знайдемо розв’язок цієї ж задачі, використовуючи функції середовища Mathcad. v lspline( x f ) y ( t) interp ( v x f t) 1.5 1.3 1.1 0.9 0.7 0.5 0.3 f y( t ) 0.1 2 1.2 0.4 0.1 0.4 1.2 2 0.3 0.5 0.7 0.9 1.1 1.3 1.5 x t Тут функція interp(v,x,f,t) апроксимує дані векторів x і f кубічними сплайнами. v – вектор других похідних, створений функцією lspline(x,f), яка спирається на умову (54). Із графіку видно, що побудований сплайн y(t) у вузлах інтерполяції приймає задані значення y (ti ) f ( xi ), ti xi , i 0, 1,..., n . Порівняємо графіки і значення отриманих сплайн-функції (*) з функцією y(t) на кожному інтервалі. 74 S( i t) ai bit xi ci t xi di t xi 2 i 0 3 3 інтервал [2;1] : 1.5 1 f y ( 1.3) 1.165 0.5 y( t) 2.1 2 1.9 1.8 1.7 1.6 1.5 1.4 1.3 1.2 1.1 S( 0 1.3) 1.165 1 S ( 0 t) 0.5 1 1.5 x t інтервал [1; 0] : 1.5 1 f y ( 0.3) 0.89 0.5 y( t) 1.1 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.5 S ( 1 t) S( 1 0.3) 0.89 1 1.5 x t інтервал [0; 1] : 1.5 1.5 f 1 0.5 1 y( t) f 0.1 0 0.5 0.5 y( tS)( 2 t) S ( 2 t) 0.1 0 1 0.5 0.1 0.1 0.2 0.2 0.3 0.3 0.4 0.4 0.5 0.5 0.6 0.6 0.7 0.7 0.8 0.8 0.9 0.9 1 1 y ( 0.3) 0.964 S( 2 0.3) 0.964 1.5 1 x t 1.5 x t інтервал [1; 2] : 1.5 1 f 0.5 y ( 1.3) 0.457 y( t) 0.9 1 1.1 1.2 1.3 1.4 1.5 1.6 S ( 3 t) 0.5 1.7 1.8 1.9 2 S( 3 1.3) 0.457 1 1.5 x t Як бачимо, побудовані сплайн-функції (*) мають повне співпадання з функцією y(t). Отже, задача розв’язана коректно. 75 КОНТРОЛЬНІ ПИТАННЯ ДЛЯ САМОПЕРЕВІРКИ 1. 2. 3. 4. 5. Коли використовується інтерполяція функцій? Що таке сплайн-інтерполяція? Що таке кубічний сплайн і як його побудувати? Переваги і недоліки інтерполяції сплайнами. З якими ще методами наближення функцій Ви знайомі? 76 ТЕМА 8. Чисельне диференціювання Лiтература: [2], пп. 1.1-1.3; [4], §§2.8-2.11; [5], п. 3.3; [6], гол. 8 ТЕОРЕТИЧНІ ВІДОМОСТІ Формули чисельного диференціювання, як правило, використовуються, якщо функція від якої треба знайти похідну задана табличним способом. При розв’язанні практичних задач використовують наближення перших та других похідних. Найпростішими формулами чисельного диференціювання замінюють значення похідної в точці. Нехай функція f (x) задана в точках xi 1, xi , xi 1 ( xi 1 xi xi xi 1 h) значеннями yi 1, yi , yi 1 . Тоді значення похідної в точці xi можна визначити за формулами: y yi f ( xi ) i 1 – права різницева похідна; (56) h y yi 1 f ( xi ) i – ліва різницева похідна; (57) h y yi 1 f ( xi ) i 1 – центральна різницева похідна. (58) 2h Похибки формул (56), (57) мають перший порядок точності по h h h пр max f '' () , л max f '' () , а формула (58) – другий 2 [ xi ; xi 1 ] 2 [ xi 1 ; xi ] 2 h ц max f ''' () . 6 [ xi 1 ; xi 1 ] Значення другої похідної обчислюють відповідно за формулою: y 2 yi yi 1 f ( xi ) i 1 , (59) h2 h2 яка має другий порядок точності max f IV () . 12 [ xi 1 ; xi 1 ] Більш точні формули можна отримати при використанні інтерполяційних поліномів. Нехай функція f (x) задана таблично на відрізку [a; b] в точках ba , i 0, n , де n N значеннями f ( x0 ) y0 , x0 a, xi x0 i h, h n f ( x1) y1, ..., f ( xn ) yn . Щоб отримати формули наближеного диференціювання, замінюють функцію інтерполюючою функцією F (x) , а потім вважають: f ( x) F ( x) на x [a; b] . Аналогічно чинять при знаходженні похідної другого порядку. Але слід зауважити, що наближене диференціювання являє собою операцію менш точну, ніж інтерполювання. Дійсно близькість ординат двох кривих 77 y f (x) та y F (x) на відрізку [a; b] , ще не гарантує близькості на цьому відрізку їхніх похідних f (x) та F (x) . Формули першої та другої похідної у випадку нерівновіддалених вузлів отримають диференціюванням інтерполяційного полінома Ньютона: Pn ( x) f ( x0 ) ( x x0 ) f ( x0 ; x1 ) ( x x0 )( x x1 ) f ( x0 ; x1; x2 ) ( x x0 )( x x1 ) ( x x2 ) f ( x0 ; x1; x2 ; x3 ) ( x x0 )( x x1 ) ( x x2 ) ( x x3 ) f ( x0 ; x1; x2 ; x3 ; x4 ) ... f ( x0 ) ( x x0 ) f ( x0 ; x1 ) ( x 2 x( x0 x1 ) x0 x1 ) f ( x0 ; x1; x2 ) ( x 3 x 2 ( x0 x1 x2 ) x( x0 x1 x0 x2 x1 x2 ) x0 x1 x2 ) f ( x0 ; x1; x2 ; x3 ) ( x 4 x 3 ( x0 x1 x2 x3 ) x 2 ( x0 x1 x0 x2 x0 x3 x1 x2 x1 x3 x2 x3 ) x( x0 x1 x2 x0 x1 x3 x0 x2 x3 x1 x2 x3 ) x0 x1 x2 x3 ) f ( x0 ; x1; x2 ; x3 ; x4 ) ... . Тут f ( x0 ; x1 ), f ( x0 ; x1; x2 ) , f ( x0 ; x1; x2 , x3 ) , f ( x0 ; x1; x2 , x3 , x4 ) - поділені різниці. Pn ( x) f ( x0 ; x1 ) (2 x x0 x1 ) f ( x0 ; x1; x2 ) (3x 2 2 x( x0 x1 x2 ) x0 x1 x0 x2 x1 x2 ) f ( x0 ; x1; x2 ; x3 ) (4 x 3x ( x0 x1 x2 x3 ) 2 x( x0 x1 x0 x2 x0 x3 x1 x2 x1 x3 x2 x3 ) 3 2 (60) ( x0 x1 x2 x0 x1 x3 x0 x2 x3 x1 x2 x3 )) f ( x0 ; x1; x2 ; x3 ; x4 ) ... . Pn( x) 2 f ( x0 ; x1; x2 ) (6 x 2( x0 x1 x2 )) f ( x0 ; x1; x2 ; x3 ) (12 x 2 6 x( x0 x1 x2 x3 ) 2( x0 x1 x0 x2 x0 x3 x1 x2 x1 x3 x2 x3 )) f ( x0 ; x1; x2 ; x3 ; x4 ) ... . Формули першої та другої похідної у випадку рівновіддалених вузлів можна отримати диференціюванням інтерполяційного полінома Лагранжа: q(q 1) ... (q n) . i ! ( n i )! ( q i ) i 0 dLn ( x) dLn ( x) dq 1 dLn ( x) . dx dq dx h dq Ln ( x) n (1) n i yi 1 n (1) n i d q(q 1) ... (q n) f x yi . h i 0 i!(n i )! dq (q i ) Аналогічно визначають другу похідну: 1 n (1) n i d 2 q(q 1) ... (q n) f x 2 yi . (q i ) h i 0 i!(n i )! dq 2 Формули (60), (61) мають n-ий порядок точності по h. 78 (61) (62) ЗАВДАННЯ 1. Обчислити першу та другу похідні від заданої функції f (x) в точці x2 , використовуючи найпростіші формули чисельного диференціювання. Оцінити похибку обчислень. 2. Обчислити першу та другу похідні від заданої функції f (x) в точці x2 , використовуючи інтерполяційні поліноми. Оцінити похибку обчислень. 1. f ( x) ex e x 2 i xi 0 1.0 1 1.25 2 1.5 3 1.75 4 2.0 2. e x x 2 f ( x) 2 i xi 0 0.5 1 0.6 2 0.7 3 0.8 4 0.9 3. f ( x) sin( x) 1 e sin( x ) i xi 0 0.6 1 0.7 2 0.8 3 0.9 4 1.0 4. f ( x) cos(x) 1 e cos(x ) i xi 0 2.6 1 2.7 2 2.8 3 2.9 4 2.0 5. f ( x) x e x i xi 0 0.3 1 0.4 2 0.5 3 0.6 4 0.7 6. f ( x) x2 1 x i xi 0 0.1 1 0.2 2 0.3 3 0.4 4 0.5 7. f ( x ) tg ( x ) x i xi 0 0.3 1 0.4 2 0.5 3 0.6 4 0.7 8. f ( x) x ln( x) 1 i xi 0 0.1 1 0.2 2 0.3 3 0.4 4 0.5 9. x3 f ( x) tg 3 i xi 0 0.2 1 0.3 2 0.4 3 0.5 4 0.6 3 x3 1 2 x2 1 2 5 f ( x) x 3 7 7 x i xi 0 0.15 1 0.20 2 0.25 3 0.30 4 0.35 i xi 0 0.15 1 0.20 2 0.25 3 0.30 4 0.35 1x i xi 0 0.36 1 0.38 2 0.40 3 0.42 4 0.44 i xi 0 0.2 1 0.3 2 0.4 3 0.5 4 0.6 i xi 0 0.2 1 0.3 2 0.4 3 0.5 4 0.6 2 10. 11. 1 f ( x) (e x 1) 12. f ( x) e 13. f ( x) ln(1 e e ) 14. f ( x) 15. f ( x) x ln(ln( x)) i xi 0 1.20 1 1.25 2 1.30 3 1.35 4 1.40 16. f ( x) x sin( x) x 2 cos(x) x i xi 0 1.20 1 1.25 2 1.30 3 1.35 4 1.40 x sin( x) x cos(x) x 79 17. 1 1 2 f ( x) x 2 3 3 3 x2 1 i xi 0 1.2 1 1.3 2 1.4 3 1.5 4 1.6 18. 0,25 x 4 1 f ( x) x i xi 0 1.2 1 1.4 2 1.6 3 1.8 4 2.0 19. f ( x) i xi 0 1.4 1 1.45 2 1.5 3 1.55 4 1.6 20. f ( x) 2 i xi i xi i xi i xi 0 1.3 0 1.0 0 1.0 0 2.0 1 1.4 1 1.25 1 1.25 1 2.25 2 1.5 2 1.5 2 1.5 2 2.5 3 1.6 3 1.75 3 1.75 3 2.75 4 1.7 4 2.0 4 2.0 4 3.0 21. 22. 23. ln( x x 2 1) x2 1 x 2 x 2 x ln( x) f ( x) ln( x) 1 1 f ( x) ln( x) 1 x 1 f ( x) 2(ln( x) 1) x 24. 2 f ( x) e x e x 2 e x 2 i xi 0 1.2 1 1.3 2 1.4 3 1.5 4 1.6 25. f ( x) e sin( x ) e sin( x ) i xi 0 1.2 1 1.3 2 1.4 3 1.5 4 1.6 26. x2 1 f ( x ) 1 e 2 x i xi 0 1.4 1 1.45 2 1.5 3 1.55 4 1.6 27. f ( x) cos(sin( x)) sin(cos( x)) i xi 0 0.2 1 0.3 2 0.4 3 0.5 4 0.6 cos(2 x) sin(2 x) cos(x) 1 x f ( x) sin( x) cos(x) cos(x) i xi i xi 0 0.6 0 0.2 1 0.65 1 0.3 2 0.7 2 0.4 3 0.75 3 0.5 4 0.8 4 0.6 i xi 0 2.2 1 2.3 2 2.4 3 2.5 4 2.6 28. 29. 30. f ( x) f ( x) e2x 3e 2 (3x 1)e x 3e ПРИКЛАД РОЗРАХУНКІВ 1. Обчислити першу та другу похідні від заданої функції f(x) в точці x2 , використовуючи найпростіші формули чисельного диференціювання. Оцінити похибку обчислень. ex i 0 1 , xi 1.0 1.25 x Отримаємо значення функції в заданих точках: f ( x) f ( x) e x x 80 2 1.5 3 1.75 4 2.0 1.0 1.25 X 1.5 1.75 2.0 2.718 2.792 y 2.988 3.288 3.695 i y f X i 0 4 i h X X 0.25 1 0 Обчислимо праву, ліву та центральну різницеві похідні для точки x 2 1.5 : y y 3 P1_rigth y y 2 1.202 h 2 P1_lefth h 1 y y P1_central 0.782 3 2 h 1 0.992 Визначимо фактичне значення похідної у вказаній точці і похибки наближених формул: x x e e d f ( x) x 2 dx x f1( x) e x x e x f1( 1.5) 0.996 2 x E_rigth f1( 1.5) P1_rigth 0.206 E_left f1( 1.5) P1_lefth 0.214 E_central f1(1.5) P1_central 0.0038 Оцінимо похибки аналітично. Для цього треба визначити найбільше за модулем значення другої та третьої похідних на розрахункових інтервалах. d 2 2 f ( x) dx e x x x 2 e 2 x 2 e x f2( x) 3 x e x x 2 e x 2 2 e x 3 x x f2( 1.25) 1.899 f2(1.5) 1.66 f2( 1.75) 1.678 для правої різницевої похідної на інтервалі [x2; x3] _rigth 3 3 dx 2 f2( 1.75) 0.2097 для лівої різницевої похідної на інтервалі [x1; x2] _lefth d h f ( x) e x x 3 e x 2 x 6 e x 3 x 6 e h 2 f2( 1.5) 0.2075 x 4 f3( x) x 81 e x x 3 e x 2 x 6 e x 3 x 6 e x 4 x f3( 1.25) 1.765 f3( 1.75) 0.412 для центральної різницевої похідної на інтервалі [x1; x3] h _central 2 f3( 1.25) 0.0184 6 Обчислимо другу похідну для точки x 2 1.5 та похибку формули: y 2 y y 3 P2_central 2 h 1 2 1.681 f2(1.5) 1.66 E2_central f2(1.5) P2_central 0.0206 d 4 4 e f ( x) x x dx 4 e x 2 12 e x 3 x 24 e x 4 x x 24 e x f4( x) 5 d 4 4 f ( x) dx x f4( 1.25) 8.439 f4( 1.75) 2.346 2_central h 2 12 f4( 1.25) 0.044 2. Обчислити першу та другу похідні від заданої функції f(x) в точці x2 , використовуючи інтерполяційні поліноми. Оцінити похибку обчислень. f ( x) ex , x i xi 0 1.0 1 1.25 2 1.5 3 1.75 4 2.0 Побудуємо інтерполяційний поліном Ньютона. Знайдемо поділені різниці: y y f01 f012 f0123 1 0 h y y 0.296 f12 f01 2 h 0.972 f123 f012 3 h f12 0.176 2 h 1 y y 0.782 f123 f1234 f23 f23 f12 2 h 3 2 h 0.84 f234 f123 3 h 82 0.0064 y y 1.202 f234 f34 f34 f23 2 h 4 h 3 1.625 0.845 f1234 f0123 f01234 4 h 0.182 2 N2( x) x x X X X X f012 0 1 0 1 3 2 N3( x) x x X X X x X X X X X X X X X f0123 0 1 2 0 1 0 2 1 2 0 1 2 4 3 2 N4( x) x x X X X X x X X X X X X X X X X X X 0 1 2 3 0 1 0 2 0 3 1 2 1 3 2 3 N4( x) N4( x) x X X X X X X X X X X X X X X X X f01234 0 1 2 0 1 3 0 2 3 1 2 3 0 1 2 3 N1( x) x X f01 0 N ( x) y N1 ( x) N2 ( x) N3 ( x) N4 ( x) 0 f (1.5) N( 1.5) 0 N( 1.5) 2.9878 Обчислимо значення першої похідної та її похибку: NP1( x) f01 NP2( x) 2 x X X 0 1 2 NP3( x) 3 x 2 x X X X X X X X X X f0123 0 1 2 0 1 0 2 1 2 f012 0 1 2 3 2xX0X1 X0X2 X0X3 X1X2 X1X3 X2X3 NP4( x) NP4( x) X X X X X X X X X X X X f01234 0 1 2 0 1 3 0 2 3 1 2 3 3 2 NP4( x) 4 x 3x X X X X NP(x) NP1(x) NP2(x) NP3(x) NP4(x) NP(1.5) 0.9974 _NP f1(1.5) NP( 1.5) 0.0015 Обчислимо значення другої похідної та її похибку: NPP2( x) 2 f012 0 1 2 f0123 2 NPP4( x) 12 x 6x X X X X 2X X X X X X X X X X X X f01234 0 1 2 3 0 1 0 2 0 3 1 2 1 3 2 3 NPP3( x) 6 x 2 X X X NPP( x) NPP2(x) NPP3( x) NPP4( x) NPP( 1.5) 1.6577 _NPP f2( 1.5) NPP( 1.5) 0.0021 Тепер побудуємо інтерполяційний поліном Лагранжа. 4 ( 1) y L0( q) 1 q 9q 26q 24q 2 q 8q 19q 12q 3 L1( q) 1 3 2 ( 1) y L2( q) 2 2 q 10q 35q 50q 24 0 4 ( 1) y 4 0 3 2 4 3 2 4 3 2 83 1 ( 1) y L3( q) 2 4 3 2 4 q 6q 11q 6q 0 L4( q) 3 q 7q 14q 8q 3 1 ( 1) y 4 3 4 0 L(q) L0(q) L1(q) L2(q) L3(q) L4(q) xX 0 q ( x) q(1.5) 2 h f ( 1.5) L( q( 1.5) ) 0 L( q( 1.5) ) 2.9878 Обчислимо значення першої похідної та її похибку: 4 ( 1) y LP0( q) 0 0 4 3 ( 1) y LP1( q) 1 1 3 LP2( q) 2 2 2 3 2 3 2 3 2 3 2 3 2 4q 27q 52q 24 2 ( 1) y 4q 30q 70q 50 4q 24q 38q 12 1 ( 1) y LP3( q) 3 4q 21q 28q 8 4 4q 18q 22q 6 3 1 0 ( 1) y LP4( q) 4 0 LP( q) ( LP0( q) LP1( q) LP2( q) LP3( q) LP4( q) ) xX q ( x) 0 1 h q(1.5) 2 h LP( q( 1.5) ) 0.9974 P f1(1.5) LP(q(1.5)) 0.0015 Обчислимо значення другої похідної та її похибку: 4 ( 1) y LPP0( q) 2 2 2 2 2 0 12q 60q 70 1 12q 54q 52 2 12q 48q 38 0 4 3 ( 1) y LPP1( q) 1 3 2 ( 1) y LPP2( q) LPP3( q) 2 2 1 ( 1) y 3 3 1 0 ( 1) y LPP4( q) 4 0 4 12q 42q 28 12q 36q 22 84 LPP( q ) ( LPP0( q ) LPP1( q ) LPP2( q ) LPP3( q ) LPP4( q ) ) h xX q ( x) 1 0 2 q(1.5) 2 h LPP(q(1.5)) 1.6577 PP f2(1.5) LPP( q(1.5)) 0.0021 Як бачимо, значення інтерполяційних поліномів в заданій точці x 2 1.5 співпали із значенням функції, що говорить про правильність їх побудови. Однак, задачі чисельного диференціювання мають похибки, що свідчить про те, що наближене диференціювання являє собою операцію менш точну, ніж інтерполювання. КОНТРОЛЬНІ ПИТАННЯ ДЛЯ САМОПЕРЕВІРКИ 1. 2. 3. 4. Коли використовується чисельне диференціювання? Приведіть найпростіші формули заміни першої та другої похідної різницями. Як обчислити значення похідних за допомогою інтерполяційних поліномів? Що ви можете сказати про точність задач чисельного диференціювання? 85 ТЕМА 9. Чисельне інтегрування Лiтература: [2], пп. 2.1-2.5; [4], §§2.12-2.13; [5], п. 3.4; [6], гол. 8; [7], пп. 5.1-5.4 ТЕОРЕТИЧНІ ВІДОМОСТІ Якщо функція f(x) – неперервна на відрізку [a,b] і відома її первісна функція F(x), то визначений інтеграл від цієї функції у границях від а до b може бути обчислений за формулою Ньютона-Лейбниця: b I f ( x)dx F (b) F (a), де F (x) f(x). (63) a Але в багатьох випадках первісна функція F(x) не може бути знайдена, або є дуже складною. Крім того, підінтегральна функція f(x) може бути задана таблично, тоді поняття первісної функції взагалі втрачає сенс. Постає задача наближеного обчислення інтегралів за допомогою чисельних методів. Усі чисельні методи обчислення інтегралів базуються на геометричній інтерпретації визначеного інтеграла, значення якого чисельно дорівнює площі фігури, що обмежена зверху – графіком функції f(x), знизу – віссю 0х, зліва та справа – межами інтегрування x=a, x=b (рис. 7). Для знаходження площі відрізок [a,b] розбивають на n рівних частин довжиною h, де h b a . Значення n n обирають, виходячи з умови задоволення точності обчислень. Значення інтеграла I шукають як суму елементарних площадей фігур, що побудовані на інтервалах [ xi , xi h] . Рис.7 Метод лівих прямокутників. Апроксимуємо площі елементарних криволінійних трапецій, обмежених зверху графіком функції f(x), площами прямокутників, висота яких дорівнюватиме значенню f(x) у лівому кінці інтервалу [ xi , xi h] (рис. 8). Загальну площу фігури обчислимо, як суму площ окремих елементарних прямокутників: 86 Рис.8 b a n 1 b a n 1 (64) y i f ( xi ). n i 0 n i 0 i 0 Точність формули лівих прямокутників можна оцінити так: (b a) 2 (65) f (), 2n де [a, b] - точка, в якій перша похідна функції f(x) набуває найбільшого за модулем значення. Метод правих прямокутників. Апроксимуємо площі елементарних криволінійних трапецій, обмежених зверху графіком функції f(x), площами прямокутників, висота яких дорівнюватиме значенню f(x) у правому кінці інтервалу [ xi , xi h] (рис. 9). Загальну площу фігури обчислимо, як суму площ окремих елементарних прямокутників: I n 1 Si Рис.9 ba ba n (66) I Si yi n f ( xi ). n i 1 i 1 i 1 Точність формули правих прямокутників можна оцінити за формулою (65). Метод середніх прямокутників. Апроксимуємо площі елементарних криволінійних трапецій, обмежених зверху графіком функції f(x), площами прямокутників, висота яких дорівнюватиме значенню f(x) у середині інтервалу n n 87 h [ xi , xi h] - yi 1 f xi f xi 1 (рис. 10). Загальну площу фігури об2 2 2 числимо, як суму площ окремих елементарних прямокутників: Рис.10 n 1 n 1 ba b a n 1 h (67) I Si yi 1 f ( xi ). n i 0 n i 0 2 2 i 0 Точність формули середніх прямокутників можна оцінити так: (b a )3 (68) f (), 24n 2 де [a, b] - точка, в якій друга похідна функції f(x) набуває найбільшого за модулем значення. Метод трапецій. Апроксимуємо площі елементарних криволінійних трапецій, обмежених зверху графіком функції f(x), площами трапецій, висота яких дорівнюватиме h, а довжини основ значенням f(x) у правому й лівому кінцях інтервалу [ xi , xi h] - f ( xi ) й f ( xi h) (рис. 11). Загальну площу фігури обчислимо, як суму площ окремих елементарних трапецій: Рис. 11 I n 1 Si i 0 ba n y y0 y1 ... yn 1 n 2 2 88 f ( xn ) b a f ( x0 ) f ( x1 ) ... f ( xn 1 ) (69) . n 2 2 Точність формули трапецій можна оцінити так: (b a )3 (70) f (), 2 12n де [a, b] - точка, в якій друга похідна функції f(x) набуває найбільшого за модулем значення. Метод Симпсона. Апроксимуємо площі елементарних криволінійних трапецій, обмежених зверху графіком функції f(x), площами криволінійних трапецій, обмежених зверху параболою, що проходить через три точки ( x2i , y2i ) , ( x2i 1, y2i 1 ) , ( x2i 2 , y2i 2 ) , i 0,1,..., n (рис. 12). Кількість точок для формули Симпсона має бути завжди парною - n 2m . Загальну площу фігури обчислимо, як суму площ окремих елементарних криволінійних трапецій: Рис.12 n 1 I Si i 0 ba ( y0 y2m ) 4( y1 y3 ... y2m 1 ) 2( y2 y4 ... y2m 2 ) 3n h f ( x0 ) f ( x2m ) 4 f ( x1 ) ... f ( x2m 1 ) 2 f ( x2 ) ... f ( x2m 2 ) (71) 3 Точність формули Симпсона можна оцінити так: (b a)5 IV (72) f (), 180n 4 де [a, b] - точка, в якій четверта похідна функції f(x) набуває найбільшого за модулем значення. ЗАВДАННЯ 1. Методами прямокутників, трапецій та Симпсона обчислити значення інтеграла з точністю 103 . Значення n обрати з умови задоволення точності розрахунків. 89 1. 0,8 2. 0 1,6 x cosxdx dx 1 x2 16. 0, 6 17. 0 1 0 ,9 x 4. 0, 5 1 x4 x 0,1 3 e 2 0,1 x 1,5 3. dx 2 18. 0,5 19. 1,0 x 20. 0 ,25 dx x4 dx 1 x 3dx 0 3 x arctg( x)dx 3 e dx x 0,1 0 5. 0, 5 dx 6. 4 7. 0 21. cos x dx x 10 x sin xdx 8. 0 0,5 9. 1,0 1 x 3 dx 22. x 0,1 10. 1,0 0 11. 1 0 12. 13. 14. 24. 1,0 25. 26. x 1 x2 2 cos x dx 0 1,0 1, 2 cos x dx x 0,1 x sin xdx 1 3 dx 0 2 dx 27. 2 28. dx 1 x3 sin x dx x 4 1,0 x cos xdx 1,6 sin(2 x 2,1) 1, 2 cos x 29. 1,0 30. 0, 2 1, 2 dx 0, 4 x 1 15. dx 0 sin x x3 4 1,0 0 1, 2 e 0 2 x 3 0, 2 x 23. dx dx 3 dx 1 x4 0,1 1,0 0 sin x 0,5 0 6 0,8 1 x2 0 2 e x dx 2 cos x x 2 1dx 0,8 90 x2 1 dx x 1 cos x 2 dx tgx2 x 1dx 0,5 ПРИКЛАД РОЗРАХУНКІВ 1. Методами прямокутників, трапецій та Симпсона обчислити значення інтеграла з точністю 104 . Значення n обрати з умови задоволення точності розрахунків. 2 1 3x 2 4 x 2dx 2 Формули лівих і правих прямокутників Задана точність 103 . Обчислимо значення n для її забезпечення за формулою: (b a) 2 f (). 2 Знайдемо значення ξ - точку, в якій перша похідна функції f(x) набуває найбільшого за модулем значення. n 1 f ( x) 2 3x 4x 2 f1( x) d f ( x) dx 0.001 6 x 4 3x2 4x 22 a 2 b 0 Як бачимо, функція має два екстремуми. X1 1 X1 Maximize( f1X1) 0.939 - перший екстремум f1( X1) 2.067 X2 0.3 X2 Minimize( f1X2) 0.395 - другий екстремум f1( X2) 2.067 Значення функції в них однакове за модулем. Тому оберемо: Q f1(X1) і знайдемо n: n ( b a) 2 2 Q 4133.514 Заокруглимо до цілого: n=4200. Знайдемо значення інтеграла за формулами лівих та правих прямокутників та обчислимо і порівняємо похибку: N 4200 b I f ( x) dx 1.5459 a h b a N 0.00048 91 i 0 N X a i h i i Y f X i N 1 I_left h Y 1.5459 i i 0 N I_right h Y 1.546 i i 1 5 _left I I_left 7.939 10 5 _right I I_right 7.934 10 Отримані похибки менше заданої. Формула середніх прямокутників Задана точність 10 . Обчислимо значення n для її забезпечення за формулою: 3 (b a ) 3 f () . 24 Знайдемо значення ξ - точку, в якій друга похідна функції f(x) набуває найбільшого за модулем значення. n f2( x) d 2 2 f ( x) dx 2 ( 6 x 4) 2 3x2 4x 2 3 6 3x2 4x 2 2 5 1.667 2 1.75 1.5 1.25 1 0.75 0.5 0.25 1.667 0 5 f2( x) 8.333 11.667 15 x Як бачимо, найбільшого за модулем значення функція набуває в точці: X1 1 X1 Minimize( f2X1) 0.667 f2( X1) 13.5 Q f2(X1) і знайдемо n. 92 n ( b a) 3 Q 67.082 24 Заокруглимо до цілого: n=70. Знайдемо значення інтеграла за формулою середніх прямокутників та обчислимо і порівняємо похибку: n ( b a) 3 24 Q 67.082 h N 70 b a N 0.02857 i 0 ( N 1) X a i h i h i Y f X i 2 N 1 I_middle h Y 1.546 5 _middle I I_middle 4.157 10 i i 0 Формула трапецій Задана точність 10 . Обчислимо значення n для її забезпечення за формулою: 3 (b a ) 3 f () . 12 Значення точки ξ, в якій друга похідна функції f(x) набуває найбільшого за модулем значення відоме з попереднього методу.Тому: n n ( b a) 12 3 Q 94.868 Заокруглимо до цілого: n=100. Знайдемо значення інтеграла за формулою трапецій та обчислимо і порівняємо похибку: h N 100 b a N 0.02 i 0 N X a i h i Y f X i i Y0 YN I_trapeze h 2 N 1 Y 1.5459 i1 i 5 _trapeze I I_trapeze 4.074 10 Формула Симсона Задана точність 10 . Обчислимо значення n для її забезпечення за формулою: 3 (b a ) 5 IV f ( ) . 180 Знайдемо значення ξ - точку, в якій четверта похідна функції f(x) набуває найбільшого за модулем значення. n4 93 d f4( x) 4 4 f ( x) dx 216 3x2 4x 2 3 144 ( 6 x 4) 2 3x2 4x 2 4 24 ( 6 x 4) 4 3x2 4x 2 5 6 ( 6 x 4) ( 72 x 48) 3x2 4x 2 4 X1 0.7 X1 Maximize( f4X1) 0.667 f4( X1) 729 Q f4(X1) 4 n ( b a) 5 180 Q 18.974 Заокруглимо до цілого: n=20. Знайдемо значення інтеграла за формулою Симпсона та обчислимо і порівняємо похибку: h N 20 b a N 0.1 i 0 N X a i h i i 13 19 S1 j 24 18 Yi 7.74 S2 i I_Simpson i Y f X i Yj 7.376 j h 3 Y Y 4 S1 2 S2 1.5459 0 N 6 _Simpson I I_Simpson 3.717 10 Бачимо, що формула Симпсона є самою ефективною, висока точність розрахунків забезпечується при невеликих значеннях n. 94 КОНТРОЛЬНІ ПИТАННЯ ДЛЯ САМОПЕРЕВІРКИ 1. 2. 3. 4. 5. 6. 7. 8. Коли застосовується чисельне інтегрування? Що називається механічною квадратурою? У чому міститься прийом механічної квадратури? Який загальний геометричний зміст чисельних методів обчислення визначених однократних інтегралів? Зміст методів прямокутників, їхня похибка. Зміст методу трапецій, його похибка. Зміст методу Симпсона, його похибка. Як обчислити інтеграл із заданою точністю? 95 ТЕМА 10. Чисельне розв’язування задачі Коші для звичайного диференціального рівняння першого порядку Лiтература: [2], пп. 3.1-3.6; [3], §§5.1-5.6; [4], §§3.1-3.5; [5], п. 4.1; [6], гол. 9 ТЕОРЕТИЧНІ ВІДОМОСТІ Задача Коші для звичайного диференційного рівняння першого порядку формулюється так: знайти функцію (73) y y (x) , що є розв’язком диференційного рівняння (74) y f ( x, y) і задовольняє початковій умові (75) y0 y( x0 ) . Чисельні методи розв’язування задачі Коші подають розв’язок у вигляді таблиці чисел, тобто знаходять значення функції (73) в окремих точках xi (i=0,1,2,…). Найпростішим методом розв’язування задачі Коші (73)-(75) є метод Ейлера. Його ідея полягає в заміні інтегральної кривої (73), що проходить через точку M 0 ( x0 , y0 ) ламаною лінією M 0 M1M 2 ... з вершинами M i ( xi , yi ) (рис. 13), які визначаються за ітераційними формулами: xi x0 ih , (76) (i=0,1,2,…). yi 1 yi hf ( x, y) , Рис.13 Недоліком метода Ейлера є його низька точність, яка пропорційна величині h. Тобто, щоб уточнити результат на один десятковий знак, необхідно зменшити крок в десять разів. Крім того метод часто буває нестійким (малі локальні помилки призводять до значного збільшення глобальної). Тому його застосовують для орієнтовних розрахунків. Більш точним є вдосконалений метод “предиктор-коректор” (інша назва - ме- 96 тод Ейлера-Коші), за яким спочатку визначають “грубе” наближення розв’язку: ~ yi 1 yi hf ( xi , yi ) , (77) звідки знаходять направлення інтегральної кривої: ~ (78) f i 1 f ( xi 1, ~ yi 1 ) . Потім вважають: ~ f i f i 1 (79) y i 1 y i h , (i=0,1,2,…). 2 Похибка методу “предиктор-коректор” має порядок h 2 . В обчислювальній практиці найбільш часто використовують метод РунгеКутти, який має точність пропорційну h 4 . Приведемо його розрахункові формули: xi 1 xi h, k 2k2 2k3 k4 yi 1 yi 1 , 6 k1 hf ( xi , yi ), k h k 2 hf ( xi , yi 1 ), 2 2 k h k3 hf ( xi , yi 2 ), 2 2 (i=0,1,2,…,n). k 4 hf ( xi h, yi k3 ), (80) Всі розглянуті методи є однокроковими, в яких, щоб знайти наближений розв’язок у точці хi+1, досить знайти розв`язок в точці хk. В багатокрокових методах для знаходження розв’язку в наступній точці потрібна інформація більш ніж про одну з попередніх точок. Одним з найбільш простих і практично зручних методів чисельного рішення диференціальних рівнянь є метод Адамса четвертого порядку точності. Метод Адамса відноситься до багатокрокових методів: h yi 1 yi 55 f i 59 f i 1 37 f i 2 9 f i 3 , (81) 24 де fi f ( xi , yi ). Даний метод для початку розрахунків вимагає розв’язку в перших чотирьох точках. В точці х0 розв’язок у0 відомий з початкової умови, а в інших точках х1, х2, х3, х4 розв’язок y1,y2, y3, y4 можна отримати за методом Рунге-Кутти (80). ЗАВДАННЯ 1. Знайти наближений розв’язок задачі Коші для звичайного диференційного рівняння першого порядку на заданому проміжку [x0; b] методами Ейлера, “предиктор – коректор”, Рунге-Кутти, Адамса. 97 y f ( x, y ) x0 y ( x0 ) y 0 b 2 x y2 0.0 1.0 1.0 2. y x y 2 0.0 0.0 0.3 3. y x 2 y 2 0.0 0.27 1.0 4. y x 2 xy y 2 0.0 0.1 1.0 5. y x 2 xy y 2 0.0 0.0 1.0 6. y xy e y 0.0 0.0 0.1 7. y y x sin 3 y 2 x cos y 0.0 1.0 2.0 0.0 0.0 0.1 0.0 1.0 1.0 1.0 0.0 2.0 0.0 1.0 1.0 0.0 1.0 1.5 0.0 1.0 2.0 1.0 0.0 1. 8. 9. 10. 11. 12. y xy y xy3 y 1 y 2 y x 1 y xy 2 y xy2 1 y (2 y ) x y ln( x y ) 13. 14. 15. 16. y cosx y 0.0 1.0 0.0 -1.0 y 2 y 3e x 0.3 1.42 0.6 17. y y 2 x 2 1.0 1.0 2.0 18. 0.0 0.5 1.0 19. y xy( y 2 1) 2y x y y 1.0 2.0 2.0 20. y x 3 y 1.0 -1.0 2.0 21. y 2 xy x 2 0.0 0.0 0.5 22. y e x y 2 0.0 0.0 0.4 23. y x 3 y 2 0.0 0.0 0.5 24. y y e 2 y y y x 2 y x y 2 y y y2 x 1 0.0 1.0 1.0 1.0 1.0 4.0 0.0 0.0 1.0 0.0 1.0 1.0 28. y 2 x y 2.0 0.75 3.0 29. y x e y 1.0 1.0 2.0 30. y 2 x y 2 x 0.0 1.0 3.0 25. 26. 27. 2 x 98 ПРИКЛАД РОЗРАХУНКІВ 1. Знайти наближений розв’язок задачі Коші для звичайного диференційного рівняння першого порядку на заданому проміжку [x0; b] методами Ейлера, “предиктор – коректор”, Рунге-Кутти, Адамса: x0=0, y0=1, b=0,5. y 2 x y 2 , Задамо сітку по x: x 0 0 i 0 9 h 0.05 x x h i 1 T i x ( 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 ) Метод Ейлера x f ( xy ) 2 y yE 1 2 0 yE i 1 T i i yE h f x yE i yE ( 1 1.1 1.212 1.339 1.484 1.652 1.848 2.08 2.361 2.705 3.139) Метод «предиктор-коректор» yPK 1 0 i 0 9 yPK i 1 yPK h i 2 i i 1 yPKi h f xiyPKi f x yPK f x i T yPK ( 1 1.106 1.227 1.365 1.525 1.714 1.94 2.216 2.563 3.013 3.622) Метод Рунге-Кутти yR 1 0 yR i 1 z yR i i i k1 h f x yR k2 h f x h k1 2 2 h k2 k3 h f x yR i i 2 2 i yR i i k4 h f x h yR k3 z z 1 6 i ( k1 2 k2 2 k3 k4) T yR ( 1 1.106 1.227 1.365 1.526 1.716 1.943 2.222 2.572 3.03 3.653) Метод Адамса Розв’язок в перших чотирьох точках візьмемо з методу Рунге-Кутти: i 0 3 yA yR i T yA ( 1 1.106 1.227 1.365) i Далі застосуємо формулу Адамса: i 3 9 yA i 1 yA i h 24 i 55 f x yA 59f xi1 yAi1 37f xi2 yAi2 9f xi3 yAi3 i 99 T yA ( 1 1.106 1.227 1.365 1.526 1.715 1.942 2.22 2.568 3.021 3.635) Розв’яжемо тепер рівняння за допомогою функції Mathcad Odesolve: Given z 2 d y ( z) 2 y ( z) dz y(0) 1 y Odesolve ( z0.5) Побудуймо графіки отриманих розв’язків. Бачимо, що вони співпали, крім графіку, що відповідає розрахункам за методом Ейлера. 4 3.5 y ( z) yE 3 yPK 2.5 yR yA 2 1.5 1 0 0.1 0.2 0.3 0.4 0.5 z x КОНТРОЛЬНІ ПИТАННЯ ДЛЯ САМОПЕРЕВІРКИ 1. Сформулюйте задачу Коші для звичайного диференційного рівняння першого порядку. 2. Геометрична інтерпретація задачі Коші. 3. Сутність методу Ейлера, його точність. 4. Сутність модифікації метода Ейлера у методі “предиктор-коректор”. 5. Геометрична сутність метода Рунге-Кутти. 6. Які ще методи розв’язання задачі Коші Вам відомі? 100 ТЕМА 11. Скінченно-різницевий метод розв’язання крайової задачі Лiтература: [2], пп. 4.1-4.4; [3], §§6.1-6.3; [4], §§3.7, 3.9; [5], п. 4.2.2; [6], гол. 9 ТЕОРЕТИЧНІ ВІДОМОСТІ Розглянемо двохточкову крайову задачу для лінійного диференціальне рівняння другого порядку на відрізку [a; b]: (82) y px y ' qx y f x , з двохточковими лінійними крайовими умовами: 0 y a 1 y a A, 0 y b 1 y b B, 0 1 0, (83) 0 1 0, де p(x), q(x) і f(x) – неперервні на відрізку [a; b]. Зведемо задачу до системи скінчено-різницевих рівнянь. Для цього розіб‘ємо основний відрізок [a; b] на n-рівних частин довжиною h (крок): ba . h n Точки розбиття мають xi x0 ih , i 0, 1, 2,..., n абсциси: x0 a, xn b. Значення в точках xi шуканої функції y=y(x), та її похідних y yx, y yx позначимо відповідно через: yi yxi , yi yxi , yi yxi . Введемо також позначення: pi pxi , qi qxi , fi f xi . Замінимо похідні симетричними скінченно-різницевими відношеннями: y yi 1 y 2 yi yi 1 (84) yi i 1 ; yi i 1 , i 1, 2, ..., n . 2h h2 Для кінцевих точок вважаємо: 3 y0 4 y1 y2 x0 a, y ( x0 ) y0 , y( x0 ) ; 2h (85) yn 2 4 yn 1 3 yn xn b, y ( xn ) yn , y( xn ) . 2h Підставляючи апроксимації похідних, отримаємо систему рівнянь для знаходження yi: 101 3 y0 4 y1 y2 y A, 0 0 1 2h y yi 1 yi 1 2 yi yi 1 pi i 1 qi yi f i для i 1, 2, ..., n 1, (86) 2 2 h h yn 2 4 yn 1 3 yn y B. 0 n 1 2h Приводячи подібні, отримаємо систему лінійних алгебраїчних рівнянь (якщо похідні замінити правими різницевими відношеннями то отримаємо систему з тридіагональною матрицею коефіцієнтів): 3 2 1 y y 1 y2 A, 0 1 0 1 1 2 h h 2 h 1 pi pi 2 1 (87) 2 yi 1 qi 2 yi 2 yi 1 f i для i 1, 2, ..., n 1, 2 h 2 h h h h 1 2 3 1 yn 2 1 yn 1 0 1 yn B. h 2h 2h Отримана система складається з n+1 рівняння з n+1 невідомою y0 , y1 ,..., yn , які є значеннями шуканої функції y=y(x) в точках x0 , x1,..., xn . Розв‘язавши систему, отримаємо таблицю значень шуканої функції y. ЗАВДАННЯ 1. Знайти розв’язок крайової задачі методом скінчених різниць з кроком h=0,1. y 2y x , x y(0,7) 0,5, 2 y(1,2) 3 y(1,2) 1,2. y xy y x 1, y(0,5) 2 y(0,5) 1, y(0,8) 1,2. 16. y xy 2 y x 1, y(0,9) 0,5 y (0,9) 2, y(1,4) 1. 17. 3. y 2 y xy x 2 , y(0,6) 0,7, y(0,9) 0,5 y(0,9) 1. 18. 4. y 1, x y(0,4) 2, y(0,9) 2 y (0,9) 0,7. 19. y 3, x y(0,2) 2, 0,5 y(0,7) y(0,7) 1. 2y y y x 0,4 , x y(1,1) 0,5 y(1,1) 2, y(1,6) 4. y y 3 y x 1 , x y (1,2) 1, 2 y(1,7) y(1,7) 0,5. 1. 2. y y 3 y y 2 y 102 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. y 3y 2x2 , 2 y(1) 2 y(1) 0,6, y(1,5) 1. y 2 xy y 0,4 , 2 y(0,3) y(0,3) 1, y(0,8) 2. 2 y y 3y 2 , x y(0,8) 1,5, 2 y(1,3) y(1,3) 3. 20. y 1,5 y xy 0,5 , 2 y(1,3) y(1,3) 1, y(1,8) 3. 21. y 0,5 xy y 2 , y(0,4) 1,2, y(0,9) 2 y(0,9) 1,4. y 3xy 2 y 1,5 , y(0,7) 0,5, 0,5 y(1,2) y(1,2) 2. y 2 x 2 y y x , 2 y(0,5) y(0,5) 1, y(1,0) 3. y y 0,4 y 2 x , x y(0,6) 0,3 y(0,6) 0,6, y(1,1) 1,7. y y xy 2 , 3 y(0,8) 1,5, 3 y(1,3) 0,5 y(1,3) 1. y 1 y 2 y , x x 0,5 y(0,9) y(0,9) 1,5, y(1,4) 0,8. y 0,5 y 0,5 xy 2 x , y(1) 0,5, 2 y(1,5) y(1,5) 2. 2 y 2 y 1,5 xy , x y(0,8) 1, y(1,3) 2 y(1,3) 1. y 0,6 xy 2 y 1 , y(1,3) 0,6, 2 y(1,8) 0,8 y(1,8) 3. 23. y 2 xy 2 y 0,6 , y(2) 1, 0,4 y(2,5) y(2,5) 1. 24. y 0,8 y x , 2x y(1,7) 1,2 y (1,7) 2, y (2,2) 1. y 0,8 y xy 1,4 , y(1,8) 0,5, 2 y(2,3) y (2,3) 1,7. y 0,5x 2 y 2 y x 2 , y(1,4) 0,7 y(1,4) 2, y(1,9) 0,8. 30. y 22. 25. 26. 27. 28. 29. y y 2 y x , 4 x 2 1,5 y(1,3) y(1,3) 0,6, 2 y(1,8) 0,3. y 2 xy 1,5 x , 1,4 y(1,1) 0,5 y(1,1) 2, y (1,6) 2,5. xy y 0,5 y 2 x , 2 0,4 y(0,2) y(0,2) 1,5, y(0,7) 0,4. y 2 y y , 2x x y (0,4) 1,3, 0,5 y(0,9)1,2 y (0,9) 1. y xy 2 xy 0,8 , y(1,2) 0,5 y (1,2) 1, y (1,7) 2. y 103 104 ПРИКЛАД РОЗРАХУНКІВ Знайти розв’язок крайової задачі методом скінчених різниць з кроком h=0,1: 1. y xy 0,5 y 1, x y(2) 2 y(2) 1, y(2,5) 2,15. Введемо позначення: P(x) x a 2 Q( x) 2 1 0 0 F( x) 1 x b 2.5 1 0 0.5 1 A 1 1 B 2.15 Розбивши відрізок 2; 2,5 на частини з кроком h 0,1 . Отримаємо шість вузлових точок: h 0.1 n 5 x a i h i 0 n i 2 2.1 2.2 x 2.3 2.4 2.5 Обчислимо значення функцій у вузлах: i 0 n i p P x i i q Q x i i f F x i 2 2.1 2.2 p 2.3 2.4 2.5 0.25 1 0.238 1 0.227 1 q f 0.217 1 0.208 1 0.2 1 Замінимо крайову задачу системою скінченно-різницевих рівнянь. Сформуємо матрицю коефіцієнтів та вектор вільних членів. Перше та останнє рівняння відповідають крайовим умовам, а інші – диференціальному рівнянню: 105 2 1 3 0 0 0 0 1 1 2 h h 2 h 1 p p 1 1 2 1 1 q 0 0 0 1 2 2 2 h h 2 2 h h h p p 1 2 2 1 2 0 q 0 0 2 2 2 h 2 2 2 h h h h C p p 1 3 2 1 3 0 0 q 0 3 2 2 h 2 2 2 h h h h p p 1 4 2 1 4 0 0 0 q 4 2 2 h 2 2 2 h h h h 1 2 3 0 0 0 0 2 h 1 h 1 2 h 1 40 10 0 0 0 29 89.5 200.238 110.5 0 0 0 0 89 200.227 111 0 0 C 0 0 88.5 200.217 111.5 0 0 0 0 88 200.208 112 0 0 0 0 1 0 1 1 1 d 1 1 2.15 Знайдемо розв’язок системи за допомогою функції Mathcad Find: Given C y d y Find ( y) 2.206 2.157 2.131 y 2.124 2.131 2.15 Побудуємо графік отриманого розв’язку: 106 A f 1 f 2 d f 3 f 4 B 0 0 0 y 0 0 0 Відповідь: x 2.0 2.1 2.2 2.3 2.4 2.5 y(x) 2.206 2.157 2.131 2.124 2.131 2.15 КОНТРОЛЬНІ ПИТАННЯ ДЛЯ САМОПЕРЕВІРКИ 1. Сформулюйте двохточкову крайову задачу для звичайного диференціального рівняння другого порядку. 2. Надайте геометричну інтерпретацію поставленої крайової задачі. 3. Сформулюйте двохточкову крайову задачу для лінійного диференціального рівняння другого порядку. 4. Якими скінченно-різницевими відношеннями замінюються значення похідних в точках? 5. Сутність методу скінчених різниць. 6. Яким методом можна розв’язати систему лінійних алгебраїчних рівнянь з тридіагональною матрицею коефіцієнтів? 107 ТЕМА 12. Розв‘язування задачі Діріхле методом сіток Лiтература: [2], пп. 5.1-5.3; [3], §§8.1-8.4; [4], §§4.1-4.2; [5], пп. 5.1-5.3; [6], гол. 10 ТЕОРЕТИЧНІ ВІДОМОСТІ Розглянемо лінійне диференціальне рівняння з частинними похідними другого порядку з двома незалежними змінними: u u L[u ] u a b cu F ( x, y ) , (88) x y де - оператор Лапласа для двох змінних 2 2 ; a a ( x , y ) , b b ( x, y ) , x 2 y 2 c c( x, y ) , F F ( x, y ) – неперервні функції. Таке рівняння буде еліптичного типу. Нехай задана деяка область К, що обмежується контуром Г (рис.14). На контурі Г задана функція ( P) ( x, y ) . Потрібно знайти функцію u ( P) u ( x, y ) , яка всередині К задовольняє рівнянню (88), а на границі приймає задані значення (P ) : L[u ( P)] F ( P), P K (89) Рис.14 u ( P) ( P), P . Задача (89) називається задачею Діріхле. Метод сіток. На області К, в якій шукається функція, будують сіткову область Кh, яка складається з однакових вічок і наближає задану область К (рис. 15). Рис. 15 Задане диференціальне рівняння замінюють у вузлах побудованої сітки відповідними скінчено-різницевими рівняннями. За граничних умов знаходяться значення шуканого розв‘язку в граничних вузлах області Кh. Щоб знайти розв‘язок скінчено-різницевого рівняння, потрібно знайти розв‘язок алгебраїчних рівнянь з великою кількістю невідомих. Це буде значення шуканої функції у вузлах сітки. Вибір сіткової області залежить від конкретної задачі, але в усіх випадках контур Гh сіткової області Кh потрібно обирати так, щоб він якнайкраще апрок- 108 симував контур Г заданої області К. Сітка може складатися з квадратних, прямокутних, трикутних та інших вічок. Розглянемо використання методу сіток для побудови розв‘язку задачі Діріхле: 2u 2u 2 2 0, ( x, y ) K (90) y x u ( x, y ) ( x, y ), ( x, y ) ( x, y ) – задана функція (неперервна). К обмежена замкненим кусково-гладким контуром Г. Сітку оберемо квадратну з кроком h (рис. 16): S h : xi x0 ih; yi y0 ih; (i, j 0,1,2,...) . Вузли (xi, yj) сітки Sh або належать області К, або віддалені від її границі Г на відстань меншу за h. Точки (вузли) сітки Sh називають сусідніми, якщо вони віддалені одна від одної в напрямку осі Ох або Оу на відстань h. Вузол Ah сітки Sh називають внутрішнім, якщо він належить області К, а всі чотири сусідні з ним вузли – множині Sh; в протилежному випадку він називається граничним (Bh, Сh). Граничний вузол називається вузлом першого роду (Bh), якщо він має сусідній внутрішній вузол, в протилежному випадку – називається граничним вузлом другого роду (Сh). Рис. 16 Внутрішні вузли та граничні вузли першого роду називаються розрахунковими точками; граничні вузли другого роду не входять в обчислення і можуть бути вилучені з сітки Sh. Сітку Sh завжди обираємо зв‘язною, тобто будь-які дві розрахункові точки можна з‘єднати ланцюжком вузлів. Крім того сітка Sh утворює багатокутну область Kh з границею Гh, яка примикає до границі Г області К як можливо ближче. Значення функції в точках ( xi , yi ) позначимо через uij u ( xi , yi ) . Замінимо диференційне рівняння (90) для кожної внутрішньої точки ( xi , yi ) скінченорізницевим рівнянням: 1 (91) Ah : uij (ui 1, j ui 1, j ui , j 1 ui , j 1 ) 4 де ( xi 1, yi 1) – розрахункові точки. В граничних вузлах першого роду Bh: u( Bh ) u( B) ( B) , (92) де B – найближча до Bh точка границі Г. Система (91) є лінійною системою, причому кількість невідомих (кількість внутрішніх вузлів) дорівнює кількості рівнянь. Розв‘язавши систему (91), отри- 109 маємо наближене значення шуканої функції у вузлах сіткової області Кh. Процес Лібмана. Якщо кількість вузлів сітки велика, то безпосередній розв‘язок системи (91) є ускладненим. Крім того значення функції u в граничних вузлах сітки Sh обирається грубо. Ці обставини примушують звернутися до ітераційних методів з одночасним виправленням граничних значень. Процес усереднення Лібмана: 1 uij( k ) (ui(k1,1j) ui(k1,1j) ui(,kj11) ui(,kj11) ), k 1,2,.... 4 (x) де uij – послідовне k-те наближення для внутрішніх вузлів (xi,yj) сітки Sh; uij(0) – початкове наближення. Значення функції в граничних вузлах u(Аh) корегуємо за формулами лінійної інтерполяції: u (0) ( Ah ) u ( A) ( A), u (k ) u ( k ) ( B) u ( A) ( Ah ) u ( A) , k 1,2,... h де А – найближче до Аh точка границі Г, B - найближчий до Аh внутрішній вузол сітки Sh, – віддалення вузла Ah від точки А (рис. 17). > 0, якщо Ah К; < 0, якщо Ah К. Якщо Ah = А => = 0, то u ( k ) Ah u A A . Рис. 17 Для обрання uij(0) задачу Діріхле розв‘язують грубо за допомогою крупної сітки, а потім ці значення використовують для дрібнішої сітки. На практиці для проведення розрахунків заготовляють шаблони (рис.18). Спочатку область розв‘язків покривають сіткою: внутрішні вузли відмічають білими кругами, а граничні, в яких відомі значення функції, – чорними (рис. 18, а). а б Рис.18 в Для побудови обчислювального шаблону будуємо другу сітку, лінії якої проходять посередині між лініями першої, причому вузли першої сітки (внутрішні і граничні) потрапляють в центри клітин другої сітки. Клітини другої сітки, в центрах яких знаходяться незмінні граничні значення, обведемо (рис. 18, б). Внутрішні клітини будуть заповнюватись ітераційним процесом. Для них пот110 рібно заготовити шаблони. Якщо граничні значення будуть корегуватися, то в шаблонах зберігаються і граничні клітини. Шаблон №1 заповнюємо початковими значеннями uij(0) (отримані для крупної сітки). Шаблон №2 (рис.18, в) заповнюємо таким чином, щоб в кожній клітині було записано середнє арифметичне чотирьох чисел з шаблону №1 (граничні клітини приймають участь в розрахунках). Далі шаблон №2 накладають на шаблон №1 і заповнюють шаблон №3 і так далі, доки значення в шаблонах не співпадуть до заданої точності. ЗАВДАННЯ 1. Методом сіток скласти розв’язок диференціального рівняння Лапласа 2u 2u 0 із заданими початковими умовами; крок h=1. Уточнення x 2 y 2 розв’язку проводити до сотих за процесом Лібмана. 1. 16. 2. 17. 3. 18. 4. 19. 5. 20. 6. 21. 7. 22. 8. 23. 9. 24. 10. 25. 11. 26. 12. 27. 111 13. 28. 14. 29. 15. 30. ПРИКЛАД РОЗРАХУНКІВ 1. Методом сіток скласти розв‘язок диференційного рівняння Лапласа 2u x 2 2u y 2 0 з x2 y2 1 ( ), заданими початковими умовами: 16 9 . Крок h = 1. Уточнення проu x, y 0,5( x y ) Г водити до сотих за допомогою процесу Лібмана. Будуємо задану область Г. Бачимо, що розв‘язок буде симетричним, тому його значення будемо шукати лише у першій чверті еліпса. 4 4 3 3 2 x2 1 16 x2 3 1 16 3 1 4 3 2 1 0 1 2 3 4 3 1 x2 1 2 16 2 1 3 4 0 1 x x Візьмемо крок h = 1 і накладемо сітку на область Г. Ah=A 3 Bh B 2 Ch C Dh u1 u2 u3 1 u 4 u5 u6 0 u8 2 1 u9 2 u10 112 D Eh u7 E 3 u11 4 Fh=F 3 4 Визначимося з вузлами сітки. Внутрішні вузли: ; ; ; ; ; ; ; ; . Граничні вузли: ; ; ; ; ; . На границі області Г граничним вузлам відповідають точки: ; ; ; ; . Обчислимо значення функції u(x,y) на границі Г (за формулою крайових умов): ; ; ; U(xy) 0.5 ( x y ) uA U( 03) 1.5 uB U(12.9047) 1.9524 uC U(22.5981) 2.2991 uD U(31.9843) 2.4922 uE U( 3.77121) 2.3856 uF U(40) 2 Для кожного внутрішнього вузла складемо рівняння таким чином: значення функції у вузлі дорівнює середньому арифметичному чотирьох значень функції в сусідніх вузлах.Отримані рівняння утворюють систему лінійних алгебраїчних рівнянь, розв’язавши яку отримаємо значення розв’язку у внутрішніх вузлах: u 0 u 0 u 0 u 0 u 0 u 0 u 0 u 0 u 0 u 1 2 3 4 5 6 9 7 8 10 0 u 11 0 Given 1 1 1 u 2 u uA u u u u uB u u u uD uC u 1 4 2 4 2 4 1 3 5 3 4 2 6 1 1 1 u 2 u u u u u u u u u u u u u 4 4 5 1 8 5 4 4 6 2 9 6 4 5 7 3 10 1 1 1 u u uE uD u u 2 u 2 u u u u 2 u 7 4 6 11 8 4 9 4 9 4 8 10 5 1 1 u u u 2 u u u uF 2 u 10 4 9 11 6 11 4 10 7 T ( 1.9318 2.074 2.2762 2.0794 2.1356 2.2396 2.3344 2.1144 2.1495 2.2122 2.2203) Find u Таким чином, u 1.9318 u 2.074 u 2.3344 u 2.1144 1 7 2 8 u 2.2762 3 u 2.1495 9 u 2.0794 4 u 10 2.2122 u 2.1356 5 u 11 u 2.2396 6 2.2203 Складемо шаблон №1, в якому внутрішні значення відповідають щойно знайденим, а граничні отримаються в результаті уточнення попередніх граничних значень за формулою u ( B ) u ( A) , лінійної інтерполяції: u ( Ah ) u ( A) h де Аh – вузлова гранична точка; А – найближче до Аh точка границі Г, B - найближчий до Аh внутрішній вузол сітки Sh, – віддалення вузла Ah від точки А; >0, якщо Ah К; <0, якщо Ah К. B 2.9047 3 0.0953 C 2.5981 3 0.4019 D 1.9843 2 0.0157 E 3.7712 4 0.2288 uAh uA 1.5 u uB u uC 2 3 uBh uB B 1.9652 uCh uC C 2.2837 1 B 1 C u uD u uE 7 7 uDh uD D 2.4896 uEh uE E 2.3704 1 D 1 E uFh uF 2 Утворимо шаблон: 113 uAh u1 S u 4 u 8 uBh uCh u u u 2 5 9 u u u 0 uDh 3 u 6 10 u 7 11 uEh uFh 0 0 S1 S 1 2 3 4 5 1 S1 2 1.5 1.9652 2.2837 0 0 1.9318 2.074 2.2762 2.4896 0 3 2.0794 2.1356 2.2396 2.3344 2.3704 4 2.1144 2.1495 2.2122 2.2203 2 Процес Лібмана міститься в уточнені значень, що входять в шаблон №1. Кожний наступний шаблон отримуємо з попереднього таким чином: значення функції у внутрішніх вузлах дорівнює середньому арифметичному чотирьох сусідніх попереднього шаблону. А значення функції в граничних вузлах – за формулою лінійної інтерполяції. Таке уточнення проводять до тих пір, доки не буде співпадання результатів із заданою точністю. 2 2 S1 1 S3 1 R2 2 4 S2 1 S2 3 S1 2 S3 2 4 1 1 R S S S S R S S 2 S 2 3 2 2 2 4 1 3 3 3 3 1 4 1 3 2 4 4 2 1 1 1 R S S S S R S S S S 3 2 2 2 4 2 3 1 3 3 3 3 3 4 2 3 4 3 4 4 3 2 1 1 R S S S S R 2 S 2 S 3 4 3 3 3 5 2 4 4 4 4 1 3 1 4 2 4 4 1 1 R 2 S S S R 2 S S S 4 2 3 2 4 1 4 3 4 3 3 3 4 2 4 4 4 4 1 R 2 S S S R S 4 4 3 4 4 3 4 5 1 1 1 1 4 R 2 1 1 1 2 S R R 1 2 uB 2 2 uB 1 B R uD 3 4 R uD D 2 4 1 D R B 1 3 uC 2 3 uC C 1 C R uE 3 4 R uE E R S 2 4 1 E 4 5 4 5 R N1 S N2 R Аналогічно побудуємо інші шаблони: 1 2 3 4 5 1 N1 2 1.5 1.9652 2.2837 0 0 1.9318 2.074 2.2762 2.4896 0 3 2.0794 2.1356 2.2396 2.3344 2.3704 4 2.1144 2.1495 2.2122 2.2203 2 1 2 3 4 5 1 N2 2 1.5 1.9655 2.2807 0 0 1.9318 2.0772 2.2717 2.3691 0 3 2.0794 2.1356 2.2396 2.33 0 4 2.1144 2.1495 2.2122 2.2203 2 114 1 2 3 4 5 1 N3 2 1.5 1.9654 2.2605 0 0 1.9335 2.0762 2.2417 2.1843 0 3 2.0794 2.1364 2.2374 1.7072 0 4 2.1144 2.1495 2.2122 2.2181 2 КОНТРОЛЬНІ ПИТАННЯ ДЛЯ САМОПЕРЕВІРКИ 1. 2. 3. 4. 5. 6. Сформулюйте задачу Дирихле? Розкажіть етапи алгоритму методу сіток. Дайте визначення сусідніх, граничних та внутрішніх вузлів сітки. Наведіть скінченно-різнецеві рівняння для внутрішніх вузлів. В чому полягає процес усереднення Лібмана? Що таке шаблон і як його розрахувати? 115 ЛІТЕРАТУРА 1. Практикум з обчислювальної математики. Основні числові методи: Навчальний посібник. В 2-х частинах. І.А. Анджейчак, Є.М. Федюк, В.Є. Анохін та інш. Л.:Львівська політехніка. Частина І. – 99 с. 2. Практикум з обчислювальної математики. Основні числові методи. Лекції: Навчальний посібник. В 2-х частинах. І.А. Анджейчак, Є.М. Федюк, В.Є. Анохін та інш. Л.:Львівська політехніка. Частина ІІ. – 151 с. 3. Григоренко Я.М., Панкратова Н.Д., Обчислювальні методи в задачах прикладної математики: Навч. посібник. – К.: Либідь, 1995. – 280 с. 4. Пирумов У. Г. Численные методы: учеб. пособие для студ. втузов / У.Г. Пирумов. – 4-е изд., стереотип. – М.: Дрофа, 2007. – 221, [3] с.: ил. 5. Численные методы. Сборник задач: учеб. пособие для вузов / В.Ю. Гидаспов, И.Э. Иванов, Д.Л. Ревизников и др.; под ред. У.Г. Пирумова. – М.: Дрофа, 2007. – 144 с.: ил. 6. Воробьева Г.Н., Данилова А.Н. Практикум по вычислительной математике. М: Высшая школа, 1990. – 207 с. 7. Вержбицкий В.М. Численные методы (математический анализ и обыкновенные дифференциальные уравнения): Учеб. пособие для вузов / В.М. Вержбицкий. – 2-е изд., испр. – М.: ООО «Издательский дом «ОНИКС 21 век», 2005. – 400 с.: ил. 8. Вержбицкий В.М. Численные методы (линейная алгебра и нелинейные уравнения): Учеб. пособие для вузов / В.М. Вержбицкий. – 2-е изд., испр. – М.: ООО «Издательский дом «ОНИКС 21 век», 2005. – 432 с.: ил. 9. Демидович Б.П., Марон И.А. Основы вычислительной математики. - М.: Государственное изд-во физико-математ. лит., 1960. – 659 с. 10.Бахвалов Н.С. Численные методы. Анализ. Алгебра. Обыкновенные дифференциальные уравнения. М.: Наука, 1975. – 632 с. 11.Калиткин Н.Н. Численные методы. М.: Наука, 1978. – 512 с. 12.Волков Е.А. Численные методы: Учебное пособие. – М.: Наука. Главн. ред. физ.-мат. литературы, 1982. – 256 с. 116 ЗМІСТ ВСТУП………………………………………………………………………...... 3 ТЕМА 1. Прямі методи розв’язування систем лінійних алгебраїчних рівнянь……………………………………………………………… 4 ТЕМА 2. Ітераційні методи розв’язування систем лінійних алгебраїчних рівнянь……………………………………………………………… 21 ТЕМА 3. Методи визначення коренів нелінійних рівнянь……………….. 29 ТЕМА 4. Методи розв’язування систем нелінійних рівнянь……………… 36 ТЕМА 5. Знаходження власних чисел і власних векторів матриць………. 42 ТЕМА 6. Наближення функцій……………………………………………... 55 ТЕМА 7. Кубічна сплайн-інтерполяція……………………………………… 68 ТЕМА 8. Чисельне диференціювання……………………………………….. 77 ТЕМА 9. Чисельне інтегрування…………………………………………….. 86 ТЕМА 10. Чисельне розв’язування задачі Коші для звичайного диференціального рівняння першого порядку…….…………….. 96 ТЕМА 11. Скінченно-різницевий метод розв’язання крайової задачі……………………………………………………………….. 101 ТЕМА 12. Розв‘язування задачі Діріхле методом сіток………………….. 107 ЛІТЕРАТУРА………………………………………………………………….. 115 117