You are on page 1of 143

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”

Василь Гавриш, Наталія Мельник

ЧИСЕЛЬНІ МЕТОДИ.
ЛАБОРАТОРНИЙ ПРАКТИКУМ

Навчальний посібник

Львів
Видавництво Львівської політехніки
2018
Рецензенти:

Цегелик Г.Г. – заслужений діяч науки і техніки України, доктор фізико-


математичних наук, професор, завідувач кафедри математичного
моделювання соціально-економічних процесів Львівського національного
університету імені Івана Франка;
Пукач П.Я. - доктор технічних наук, професор, завідувач кафедри
обчислювальної математики та програмування Національного
університету «Львівська політехніка»;
Соколовський Я.І. – доктор технічних наук, професор, завідувач
кафедри інформаційних технологій Національного лісотехнічного
університету України.

Рекомендувала Науково-методична рада


Національного університету "Львівська політехніка"
як навчальний посібник для студентів спеціальності «Інженерія програмного
забезпечення»
(протокол № ___ від ________ р.)

Гавриш В.І., Мельник Н.Б.


Чисельні методи. Лабораторний практикум: навч. посібник / В.І. Гавриш,
Н.Б. Мельник – Львів: Видавництво Львівської політехніки, 2018. – 143 с.

Практикум містить завдання до лабораторних робіт з дисципліни «Чисельні


методи», приклади їх виконання, а також коротко викладений теоретичний
матеріал, необхідний для виконання лабораторних робіт із таких розділів:
апроксимація функцій, чисельне диференціювання та інтегрування функцій,
наближені методи розв’язування нелінійних рівнянь та систем лінійних і
нелінійних рівнянь, наближені методи розв'язування задач Коші та крайових
задач для звичайних диференціальних рівнянь.
Виконання лабораторних робіт дає змогу студентам розширити і закріпити
лекційний матеріал, отримати практичні навички розв’язування задач різними
методами, а також навчитися розробляти та відлагоджувати відповідні
програми.
Для студентів спеціальності «Інженерія програмного забезпечення», а також
для всіх, хто бажає самостійно засвоїти чисельні методи. Може бути корисним
для фахівців-початківців, що працюють в галузі обчислювальної математики,
аспірантів і науковців, а також розробників програмного забезпечення.

УДК
 В.І. Гавриш, Н.Б. Мельник 2018
 НУ "Львівська політехніка" 2018

2
1. ОСНОВНІ ПОНЯТТЯ ТЕОРІЇ НЕЛІНІЙНИХ РІВНЯНЬ

1.1. Класифікація нелінійних рівнянь

Математичними моделями багатьох процесів у навколишньому світі є


нелінійні рівняння та їх системи: алгебраїчні і трансцендентні – для сталих
станів, диференціальні – для динамічних процесів.
Розглянемо нелінійні рівняння, які часто розв’язують в інженерних
дослідженнях. У загальному випадку нелінійне рівняння записують у вигляді
f ( x)  0 , (1.1)
де f (x) - неперервна функція, визначена на деякій дійсній числовій множині
X , яку називають областю допустимих значень рівняння (ОДЗ).
Множина значень змінної x , для яких рівняння (1.1) стає тотожністю,
називають розв’язком цього рівняння, а кожне значення x з цієї сукупності
називають коренем рівняння.
Наприклад, рівняння x3  7 x  6  0 має такі корені: x1  3 , x2  1 і x3  2 .
Підставивши їх у задане рівняння замість x , отримаємо тотожності
 27  21  6  0 , 1  7  6  0 , 8  14  6  0 .
Розв’язати рівняння – означає знайти множину всіх коренів цього
рівняння. Корені можуть бути дійсними або комплексними числами. Множина
коренів нелінійного рівняння може бути скінченною або нескінченною. Так,
наведене вище рівняння має три корені. Рівняння sin x  0 має нескінченну


множину розв’язків x  n , n  0,  1,  2, ... . 
У залежності від вигляду функції f (x) , що входить в рівняння (1.1),
нелінійні рівняння можна розділити на алгебраїчні і трансцендентні.
Алгебраїчні рівняння містять лише алгебраїчні функції (раціональні та
ірраціональні). Рівняння, які містять інші функції (тригонометричні,
показникові, логарифмічні і т.п.), є трансцендентними.

3
Функція називається раціональною, якщо її можна записати у вигляді
полінома
n
Pn ( x)   ai x i  an x n  an1 x n1  ...  a1 x  a0 , (1.2)
i 0

де n – степінь полінома(ціле невід’ємне число), a0 , a1 , ..., an – його


коефіцієнти.
Функція називається ірраціональною, якщо вона є суперпозицією
раціональної функції та степеневої із раціональними показниками.
Приклади нелінійних рівнянь:
2 3
x 4  3x  2  0, 3
x  5  0 - раціональні рівняння;
5
3
x  3  0,  0 - ірраціональні рівняння;
x4
 x
log 2 ( x  1)  0, 2 x  4  0, sin( x)  2  0, arccos   0 - трансцендентні
2
рівняння (містять логарифмічну, показникову, тригонометричну та обернену
тригонометричну функції відповідно).
Методи розв’язування нелінійних рівнянь поділяють на точні і
наближені. Точні методи дають змогу отримати корінь рівняння в результаті
виконання скінченної кількості арифметичних операцій. Іншими словами,
вони дозволяють записати аналітичний розв’язок рівняння, тобто виразити
корінь деяким співвідношенням. На даний час не існує точних методів
розв’язування нелінійних рівнянь. Але у деяких часткових випадках
отримують співвідношення, які аналітично виражають їх розв’язки.
Здебільшого для розв’язування нелінійних рівнянь використовують чисельні
(наближені ітераційні) методи.

4
1.2. Наближене розв’язування нелінійних рівнянь

Процедура знаходження наближеного розв’язку нелінійного рівняння


складається з двох етапів:
 локалізації коренів – визначення інтервалів, що містять єдиний
корінь;
 уточнення коренів.
Наближене значення кореня (початкове наближення) рівняння (1.1)
можна знайти з фізичних міркувань. Наприклад, знайти такі два дійсні числа a
і b , в яких функція f (x) буде приймати значення різних знаків, тобто
f (a)  f (b)  0 . Тоді між числами a і b міститься принаймні одне значення x ,
аb
для якого f ( x)  0 . За це значення наближено приймають х0  .
2
Ітерацій7ні методи ґрунтуються на послідовному уточненні початкового
наближення х0 . У результаті виконання послідовних ітерацій знаходять
наближені значення кореня x0 , x1 , ... , xn . Якщо із збільшенням кількості
ітерацій n наближені значення хi ( i  0, n ) прямують до точного розв'язку
рівняння, то кажуть, що такий ітераційний процес є збіжним.

1.3. Методи відокремлення коренів

Корінь x* рівняння f ( x)  0 вважають відокремленим на відрізку [a, b] ,


якщо на цьому відрізку дане рівняння не має інших коренів.
Відокремлення коренів – це розбиття області допустимих значень на
відрізки, у кожному з яких міститься лише один корінь (рис. 1.1).
Відокремлення коренів виконують двома способами – графічним та
аналітичним.

5
Рис. 1.1. Приклад розбиття ОДЗ на відрізки, кожен з яких містить один
корінь

Графічний метод
У цьому випадку будують графік функції y  f (x) для рівняння f ( x)  0
або рівняння записують у вигляді h( x)  g ( x) та будують графіки функцій
y  h(x) та y  g (x) . Дійсні корені рівняння є абсцисами точок перетину
графіка функції y  f (x) з віссю Ox або абсцисами точок перетину графіків
функцій y  h(x) та y  g (x) . Після цього відрізки, що містять лише один
корінь, легко знаходять наближено.

Приклад 1.1. Графічним способом наближено знайти корені рівняння


lg x  3x  5  0 .
Розв’язування. Перепишемо наведене рівняння наступним чином:
lg x  3x  5 . Спільною областю визначення для функцій правої та лівої частин
рівняння буде напівпряма 0  x   , на якій шукатимемо корені. Спочатку
побудуємо графіки функцій y  lg x та y  3x  5 .

6
Рис. 1.2. Графічна інтерпретація прикладу 1.1

Наближено знаходимо абсциси точок перетину з рисунка 1.3 x1  0,00001 і


x 2  1,75 . Графічний метод відокремлення коренів не забезпечує їх високу
точність. Він дає змогу грубо визначити інтервали локалізації коренів.

Аналітичний метод
Аналітично корені рівняння f ( x)  0 відокремлюють, використовуючи
властивості функцій від однієї змінної. Сформулюємо теореми, які свідчать
про існування цих коренів.

Теорема 1. Якщо функція f (x) є неперервною на відрізку [a, b] і приймає


на його кінцях значення різних знаків, тобто виконується умова f a  f b   0 ,
то на цьому відрізку існує хоча б один корінь рівняння f ( x)  0 .

Рис. 1.3. Графічна інтерпретація теореми 1

7
Теорема 2. Теорема Больцано-Коші: якщо неперервна функція f (x) на
кінцях відрізка [a, b] приймає різні за знаком значення, тобто виконується
умова f a  f b  0 , то на цьому відрізку рівняння f ( x)  0 має хоча б один
корінь. Якщо, крім цього, існує похідна f (x) , яка зберігає знак, тобто
f ( x)  0 або f ( x)  0 , то корінь х* єдиний.

Рис. 1.4. Графічна інтерпретація теореми 2

Нагадаємо, що функція y  f (x) називається зростаючою, якщо із


зростанням аргументу значення функції збільшуються, і спадною, якщо із
зростанням аргументу значення функції зменшуються. Функція називається
монотонною в заданій області, якщо вона тільки зростає або тільки спадає.
Якщо функція y  f (x) на заданому відрізку є неперервною, приймає на
кінцях відрізка значення різних знаків, а перша похідна f (x) цієї функції там
є додатною f ( x)  0 , то функція y  f (x) на цьому відрізку є зростаючою, а
якщо похідна цієї функції є від’ємною f ( x)  0 , то функція y  f (x) на цьому
відрізку є спадною.
Для відокремлення коренів аналітичним методом необхідно:
1) визначити область допустимих значень (область визначення
функції);
2) дослідити функцію y  f (x) на монотонність і неперервність;

8
3) визначити інтервали, на кінцях яких функція приймає значення
протилежних знаків, всередині яких знаходиться один корінь
рівняння f ( x)  0 .

Приклад 1.2. Відокремити корені рівняння x 3  x  1  0 .


Розв’язування. Функція f x   x 3  x  1 та її похідна f x   3x 2  1

визначені та неперервні на всій числовій осі  ; .


Визначимо інтервали монотонності функції f x  . Для цього розв’яжемо

рівняння f x   3x 2  1  0 . Його коренями будуть x1   3 3 та x2  3 3 .


Тому інтервали монотонності функції f x  є такими:

 ; 
3 3 ,  3 3; 3 3 ,  
3 3 ; .
Виберемо лише ті інтервали, на яких функція f x  змінює знак.

lim f x   lim x 3  x  1   ,
x  x 

 
f  3 3  0, f  
3 3  0,

lim f x   lim x 3  x  1   .
x  x 

Отже, інтервали монотонності  ;  


3 3, 
3 3 ; 3 3 не містять

коренів даного рівняння, тому що функція f x   x 3  x  1 не змінює на них

 
знак, а на інтервал 3 3 ; потрапляє його єдиний дійсний корінь.
Зі знайденого напівнескінченного інтервалу виділимо відрізок, що містить
єдиний корінь рівняння. Для цього перевіряємо знак функції f x   x 3  x  1 у

цілочисельних точках з інтервалу  


3 3 ; . Отримуємо

f  
3 3  0, f 1  1  1  1  1  0 , f 2  8  2  1  5  0 .
Отже, єдиний дійсний корінь даного рівняння належить відрізку 1; 2.

9
1.4. Чисельні методи уточнення коренів

Для уточнення коренів нелінійного рівняння f ( x)  0 з заданою похибкою


 на відрізку [a, b] найчастіше використовують такі методи:

 метод поділу відрізка навпіл (метод бісекцій, дихотомії);


 метод хорд (метод пропорційних частин);
 метод дотичних (метод Ньютона);
 метод ітерацій (метод послідовних наближень).

Наведені методи є ітераційними, тобто їх обчислювальні алгоритми


містять фрагменти, які повторюються багаторазово і кількість повторень
залежить від заданих початкових даних (похибки наближеного розв’язку,
відрізка, на якому міститься розв’язок рівняння та ін.).

Контрольні запитання

1. Які рівняння називають нелінійними?


2. Назвати типи нелінійних рівнянь.
3. Дати означення розв’язку нелінійного рівняння?
4. Які рівняння відносять до трансцендентних рівнянь?
5. Які рівняння відносять до алгебраїчних рівнянь?
6. Назвати методи відокремлення коренів нелінійних рівнянь. Пояснити суть
кожного з них.
7. Які теореми використовують для аналітичного способу відокремлення
коренів?

10
2. Лабораторна робота № 1. РОЗВ’ЯЗУВАННЯ НЕЛІНІЙНИХ РІВНЯНЬ
МЕТОДОМ ДИХОТОМІЇ ТА МЕТОДОМ ХОРД

Мета роботи: ознайомлення на практиці з методами відокремлення


дійсних ізольованих коренів нелінійних рівнянь. Вивчення методу дихотомії
та методу хорд уточнення коренів.

2.1. Метод поділу відрізка навпіл

Формулювання задачі. Розглянемо рівняння f ( x)  0 , де f (x) –


неперервна монотонна нелінійна функція. На відрізку [a, b] дане рівняння має
єдиний корінь х* , тобто добуток f (a) f (b)  0 , причому a  b   , де  – задана
похибка шуканого розв’язку. Потрібно знайти значення кореня х* зі заданою
похибкою  .
Покладемо a0  a , b0  b і обчислимо x0  a0  b0  2 . Якщо f ( x0 )  0 , то
x  x0 , у протилежному випадку, якщо f ( x0 )  0 , то чинимо так:

 xn , якщо sign f (an )  sign f ( xn ),


an1   (2.1)
an , якщо sign f (an )  sign f ( xn ),

 xn , якщо sign f (bn )  sign f ( x n ),


bn 1   (2.2)
bn , якщо sign f (bn )  sign f ( xn ),

ak 1  bk 1
xn1  , n  0,1,2,... (2.3)
2

і обчислюємо f ( xn1 ) . Якщо f ( xn1 )  0 , то ітераційний процес завершуємо і


вважаємо, що x  xn1 , а коли f ( xn1 )  0 , то продовжуємо ітераційний процес
(2.1)-(2.3).

11
Рис. 2.1. Графічна інтерпретація методу поділу відрізку навпіл

Зі співвідношень (2.1), (2.2) видно, що sign f (an1 )  sign f (an ) і


sign f (bn1 )  sign f (bn ) . Тому f (an1 ) f (bn1 )  0 , а отже шуканий корінь x
знаходиться на відрізку [an1 , bn1 ] . При цьому шуканий розв’язок визначено з
ba
точністю   , тобто виконується нерівність
2 n1

ba
xn  x  . (2.4)
2 n1

Звідси випливає, що кількість ітерацій. які необхідно провести для


знаходження наближеного кореня рівняння f ( x)  0 з заданою точністю 
задовольняє співвідношенню

 ba 
n  log 2  1 . (2.5)
  
де   ціла частина числа  .

Серед переваг даного методу потрібно відзначити простоту реалізації та


надійність. Послідовність наближених значень розв’язку x0 , x1 , ... , xn
збігається до кореня x для довільних неперервних функцій f (x) , тобто
lim xn  x* . Недоліком наведеного методу є невелика швидкість його збіжності.
n 

12
2.2. Метод хорд

Метод хорд є одним з найпоширеніших методів розв’язування


алгебраїчних і трансцендентних рівнянь. У літературі його ще називають
«методом лінійного інтерполювання» або «методом пропорційних частин».
Формулювання задачі. Розглянемо рівняння f ( x)  0 , у якому f (x) є
неперервною нелінійною функцією. На відрізку [a, b] дана функція є
монотонною та диференційованою і на ньому міститься єдиний корінь x
заданого рівняння, тобто f (a) f (b)  0 . Потрібно знайти значення кореня x з
заданою похибкою  .
Суть методу хорд полягає в тому, що на відрізку [a, b] малої довжини
дугу функції f (x) замінюють хордою ab , яка її стягує. За наближене значення
кореня приймають абсцису точки перетину хорди з віссю Ox .
Запишемо рівняння хорди, яка проходить через точки a; f a  і b; f b  у
вигляді

y  f ( x) xa
 . (2.6)
f (b)  f (a) b  a

Знайдемо значення x1 , для якого y  0 , тобто для нерухомого кінця

f (a)(b  a)
x1  a  . (2.7)
f (b)  f (a)

Тепер корінь x знаходиться всередині відрізка x1 ; b . Значення кореня x1


можна уточнити за допомогою методу хорд на відрізку x1 ; b. Нове наближене
значення кореня x2 знаходять за формулою

f ( x1 )(b  x1 )
x 2  x1  . (2.8)
f (b)  f ( x1 )

13
Аналогічно для довільного i  1 -го наближення точного значення кореня
x для заданого рівняння використовують формулу

f ( xi )(b  xi )
xi 1  xi  , i  0,1,2,... . (2.9)
f (b)  f ( xi )

Дугу кривої стягують хордою доти, поки шуканий наближений корінь не


досягне точності  , тобто

xi 1  xi   , (2.10)

де xi , xi 1 – наближені значення кореня рівняння f ( x)  0 , відповідно на i -му та


( i  1 )-му ітераційному кроці.

а) б)

в) г)

Рис. 2.1. Графічне зображення методу хорд і процедури вибору рухомого кінця
хорди

14
Варто відзначити, що розглянутий випадок (рис. 2.1,а) перетину функції
f (x) відрізка [a; b] не є єдиним. Наприклад, на рис. 2.1(а,б) рухомим кінцем
відрізка є a; f a  , а на рис. 2.1(в,г) - b; f b і формулу (2.7) запишемо

f (b)(b  a)
x1  b  . (2.11)
f (b)  f (a)

Для автоматизованого вибору рухомого кінця хорди і відповідно


визначення співвідношення для обчислення наближеного значення кореня
існує певне правило: нерухомим кінцем відрізка є той, для якого знак функції
f (x) співпадає зі знаком її другої похідної f (x) . Якщо f (b) f (b)  0 , то
нерухомим є кінець b ( x0  a ), інакше, якщо f (a) f (a)  0 , то нерухомим є
кінець a ( x0  b ).

2.3. Приклади розв’язування задач

Приклад 2.1. Методом дихотомії уточнити з точністю   103 корінь


рівняння
x 4  2x3  x  1  0 ,
який потрапляє на відрізок 0;1.

Розв’язування. Для зручності результати обчислень запишемо в таблицю.

Таблиця 2.1
ab
n a b x0  f  x0 
2
0 0 1 0,5 –1,19
1 0,5 1 0,75 –0,59
2 0,75 1 0,875 0,05
3 0,75 0,875 0,8125 –0,304
4 0,8125 0,875 0,8438 –0,135

15
5 0,8438 0,875 0,8594 –0,043
6 0,8594 0,875 0,8672 0,0026
7 0,8594 0,8672 0,8633 –0,0211
8 0,8633 0,8672 0,8652 –0,0096
9 0,8652 0,8672 0,8662 –0,0232
10 0,8662 0,8672 0,8667 –0,0004
11 0,8667 0,8672 0,8669 0,0009
12 0,8667 0,8669 0,8668 0,0002

Знайдемо довжину останнього відрізка: b  a  0,8669  0,8667  0,0002 .

Оскільки ця довжина є меншою за   103 , то обчислення завершуємо і


вважаємо, що шуканим коренем буде

1
x*  0,8669  0,8667  0,8668 .
2

Приклад 2.2. Методом хорд на відрізку 1;1,5 уточнити з точністю


  0,001 корінь рівняння

x 3  0,2 x 2  0,2 x  1,2  0 .

Розв’язування. Знайдемо середину відрізка 1;1,5 , тобто значення x  1,25 .


Оскільки f 1  0,6  0 , а f 1,25  0,19  0 , то корінь знаходиться на відрізку
1;1,25. Для цього відрізка f b   f 1,25  0 , f b   f 1,25   6b  0,4
 6  1,25  0,4  0 . Отже, x0  a  1 . Результати заносимо у таблицю 2.

Таблиця 2.2
f  xn b  xn 
xn 
f b   f  xn 
n

1 1 0,1899

16
1 1,1899 0.0096
2 1.1995 0.0019
3 1.2014 -0.0051
4 1.2001 -0.0001
5 1.2000 -----

Із таблиці 2 видно, що x5  x4   0,001, тому заокруглюючи значення x5


до тисячних, отримаємо наближене значення кореня x  1,2 .

Варіанти завдань

Відокремити дійсні корені рівняння геометричним та аналітичним


способом і скласти програму його розв’язування методом дихотомії та
методом хорд.

1. 64  x 2 log2 x  sin 2 x;

10
2.  3 sin 5 x  x;
1 x2

3. 36  x 2 lg x  sin 5x;

4. sin 2 x 49  x 2 lg x  3x arc tg x;

10 1
5.  2 sin 3x  ;
x 4
2
x

6. 3lg x  cos 2x  1;

x 2  4x 2 sin 3x
7.  1  ;
x 2  4x  8 x

8. tg( x  0,5)  sin 5x;

17
9. 36  x 2 lg x  sin 5x;

10. x  lg x  0, 5;

11. 3x  cos x  2;

12. x 2  4 sin x  1;

13. sin 2 x  3  x 2  2 x;

5
14. lg x   1  0;
2ч  3

15. 4x  cos 2x  lg x.

Контрольні запитання

1. У чому суть методу дихотомії?


2. Навести геометричну інтерпретацію методу дихотомії.
3. Графічно зобразити метод дихотомії.
4. Записати основні формули методу дихотомії.
5. У чому суть методу хорд?
6. Графічно зобразити метод хорд.
7. Навести основні формули методу хорд.
8. Описати алгоритм автоматизованого пошуку рухомого кінця хорди.

18
3. Лабораторна робота № 2. РОЗВ’ЯЗУВАННЯ НЕЛІНІЙНИХ РІВНЯНЬ
МЕТОДОМ ДОТИЧНИХ ТА МЕТОДОМ ПОСЛІДОВНИХ
НАБЛИЖЕНЬ

Мета роботи: ознайомлення на практиці з методом дотичних та методом


послідовних наближень для розв’язування нелінійних рівнянь.

3.1. Метод Ньютона (метод дотичних)

Формулювання задачі. Розглянемо рівняння f ( x)  0 , де f (x) є


неперервною монотонною нелінійною функцією, яка на кінцях відрізку [a, b]
приймає значення різних знаків, причому її похідні f (x) та f (x) є
неперервними та монотонними. Потрібно знайти значення кореня x* з заданою
похибкою  .
Геометричний зміст (рис. 3.1) методу Ньютона полягає в тому, що дугу
кривої y  f (x) на відрізку [a, b] замінюють дотичною до цієї кривої, а
наближене значення кореня визначають як абсцису точки перетину дотичної з
віссю Ox , проведеної через один із кінців відрізка.
Запишемо рівняння дотичної до кривої y  f (x) в точці xi ; f xi 

y  f ( xi )  f ( xi )x  xi  . (3.1)

19
а) б)

в) г)

Рис. 3.1. Геометричний зміст методу Ньютона:


а) графік функції y  f (x) є вгнутим (f'(x)>0, f''(x)>0);
б) графік функції y  f (x) є опуклим (f'(x)<0, f''(x)<0);
в) графік функції y  f (x) є опуклим (f'(x)>0, f''(x)<0);
г) графік функції y  f (x) є вгнутим (f'(x)<0, f''(x)>0).

Покладемо у співвідношенні (3.1) y  0 і визначимо x . У результаті


отримаємо
f ( xi )
x  xi  . (3.2)
f ( xi )

20
Тоді ітераційні формули запишемо у вигляді
f ( xi )
xi 1  xi  , i  0,1,2,... . (3.3)
f ( xi )
Для вибору початкового наближення кореня рівняння f ( x)  0 необхідно
керуватися таким правилом: за початкову точку слід вибирати той кінець
відрізка [a, b] , в якому знак функції y  f (x) співпадає зі знаком її другої
похідної f (x) .

У першому випадку (рис. 3.1а,б) f (b) f (b)  0 і за початкову точку


вибираємо x0  b , а в другому(рис. 3.1в,г) - f (a) f (a)  0 і тому x0  a .
Процес побудови дотичної продовжуємо до тих пір, поки не виконається
нерівність xi 1  xi   , де  – задана точність шуканого розв’язку; xi , xi 1 –

наближені значення кореня рівняння f ( x)  0 на i -му та ( i  1 )-му кроках.

3.2. Метод простої ітерації (метод послідовних наближень)

Одним із найпоширеніших методів чисельного розв’язування нелінійних


рівнянь є метод простої ітерації. Іноді його називають методом послідовних
наближень.
Формулювання задачі. Розглянемо нелінійне рівняння f ( x)  0 , де f (x)
є неперервною функцією. Потрібно знайти хоча б один дійсний корінь цього
рівняння. Рівняння f x   0 запишемо у канонічній формі

x   x  . (3.4)

Довільним способом визначимо наближене значення x0 кореня рівняння і


підставимо його в праву частину співвідношення (3.4). У результаті отримаємо

x1   x 0  . (3.5)

21
Підставивши тепер в праву частину рівняння (3.5) замість x0 значення x1 ,
отримаємо x2   x1  . Повторюючи цей процес, отримаємо ітераційні
формули

xi   xi 1  , i  1, 2, 3... . (3.6)

Кожний дійсний корінь x* рівняння (3.6) є абсцисою точки перетину M


кривої y   x  з прямою y  x (рис. 3.2).

Рис. 3.2. Графічна інтерпретація методу ітерацій

Доведено, що ітераційний процес, визначений формулами (3.6), збігається


до єдиного кореня рівняння f x   0 , якщо на відрізку a; b, що містить цей
корінь, виконується умова:

 x   q  max   x   1 . (3.7)


xa ,b 

Збіжність процесу ітерації буде тим швидшою, чим меншим є число q ,


яке задовольняє нерівність (3.7). Якщо умова (3.7) не виконується, то
необхідно перетворити рівняння f x   0 до вигляду x   x так, щоб досягти
її виконання. Наприклад, можна визначати функцію  x  зі співвідношення

22
f x 
 x   x  , (3.8)
k

Q
де значення k вибирають так, щоб виконувалась умова k . Тут
2
Q  max f  x  та знак k співпадає зі знаком f x  на відрізку a; b.
xa ,b 

Ітераційний процес продовжують до тих пір, поки не виконуватиметься


умова

xi  xi1   , (3.9)

де  – задана похибка шуканого кореня x* .


Зауваження. Методи хорд та дотичних (Ньютона) є частковим випадком
методу простої ітерації, де для методу хорд

f ( x)(b  x)
 ( x)  x  ,
f (b)  f ( x)

а для методу дотичних

f x 
 x   x  .
 x 

3.3. Приклади розв’язування задач

Приклад 3.1. Методом Ньютона на відрізку  11;10уточнити з


точністю   0,01 корінь рівняння

x 4  3x 2  75x  10000  0 .

Розв’язування. Результати обчислень помістимо в таблицю 3.1.

Таблиця 3.1
f  xn 
n xn f  xn  f xn  
f  xn 

23
0 –11 3453 –5183 0,7
1 –10,3 134,3 –4234 0,03
2 –10,27 37,8 –4196 0,009
3 –10,261 0,2 – –

Обчислення завершуємо, оскільки x2  x3  0,009   . Тому

x3  10.261 є шуканим наближеним розв’язком.

Приклад 3.2. Використовуючи метод простої ітерації, уточнити корінь


рівняння

arcsin2 x  1  x 2  0 ,

який потрапляє на відрізок  0,5; 0 з похибкою   10 4 .

Розв’язування. Виконаємо деякі перетворення щодо цього рівняння.

arcsin2 x  1  x 2 ,

sinarcsin2 x  1  sin x 2 ,

2 x  1  sin x 2 ,

x  0,5sin x 2  1,

  x   0,5sin x 2  1.

Знаходимо   x   x cos x 2 . Очевидно, що  x   x cos x 2  0,5 для всіх

x   0,5; 0 . Тому ітераційний процес є збіжним.


За початкове наближення приймемо значення x0  0,4 . Результати
обчислень помістимо в таблицю 3.2.

24
Таблиця 3.2
n xn   xn 
0 -0.4 -0.4034
1 -0.42034 -0.41212
2 -0.41212 -0.41549
3 -0.41549 -0.41411
4 -0.41411 -0.41468
5 -0.41468 -0.41444
6 -0.41444 -0.41454
7 -0.41454 -0.4145
8 -0.4145 -0.41452
9 -0.41452 -0.41451
10 -0.41451 -

Обчислення завершуємо, оскільки x10  x9  0.0001. Значення

x10  -0.41451 є наближеним розв’язком рівняння.

Завдання

Скласти програму розв’язування нелінійного рівняння методом дотичних


та методом простої ітерацій (див. варіанти завдань до лабораторної роботи
№ 1).

Вимоги до програми

У програмі слід передбачити такі можливості:

1. Побудову графіків функцій y  f x  та y  x і y   x  .

25
2. Автоматизований режим знаходження розв’язку нелінійного рівняння з
точністю   10  2 на відрізку a; b, визначеному після відокремлення коренів.
3. Введення вхідних даних вручну: задати точність  , відрізок локалізації
кореня a; b. Виведення повідомлення, якщо введений відрізок не містить
розв’язку.
4. Перевірка коректності введення даних.
5. Покрокове виведення результатів для кожного методу.

Контрольні запитання

1. Назвати методи уточнення дійсних коренів нелінійних рівнянь.


2. Навести алгоритм методу Ньютона і геометрично його зобразити.
3. Записати основні ітераційні формули методу Ньютона.
4. Показати особливості методу простої ітерації та його обмеження.
5. Графічно зобразити метод простої ітерації та записати основні ітераційні
формули методу.
6. Сформулювати умову завершення ітераційного процесу обчислень за
методом простої ітерації.

26
4. Лабораторна робота № 3. РОЗВ’ЯЗУВАННЯ СИСТЕМ ЛІНІЙНИХ
АЛГЕБРАЇЧНИХ РІВНЯНЬ МЕТОДОМ КРАМЕРА ТА МЕТОДОМ
ОБЕРНЕНОЇ МАТРИЦІ

Мета роботи: ознайомлення на практиці з методом Крамера та методом


оберненої матриці розв’язування систем лінійних алгебраїчних рівнянь.

4.1. Системи лінійних алгебраїчних рівнянь

Математичні моделі багатьох процесів зводяться до розв’язування систем


лінійних алгебраїчних рівнянь (СЛАР). Розв’язати деякі нелінійні задачі
можна послідовним розвязуванням систем лінійних алгебраїчних рівнянь.
Прямі (точні) методи дають змогу розв’язати систему лінійних
алгебраїчних рівнянь за скінченну кількість арифметичних операцій. Якщо всі
операції виконують точно (без похибок заокруглення), то розв’язок заданої
системи також отримують точним. До прямих методів належать: метод
Крамера, метод оберненої матриці, метод Гауса та його модифікації, метод
прогонки, метод LU-розкладу та його частковий випадок - метод квадратного
кореня, метод ортогоналізації.

Систему лінійних алгебраїчних рівнянь записують у розгорнутій формі


a11 x1  a12 x2    a1n xn  b1 ,
a x  a x    a x  b ,
 21 1 22 2 2n n 2
 (4.1)
..........................................
a m1 x1  a m 2 x2    a mn xn  bm

або у скороченому вигляді


n


j 1
aij x j bi , i  1, m , (4.2)

або у матричній формі


A X  B, (4.3)

27
де

 a11 a12  a1n   x1   b1 


     
a a22  a2 n   2
x  b2 
A   21  , X   , B   ,

     
 am1 am 2  amn   n
x  bm 

A - прямокутна матриця коефіцієнтів системи розмірності m  n ; X - вектор-


стовпець невідомих розмірності n ; B - вектор-стовпець вільних членів
розмірності m .

Розв’язком системи (4.1; 4.2; 4.3) називають n-компонентний вектор-


стовпець X , який перетворює співвідношення (4.1; 4.2; 4.3) у правильну
числову тотожність.

Система лінійних алгебраїчних рівнянь може мати один розв’язок, безліч


або не мати жодного. Кількість невідомих m в системі називають порядком
СЛАР.

Якщо система має хоча б один розв’язок, то її називають сумісною, і


несумісною, якщо не має жодного.
Сумісна система називається визначеною, якщо вона має єдиний
розв’язок, і невизначеною, якщо вона має безліч розв’язків. СЛАР є
невиродженою, якщо визначник системи det A  0 . У випадку, коли
визначник системи det A  0 , СЛАР є виродженою.

Якщо всі вільні члени bi  0 ( i  1, m ), то СЛАР називають однорідною.

Однорідна система має завжди тривіальний розв'язок xi  0 ( i  1, n ).

Систему лінійних алгебраїчних рівнянь розв'язують числовими методами


лише у тому випадку, коли вона є сумісною, визначеною та невиродженою.

28
3.2. Метод Крамера

Розглянемо СЛАР, яка містить n рівнянь та n невідомих, причому


визначник її не дорівнює нулеві. Для знаходження невідомих xi застосовують
формули Крамера:

det Ai
xi  , i  1, n , (4.4)
det A

де det A - визначник матриці A , det Ai - визначник матриці Ai , яку отримують з


матриці A шляхом заміни її i -го стовпця стовпцем вільних членів
 a11 ... a1 i 1 b1 a1 i 1 ... a1n 
 
 a21 ... a2 i 1 b2 a2 i 1 ... a2 n 
Ai   , i  1, n .
... ... 
(4.5)
... ... ... ... ...
 
a ... an i 1 bn an i 1 ... ann 
 n1

Щоб розв’язати СЛАР з n невідомими потрібно обчислити ( n  1 )


визначників n -го порядку, що приводить до виконання nn! операцій. Через
громіздкість обчислень визначників метод Крамера не застосовують на
практиці для великої розмірності матриці коефіцієнтів СЛАР.

4.3. Метод оберненої матриці (матричний метод)

У лінійній алгебрі часто використовують матричний метод розв’язування


систем лінійних алгебраїчних рівнянь. Цей метод ґрунтується на обчисленні
оберненої матриці A1 , яка існує лише при умові, коли визначник матриці A
відмінний від нуля det A  0 .
Якщо обидві частини матричного рівняння (4.3) зліва домножити на
матрицю A 1 , то отримаємо співвідношення
A1 AX  A1 B . (4.6)

29
Враховуючи, що добуток оберненої матриці на саму матрицю дає
одиничну матрицю
A1 A  E , (4.7)

а результатом добутку одиничної матриці E на матрицю-стовпець X є


матриця-стовпець X , тобто EX  X , одержимо матричний розв'язок системи
лінійних алгебраїчних рівнянь у вигляді
X  A1 B . (4.8)

Для знаходження оберненої матриці A1 необхідно застосувати алгоритм,


який складається з таких пунктів:
1. Обчислення визначника det A матриці A коефіцієнтів системи . Якщо він
не дорівнює нулеві, то продовжуємо розв’язувати СЛАР. Якщо det A  0 ,
то матриця A є виродженою і для неї не існує оберненої.
2. Знаходження алгебраїчних доповнень для елементів матриці A . Вони
дорівнюють мінорам для відповідних елементів aij ( i, j  1, n ),

помноженим на 1i j , тобто

Aij   1 M ij ,
i j
(4.9)

а мінор M ij отримують із матриці A шляхом викреслювання i -го рядка та

j -го стовпця.
3. Формування матриці A , елементами якої є алгебраїчні доповнення
матриці A .
~
4. Транспонування матриці A і знаходження приєднаної матриці A  A T .
5. Визначення оберненої матриці за формулою
~
A
1
A  . (4.10)
det A

Зауваження. Обчислення для системи із трьох рівнянь не є громіздкими.


30
У випадку системи із чотирьох рівнянь кількість обчислень значно зростає і
для визначення оберненої матриці доводиться шукати шістнадцять
визначників третього порядку. Для системи із n рівнянь необхідно обчислити
n 2 визначників (n  1) -го порядку. Тому на практиці матричний метод не є
ефективним для розв’язування СЛАР високого порядку (більше десяти).

4.4. Приклади розв’язування задач

Приклад 4.1. Методом Крамера розв’язати систему рівнянь

 x1  2 x2  4 x3  2

3x1  x2  x3  1

2 x1  2 x2  x3  3
Розв’язування. Обчислимо визначники det A , det A1 , det A2 , det A3 :

1 2 4 2 2 4
det A  3  1 1  23 ; det A1  1  1 1  14 ;
2 2 1 3 2 1

1 2 4 1 2 2
det A2  3 1 1  22 ; det A3  3  1 1  3 .
2 3 1 2 2 3

Невідомі xi ( i  1,3 ) обчислюємо за формулою (4.4):

det A1  14 det A2  22
x1    0,609 , x2    0,957 ,
det A  23 det A  23

det A3 3
x3    0,13 .
det A  23

Відповідь: x1  0,609 , x2  0,957 , x3  0,13 .

31
Приклад 4.2. Матричним методом розв’язати систему рівнянь

 x1  x2  x3  3

2 x1  x2  x3  6
 x  x  x  1
 1 2 3

Розв’язування. Обчислимо визначник матриці A

1 1 1
det A  2  1 1  1  1  2 - 1  1  2  6 .
1 1 1

Оскільки det A  0 , то обернена матриця A-1 існує. Для її знаходження


обчислимо мінори і алгебраїчні доповнення матриці A .

Знайдемо мінор M 11 та відповідне йому алгебраїчне доповнення A11 . Для


цього в матриці A викреслимо 1-й рядок і 1-й стовпець. У результаті
отримаємо

1 1
A11   1 M 11  2 .
11
M 11   2,
1 1

Аналогічно обчислимо решту мінорів та алгебраїчних доповнень:

2 1
A12   1 M 12  3 ;
1 2
M 12   -3 ,
1 1

2 1
A13   1 M 13  -1 ;
1 3
M 13   -1 ,
1 1

1 1
A21   1
2 1
M 21   -2 , M 21  2 ;
1 1

1 1
A22   1
2 2
M 22  0, M 22  0 ;
1 1

32
1 1
A23   1
23
M 23   -2 , M 23  2 ;
1 1

1 1
A31   1
31
M 31   0, M 31  0 ;
1 1

1 1
A32   1
3 2
M 32   3, M 32  -3 ;
2 1

1 1
A33   1
3 3
M 33   -3 , M 33  -3 .
2 1

Запишемо матрицю алгебраїчних доповнень

 2 3  1
 
A  2 0 2 
 0  3  3
 

та транспоновану до неї матрицю

2 2 0
~  
A   3 0  3 .
  1 2  3
 
~
Застосуємо формулу (4.10) до матриці A і обчислимо елементи оберненої
матриці

 1 1 
 0 
2 2 0   3 3 
1 
A 1   3 0  3   
1 1
0  .
6
    2 2
 1 2 3  1 1 1
  
 6 3 2

Отримуємо розв’язок СЛАР

33
 1 1 
 0 
 3 3    3  1 
1    
X  A 1  B  
1
0    6     1 .
 2 2    
 1 1 1    1  3 
  
 6 3 2

Відповідь: x1  1 , x2  1 , x3  3 .

Варіанти завдань

Скласти програму розв’язування системи лінійних алгебраїчних рівнянь


методом оберненої матриці та методом Крамера.

0,65 x1  0,93x2  0,45 x3  0,72 0,92 x1  0,83x 2  0,62 x 3  2,15


 
1.1,15 x1  0,43x2  0,72 x3  1,24 5.0,24 x1  0,54 x 2  0,43x 3  0,62
 
0,56 x1  0,18 x2  1,03x3  2,15 0,73x1  0,81x 2  0,67 x 3  0,88

0,62 x1  0,56 x 2  0,43x 3  1,16 0,95 x1  0,72 x 2  1,14 x 3  2,15


 
2.1,32 x1  0,88 x 2  1,76 x 3  2,07 6.0,63x1  0,24 x 2  0,38 x 3  0,74
 
0,73x1  1,42 x 2  0,34 x 3  2,18 1,23x1  1,08 x 2  1,16 x 3  0,97

0,32 x1  0,42 x 2  0,85 x 3  1,32


3,75 x1  0,28 x 2  0,17 x 3  0,75 
 7.0,63x1  1,43x 2  0,58 x 3  0,44
3.2,11x1  0,11x 2  0,12 x 3  1,11 
 0,84 x1  2,23x 2  0,52 x 3  0,64
0,22 x1  3,17 x 2  1,81x 3  0,05
1,24 x1  0,87 x 2  3,17 x 3  0,46
3,01x1  0,14 x 2  0,15 x 3  1,00 
 8.2,11x1  0,45 x 2  1,44 x 3  1,50
4.1,11x1  0,13x 2  0,75 x 3  0,13 
 0,48 x1  1,25 x 2  0,63x 3  0,35
0,17 x1  2,11x 2  0,71x 3  0,17

34
0,13x1  0,14 x2  2,00 x3  0,15 1,26 x1  2,34 x 2  1,17 x 3  3,14
 
9.0,75 x1  0,18 x2  0,77 x3  0,11 13.0,75 x1  1,24 x 2  0,48 x 3  1,17
 
0,28 x1  0,17 x2  0,39 x3  0,12 3,44 x1  1,85 x 2  1,16 x 3  1,83

0,34 x1  0,71x 2  0,63x3  2,08 0,43x1  1,24 x 2  0,58 x 3  2,71


 
10.0,71x1  0,65 x 2  0,18 x3  0,17 14.0,74 x1  0,83x 2  1,17 x 3  1,26
1,17 x  2,35 x  0,75 x  1,28 

1,43x1  1,58 x 2  0,83x 3  1,03
1 2 3

0,21x1  0,18 x 2  0,75 x 3  0,11


 0,83x1  1,41x 2  0,58 x 3  2,71
11.0,13x1  0,75 x 2  0,11x 3  2,00 
15.1,23x1  0,83x 2  1,17 x 3  5,26

3,01x1  0,33x 2  0,11x 3  0,13 
1,43x1  1,58 x 2  0,83x 3  1,03
0,46 x1  1,72 x 2  2,53x 3  2,44

12.1,53x1  2,32 x 2  1,83x 3  2,83

0,75 x1  0,86 x 2  3,72 x 3  1,06

Вимоги до програми

У програмі слід передбачити такі можливості:


1. Автоматизоване знаходження розв’язку СЛАР третього порядку
методами Крамера та оберненої матриці.
2. Передбачити вивід покрокового виконання для кожного методу.

Контрольні запитання

1. Дати означення системи лінійних алгебраїчних рівнянь.


2. Що називається розв’язком системи лінійних алгебраїчних рівнянь?
3. Записати СЛАР у розгорнутій, скороченій та матричній формах.
4. Які СЛАР називають сумісними?
5. Які СЛАР називають виродженими?
35
6. Які СЛАР називають визначеними?
7. Які СЛАР називають однорідними?
8. Назвати прямі методи розв’язування СЛАР. Що їх об’єднує?
9. У якому випадку для розв’язування системи лінійних алгебраїчних
рівнянь застосовують матричний метод?
10.Дати означення алгебраїчного доповнення до елемента матриці.
11.Пояснити суть методу оберненої матриці.
12.Пояснити суть методу Крамера.

36
5. Лабораторна робота № 4. РОЗВ’ЯЗУВАННЯ СИСТЕМ ЛІНІЙНИХ
АЛГЕБРАЇЧНИХ РІВНЯНЬ МЕТОДОМ ГАУСА ТА МЕТОДОМ LU-
РОЗКЛАДУ

Мета роботи: ознайомлення на практиці з методом Гауса та методом LU-


розкладу розв’язування систем лінійних алгебраїчних рівнянь.

5.1. Метод Гауса

Формулювання задачі. Задано систему лінійних алгебраїчних рівнянь


a11 x1  a12 x2    a1n xn  b1 ,
a x  a x    a x  b ,
 21 1 22 2 2n n 2
 (5.1)
..........................................
am1 x1  am 2 x2    amn xn  bm ,

для якої необхідно знайти точний розв’язок.

У матричній формі цю систему записують у вигляді

A X  B. (5.2)

Найвідомішим точним методом розв’язування систем лінійних


алгебраїчних рівнянь є метод Гауса, суть якого полягає в тому, що систему
рівнянь, яку необхідно розв’язати, зводять до еквівалентної системи з
верхньою (або нижньою) трикутною матрицею. Невідомі знаходять
послідовними підстановками, починаючи з останнього рівняння перетвореної
системи. Точність результату та витрачений на його отримання час у більшості
випадків залежить від алгоритму формування трикутної матриці системи. У
загальному випадку алгоритм методу Гауса складається з двох етапів –
прямого та зворотного ходу.
Під час прямого ходу СЛАР (5.1) перетворюють до еквівалентної системи
з верхньою трикутною матрицею коефіцієнтів у вигляді

37
a11  x1  a12  x2  ...  a1n  xn  b1 ,

 0  x1  a22  x2  ...  a2 n  xn  b2 ,
 (5.3)
 ............................................

 0  x1  0  x2  ...  ann  xn  bn .

Зворотній хід дає змогу визначити елементи вектора невідомих,


починаючи з останнього рівняння системи (5.3), підставляючи послідовно
відповідні елементи цього вектора, отримані на попередньому кроці.
Розглянемо невироджену визначену систему (5.3).
a11 x1  a12 x2  a13 x3    a1n xn  b1 ,

a21 x1  a22 x2  a23 x3    a2 n xn  b2 ,

a31 x1  a32 x2  a33 x3    a3n xn  b3 , (5.4)

..........................................

an1 x1  an 2 x2  an 3 x3    ann xn  bn .

Вважаємо, що a11  0 , адже ми завжди можемо цього досягти


перестановкою рядків системи місцями. Виключимо невідому змінну x1 із усіх
рівнянь системи крім першого. Для цього віднімемо від кожного i -го рівнянь (
a i1
i  2, n ) перше рівняння, помножене на . У результаті таких перетворень
a11

система набуде вигляду


a11 x1  a12 x2  a13 x3    a1n xn  b1 ,


(1)
a 22 x2  a 23
(1)
x3   a 2(1n) xn  b2(1) ,


(1)
a32 x2  a33
(1)
x3   a3(1n) xn  b3(1) , (5.5)

......................................................

 a n(12) x2  a n(13) x3   a nn
(1)
xn  bn(1) ,

ai1 a
де aij(1)  a ij  a1 j , bi(1) b i b1 i1 , i  2, n .
a11 a11

38
Далі проводимо аналогічні перетворення. Якщо a22
(1)
 0 , то віднімаємо
ai(21)
від і-го ( i  3, n ) рядка системи другий рядок, помножений на (1) . Після цього
a 22
система рівнянь набуде такого вигляду:
a11 x1  a12 x2  a13 x3    a1n xn  b1 ,


(1)
a22 x2  a23 (1)
x3   a2(1n) xn  b2(1) ,

 a33( 2)
x3   a3( 2n) xn  b3( 2 ) , (5.6)

......................................................

 an( 23) x3   ann ( 2)
xn  bn( 2 ) ,

ai(21) ai(21)
де a ( 2)
ij a (1)
ij a (1)
2j (1)
, b i
( 2)
 b b
i
(1) (1)
2 (1)
, i  3, n . Такі перетворення
a 22 a 22
продовжуємо доти, поки система не стане трикутною
a11 x1  a12 x2  a13 x3    a1n xn  b1 ,


(1)
a 22 x2  a 23(1)
x3   a 2(1n) xn  b2(1) ,

 a33( 2)
x3   a3( 2n) xn  b3( 2 ) , (5.7)

......................................................
 ( n 1)
 a nn xn  bn( n1) .

Після таких перетворень починаємо зворотній хід методу. Знаходимо


значення xn із останнього рівняння за формулою

bn( n1)
xn  ( n1) . (5.8)
ann

За допомогою знайденого xn отримуємо значення xn 1 із передостаннього


рівняння і т.д. Отже, після зворотного ходу методу Гауса знаходять розв’язок
СЛАР (5.4) у вигляді таких співвідношень:
1 n

xi   i  aik xk  , i  1, n .
b  (5.9)
aii  k i 1 

39
Кількість N арифметичних операцій, необхідних для реалізації методу
Гауса, визначають за формулою

2n n  1n  2
N  n n  1. (5.10)
3

Зауваження. Під час прямого ходу методу Гауса однією з необхідних


операцій є ділення на діагональний елемент akkk 1 . Якщо такий елемент є
досить малим за абсолютною величиною (близьким до нуля), то при виконанні
прямого і зворотного ходів методу виникають великі похибки, які
спричиняють втрату точності. Для уникнення даної ситуації на k -му етапі
рівняння переставляють так, щоб на головній діагоналі матриці коефіцієнтів
системи знаходився найбільший за модулем елемент k -го стовпця. Цю
модифікацію методу називають методом Гауса з вибором головного
елемента.

5.2. Метод Гауса з вибором головного елемента

Запишемо розширену прямокутну матрицю коефіцієнтів системи (5.1):


 a11 a12  a1n 
 
a a22  a2 n 
A   21 .

 
 am1 am 2  amn 

Серед елементів aij ( i, j  1, n ) матриці A виберемо найбільший за

модулем елемент, який називають головним елементом. Нехай ним буде


елемент a pk . Рядок з номером p називають головним рядком. Обчислюємо

aik
множники mi  ( i, k  1, n ) для всіх рядків i  p .
a pk

Далі перетворюємо матрицю A так: від кожного i -го неголовного рядка


віднімаємо почленно головний рядок, помножений на mi . У результаті

40
отримуємо матрицю, у якій всі елементи k -го стовпця, за винятком a pk ,

дорівнюють нулеві. Відкидаючи цей стовпець і головний рядок, отримуємо


нову матрицю A1 з меншою на одиницю кількістю рядків та стовпців. Такі

самі дії повторюємо над матрицею A1 і отримуємо матрицю A2 і т.д. Ці


перетворення продовжуємо доти, поки не отримаємо матрицю, що містить
один рядок з двох елементів, який вважаємо головним. Об’єднаємо всі головні
рядки, починаючи від останнього. Після деяких перестановок вони утворять
трикутну матрицю, еквівалентну до початкової матриці A .

5.3. Застосування прямого ходу метода Гауса для пошуку визначників

Для обчислення визначників матриць застосовують два підходи:

- рекурсивний розрахунок за допомогою розкладу за елементами рядка


або стовпця матриці;
- обчислення на основі прямого ходу метода Гауса.

Перший спосіб ґрунтується на використанні тієї властивості визначників,


що визначник матриці дорівнює сумі добутків елементів будь-якого рядка чи
стовпця на їх алгебраїчне доповнення, тобто
n
det A   aij Aij , i  1, n . (5.11)
j 1

Таким чином, обчислення одного визначника n -го порядку зводиться до


розрахунку n визначників порядку n  1 за допомогою рекурсії. Рекурсивний
спосіб зручно застосовувати лише до тих рядків або стовпців, які містять
велику кількість нульових елементів. У випадку відсутності нульових
елементів у матриці або їх незначної кількості застосування цього способу є
вкрай не ефективним. Для визначника n порядку необхідно обчислити n! 2
визначників другого порядку.

41
Метод, що ґрунтується на алгоритмі прямого ходу метода Гауса,
використовує властивість визначника трикутної матриці. Для такої матриці
визначник дорівнює добутку елементів головної діагоналі.
Для обчислення визначника використовується алгоритм побудови
послідовності матриць A1 , A2 , …, An прямого ходу метода Гауса з тією
відмінністю, що при перестановці рядків чи стовпців знак визначника
змінюється на протилежний. Значення визначника розраховується за
формулою

det A   1 a11 a122 ... ann


n 1
m
, (5.12)

де m - кількість перестановок.
Цей метод дозволяє обчислювати визначники матриць великих порядків.

5.3. Метод LU-розкладу

Розв’язуючи систему лінійних алгебраїчних рівнянь даним методом,


матрицю A коефіцієнтів системи (5.1) розкладають на добуток двох матриць –
нижньої трикутної матриці L , елементи головної діагоналі якої не дорівнюють
нулеві та верхньої трикутної U , на головній діагоналі якої містяться одиниці,
тобто
A  LU , (5.13)
де
 l11 0 0 ... 0   1 u12 u13 ... u1n 
   
 l21 l22 0 ... 0  0 1 u 23 ... u 2 n 
L   l31 l32 l33 ... 0  , U 0 0 1 ... u3n  .
   
 ... ... ... ... ...   ... ... ... ... ... 
l ... lnn  0 0 ... 1 
 n1 ln 2 ln3  0

У результаті такого розкладу матриці A систему (5.1) запишемо у вигляді


LUX  B . (5.14)

42
Введемо допоміжний вектор Y , такий що
UX  Y . (5.15)

Тоді матричне рівняння (5.2) подамо у вигляді

LY  B . (5.16)

Розв’язування матричного рівняння (5.14) виконуємо за два етапи:


спочатку розв’язуємо матричне рівняння (5.16), а потім (5.15). Такий підхід
суттєво спрощує отримання розв’язку порівняно з методом Гауса для випадку,
коли маємо кілька систем рівнянь з однаковою матрицею коефіцієнтів А,
оскільки матриці L та U визначають один раз.
Розв’язування систем LY  B та UX  Y називають прямим та оберненим
ходом відповідно.
Спочатку розглянемо прямий хід методу. Завдяки трикутній формі
матриці L вектор Y легко визначають. Для цього матричне рівняння (5.16)
перепишемо у розгорнутому вигляді
l11 y1  b1

l21 y1  l22 y2  b2 ,

l31 y1  l32 y2  l33 y3  b3 , (5.17)

.........................................

ln1 y1  ln 2 y2  ln 3 y3  ...  lnn yn  bn ,

звідки отримуємо компоненти вектора Y у вигляді

y1  b1 / l11 , (5.18)

1 i 1

yi   bi   lim ym  , i  2, n . (5.19)
lii  m1 

При виконанні оберненого ходу компоненти вектора X визначають зі


системи рівнянь

43
 x1  u12 x2  u13 x3  ...  u1n xn  y1 ,

 x2  u 23 x3  ...  u 2 n xn  y 2 ,

 x3  ...  u3n xn  y3 , (5.20)

...................................................

 xn  y n .

Починаючи з останнього рівняння, послідовно знаходимо компоненти


вектора X за співвідношеннями
n
x n  y n , x i  yi  u
mi 1
x , i n.
im m (5.21)

Розглянемо LU – розклад матриці А. Елементи матриці L та U визначаємо


за такими формулами
j 1
li1  ai1 , lij  aij   lik ukj , i  1, n , j  2, i , (5.22)
k 1

a1 j 1 i 1

uii  1, u1 j  , uij   ij  lik u kj  ,
a  i  2, j , j  2, n . (5.23)
a11 lii  k 1 

Формули (5.22), (5.23) записують у зручнішому вигляді (метод Краута)


k 1
lik  aik   lim umk , u kk  1, (5.24)
m1

1 k 1

u kj   akj   lkm u mj  , i  k , n , j  k  1, n .
lkk  m 1 

Наприклад, при k  1
li1  ai1 для всіх i  1, n ,

a1 j
u1 j  для всіх j  2, n .
a11

44
5.4. Приклади розв’язування задач

Приклад 5.1. Методом Гауса розв’язати систему рівнянь:


2 x1  x2  x3  1

4 x1  x2  2

 2 x1  2 x2  x3  7.

Розв’язування. Прямий хід методу Гауса. Додаємо до другого рядка


перший, помножений на (-2). У результаті отримаємо
2 x1  x2  x3  1

  x2  2 x3  4

 2 x1  2 x2  x3  7.

До третього рядку додаємо перший. Тоді система рівнянь набуде вигляду

2 x1  x2  x3  1

  x2  2 x3  4

 3x2  2 x3  8.

Додаємо до третього рядку другий, помножений на 3. Результатом такого


перетворення буде така система

2 x1  x2  x3  1

  x2  2 x3  4

  4 x3  4.

Обернений хід методу Гауса. Із останнього рівняння знаходимо x3


4
x3   1.
4

Із другого рівняння отримаємо x2

45
 4  2 x3  4  2
x2    2.
1 1

Із першого рівняння обчислюємо останнє невідоме x1

1  x2  x3 1  2  1
x1    1.
2 2

Відповідь: розв’язком системи буде x1  1, x2  2 , x3  1 .

Кількість арифметичних операцій, необхідних для розв’язування системи


трьох лінійних рівнянь з трьома невідомими методом Гауса відповідно до
формули (5.10) буде
2  3 3  13  2
N  3 3  1  46 .
3

Приклад 5.2. Методом Гауса з вибором головного елемента розв’язати


систему рівнянь:
2 x1  x2  0.1x3  x4  2.7

0.4 x1  0.5 x2  4 x3  8.5 x4  21.9

0.3x1  x2  x3  5.2 x4  3.9

 x1  0.2 x2  2.5 x3  2 x4  9.9.

Розв’язування. Прямий хід методу Гауса. Так як a11  2 є найбільшим


серед коефіцієнтів першого стовпця, то переставляти рядки непотрібно. Тоді із
другого, третього та четвертого рядків виключаємо змінну x1 , обчисливши
спочатку коефіцієнти

a21 0.4
m2     0.2 ,
a11 2

a31 0 .3
m3     0.15 ,
a11 2

46
a41 1
m4      0.5 ,
a11 2

а потім додаючи до другого, третього і четвертого рядків системи перший


рядок, помножений на відповідні коефіцієнти mi ( i  2,4 ),отримаємо нову
систему рівнянь
2 x1  x2  0.1x3  x4  2.7

 0.3x2  4.02 x3  8.7 x4  21.36

  1.15 x2  1.015 x3  5.05 x4  4.305

  0.3x2  2.55 x3  1.5 x4  8.55.

В отриманій системі найбільшим за модулем коефіцієнтом є коефіцієнт


при x2 : a32
(1)
 1.15 . Тому переставляємо рядки і перепишемо систему у
вигляді
2 x1  x2  0.1x3  x4  2.7

  1.15 x2  1.015 x3  5.05 x4  4.305

 0.3x2  4.02 x3  8.7 x4  21.36

  0.3x2  2.55 x3  1.5 x4  8.55.

Обчислюємо множники
(1)
a32 0.3
m (1)
  (1)    0.26087 ,
 1.15
3
a22

(1)
a42  0.3
m (1)
  (1)    0.26087 ,
 1.15
4
a22

а далі додаємо третє і четверте рівняння системи до другого рівняння,


помноженого на відповідні множники mi ( i  3,4 ). У результаті таких
перетворень отримаємо

47
2 x1  x2  0.1x3  x4  2.7

  1.15 x2  1.015 x3  5.05 x4  4.305

 4.28478 x3  7.38261x4  20.23696

 228522 x3  2.81739 x4  9.67305.

На останньому кроці прямого ходу методу Гауса з вибором головного


елемента обчислимо коефіцієнт
(1)
a42  0.3
m (1)
  (1)    0.26087 .
 1.15
4
a22

Додавши до четвертого рівняння системи третє рівняння, помножене на


обчислений коефіцієнт m4( 2) , одержимо систему рівнянь трикутного вигляду

2 x1  x2  0.1x3  x4  2.7

  1.15 x2  1.015 x3  5.05 x4  4.305

 4.28478x3  7.38261x4  20.23696

 1.11998x4  1.11998.

Обернений хід методу Гауса. Із останнього рівняння системи трикутного


вигляду, знаходимо x4  1.000 . Підставивши значення x4 у третє рівняння,
отримаємо x3  2.000 , після чого із другого рівняння знайдемо x2  3.000 .
Нарешті, з першого рівняння обчислимо x1  1.000 .
Відповідь. Розв’язок системи: x1  1.000 , x2  3.000 , x3  2.000 ,
x4  1.000.

Приклад 5.3. Методом LU - розкладу розв’язати систему рівнянь


 2 x1  x2  x3  1

 4 x1  x2  2

 2 x1  2 x2  x3  7.

48
Розв’язування. Матрицю A подаємо у вигляді добутку двох матриць
A  LU . Наведемо обчислення значень елементів матриці L та U .

Крок 1. Значення елемента l11  a11  2 . Знаходимо значення елементів

u1i (i  1,3) першого стовпчика матриці U:


u11  2 2  1;

u21  1 2  0.5 ;

u31  1 2  0.5 .

Крок 2. Отримуємо значення елемента l21  4 . Після цього обчислюємо


значення елемента l22 матриці L
l22  1  4  0.5  1

та значення елементів u 22 , u 23 матриці U :


u 22   1  1  1;

u 23   2  1  2 .

Крок 3. Значення елемента l31  2 матриці L . Обчислюємо значення її


елементів l32 та l33
l32  2   2  0.5  3 ;

l33  1   2  0.5  3  2  4 .

Тоді значення u33   4  4  1 .


У результаті проведених обчислень отримано нижню L та верхню U
трикутні матриці:
 2 0 0   1 0.5 0.5 
   
L   4 1 0  , U   0 1 2 .
  2 3  4 0 0 1 
  

49
Прямий хід методу LU -розкладу. Обчислюємо значення елементів
вектора Y за формулами (5.16), (5.17)
y1  b1 / l11  1 2  0.5 ;

1
y2  b2  l21 y1   1  2  4  0.5  4 ;
l22 1

y3 
1
b3  l31 y1  l32 y 2   1 7   2  0.5  3  4  1.
l33 4

Обернений хід методу LU -розкладу. Обчислюємо значення елементів


вектора X

x3  y3  1;

x2  y2  u23  x3  4  2  1  2 ;

x1  y1  u13  x3  u12  x2  0.5  0.5  1  0.5  2  1 .

Відповідь: розв’язок системи рівнянь x1  1, x2  2, x3  1.

Варіанти завдань

Скласти програму розв’язування системи лінійних алгебраїчних рівнянь


методами Гауса з вибором головного елемента та LU -розкладу. Розв’язати
систему лінійних алгебраїчних рівнянь відповідно до свого варіанту (див.
варіанти завдань до лабораторної роботи № 3).

Вимоги до програми

У програмі слід передбачити такі можливості:

1. Введення вхідних даних з екрана та з файлу: задати порядок СЛАР,


елементи матриці коефіцієнтів та вільні члени системи.
2. Передбачити можливість некоректного введення даних.

50
3. Автоматизоване знаходження розв’язку СЛАР методом Гауса з вибором
головного елемента та методом LU -розкладу.
4. Передбачити вивід покрокового виконання для кожного методу.

Контрольні запитання

1. Пояснити суть прямих методів розв’язування СЛАР.


2. Назвати етапи, з яких складається алгоритм методу Гауса.
3. Який результат прямого ходу методу Гауса?
4. Який результат зворотного ходу методу Гауса?
5. Назвати переваги методу Гауса з вибором головного елемента.
6. Який вигляд мають матриці L і U коефіцієнтів при використанні
методу LU - розкладу для розв’язування СЛАР?
7. Які етапи розв’язання СЛАР методом LU - розкладу?

51
6. Лабораторна робота № 5. НАБЛИЖЕНІ МЕТОДИ РОЗВ’ЯЗУВАННЯ
СИСТЕМ ЛІНІЙНИХ АЛГЕБРАЇЧНИХ РІВНЯНЬ

Мета роботи: ознайомлення на практиці з методами Якобі та Зейделя


розв’язування систем лінійних алгебраїчних рівнянь.

Розглянемо систему лінійних алгебраїчних рівнянь


A X  B. (6.1)

Наближені методи розв’язування СЛАР полягають у тому, що вектор X


знаходять як границю послідовних наближень X n  , де n – номер ітерації.
Навіть в припущенні, що обчислення виконують без заокруглень, ітераційні
методи дають змогу визначити розв’язок тільки з заданою точністю
X n   X *   , (6.2)

де X * - точний розв’язок матричного рівняння (6.1).


До наближених методів відносять методи, які дають змогу розв’язок
системи отримати як границю послідовних n розв’язків системи (6.1) при
n   у вигляді

X  lim X n  ,
n

де X i  -шуканий вектор i -го наближення ( i  0, n ).


Для розв’язування СЛАР наближеними методами розглянемо метод
простої ітерації (Якобі) та метод Зейделя.

6.1. Метод простої ітерації (Якобі)

Розглянемо систему лінійних алгебраїчних рівнянь виду:


a11 x1  a12 x2  a13 x3    a1n xn  b1 ,

a21 x1  a22 x2  a23 x3    a2 n xn  b2 ,
 (6.3)
..........................................

an1 x1  an 2 x2  an 3 x3    ann xn  bn .

Припустивши, що коефіцієнти aii  0 (i  1, n) , розв’яжемо i -те рівняння


системи (6.3) відносно xi . У результаті отримаємо таку систему:

 b1  a12 a a 
 x1    x2  13 x3    1n xn ,
 a11  a11 a11 a11 

 x  b2   a21 x  a23 x    a2 n x ,
 2 a a 1 a 3 a22 
n
 22  22 22 (6.4)

..........................................

 x  bn   an1 x  an 2 x    an ,n1 x .
 n ann  ann 1 ann 2 ann
n 1 

Введемо позначення
bi aij
i  ,  ij   , i  1, n , ji
aii aii

і перепишемо систему (6.4) у вигляді


 x1  1  12 x2  13 x3    1n xn ,

 x2   2   21 x1   23 x3     2 n xn ,
 (6.5)
..........................................

 xn   n   n 2 x2   n 3 x3     nn xn .

Таку систему називають зведеною. У матричному вигляді запишемо її


так:
X    X , (6.6)

де

53
 0  12  13 ... 1n   1 
   x1   
  21 0  23 ...  2 n     2
x 
    31  32 0 ...  3n  , X   2 ,    3  .
    
 ... ... ... ... ...    
  xn   
 n1  n 2  n3 ... 0   n

За нульове наближення розв’язку системи (6.5) виберемо стовпець


вільних членів, тобто
 x10   1 ,

 x20    2 ,
 (6.7)
...
 0 
 xn   n

або
X 0    .

Перше наближення розв’язку системи (6.5) знаходимо у вигляді


X 1      X 0  . (6.8)

Аналогічно довільне наближення розв’язку системи (6.5) визначимо


співвідношенням
X n       X n1 . (6.9)

Якщо послідовність X 1 , X 2  ,… X n  ,… збігається, тобто X  lim X n  , то


n

граничний вектор X є розв’язком системи рівнянь (6.5), а отже і системи (6.3).


Формули (6.9) перепишемо у розгорнутому вигляді

 xi0    i

 k  i 1 n i  1, n , k  1,2,... (6.10)
 i
x   i    ij x jk 1   ij x jk 1 ,
 j 1 j i 1

54
6.2. Збіжність ітераційного процесу

Збіжність ітераційного процесу (6.9) залежить від величини коефіцієнтів


матриці  . Тому не обов’язково за нульове наближення розв’язку вибирати
стовпець вільних членів. За початкове наближення X 0  можна також вибирати
0 
 вектор, усі координати якого xi  0 (i  1, n) ;
0 
 вектор, усі координати якого xi  1 (i  1, n) ;

 вектор X 0  , отриманий у результаті аналізу особливостей об’єкту


дослідження та задачі, яку розв’язують.

Теорема (про збіжність ітераційного процесу). Якщо елементи матриці


 системи рівнянь (6.6) задовольняють одну з умов:

n aij
j 1 aii
 1, i  1, n , (6.11)

n aij

i 1 aii
 1, j  1, n , (6.12)

2
n
 aij 
 
i , j 1  aii
  1, (6.13)

то система рівнянь (6.6) має єдиний розв'язок X * , який не залежить від


початкового наближення X 0  .

Розглянемо наслідки з цієї теореми.

Наслідок 1. Ітераційний процес розв’язування системи лінійних


алгебраїчних рівнянь (6.5) збігається, якщо сума модулів елементів рядків
матриці коефіцієнтів  або сума модулів елементів її стовпців менша від
одиниці, тобто виконується умова
n
max   ij  1 , i  1, n (6.14)
i
j 1

55
або
n
max   ij  1 , j  1, n . (6.15)
j
i 1

Наслідок 2. Ітераційний процес розв’язування СЛАР (6.5) збігається,


якщо елементи aii ( i  1, n ) головної діагоналі матриці її коефіцієнтів є

більшими за суму модулів елементів aij ( i  1, n , j  1, n , i  j ) відповідного

рядка крім діагонального елемента цього рядка, тобто виконується умова


n
 ii  max   ij , i  1, n (6.16)
i
j 1

або
n
 jj  max   ij , i  1, n . (6.17)
j
i 1

Зауважимо, що будь-яку невироджену систему лінійних алгебраїчних


рівнянь з допомогою тотожних перетворень завжди можна звести до системи,
для якої виконуватимуться достатні умови збіжності методу ітерацій.

6.3. Критерії припинення ітераційного процесу

Якщо задана похибка  наближеного розв’язку, то критерієм припинення


ітераційного процесу вважають виконання однієї з умов:

- модуль різниці між наступним та попереднім наближенням розв’язку


повинен бути меншим за 

 x  xi( k 1)    ,
n
2
X (k )
X ( k 1)
 (k )
i k  1,2,... ; (6.18)
i 1

- максимальне значення модуля різниць між відповідними компонентами


наступного та попереднього наближення розв’язку повинно бути меншим за 

56
max xi( k )  xi( k 1)   , i  1, n , k  1,2,... ; (6.19)
i

- максимальне значення модуля відносних різниць між відповідними


компонентами наступного та попереднього наближення розв’язку повинно
бути меншим за 

xi( k )  xi( k 1)


max  , xi  1 , i  1, n , k  1,2,... . (6.20)
i xi( k )

Для попередження необґрунтованих витрат машинного часу для випадку,


коли ітераційний процес не є збіжним для конкретної СЛАР, використовують
лічильник кількості ітерацій, і при досягненні нею деякого заданого числа N
обчислення припиняють.

6.4. Метод Зейделя

Даний метод є модифікацією методу простої ітерації. Основна його ідея


полягає в тому, що при обчисленні чергового k -го наближення розв’язку xi(k ) (

i  1, n )використовують вже знайдені значення k -го наближеного розв’язку x1( k )

, x2( k ) , …, xi(k1) . Ітераційні формули методу Зейделя мають вигляд

i 1 n
xik    i   ij x jk     ij x jk 1 , i  1, n , k  1,2,... (6.21)
j 1 j i 1

Умова збіжності і критерій припинення ітераційного процесу за методом


Зейделя є такими ж, як і для методу простої ітерації.
За методом Зейделя отримують кращу збіжність, ніж за методом Якобі,
але доводиться проводити громіздкіші обчислення. Крім того, ітераційний
процес, проведений за методом Зейделя іноді буває збіжним у тому випадку,
коли він є розбіжним за методом простої ітерації і навпаки.

57
6.5. Приклади розв’язування задач

Приклад 6.1. Методом простої ітерації розв’язати систему рівнянь:


4 x1  x2  2 x3 1.75,

 x1  5 x2  3x 3  2.5,

2 x1  x2  8 x3  0.25

з точністю   10 4 .

Розв’язування. Зведемо систему до вигляду, зручного для виконання


ітераційного процесу. Для цього з першого рівняння наведеної системи
виразимо змінну x1 , з другого - змінну x2 , а з третього - x3 . У результаті таких
перетворень отримаємо

 x1  0.25 x2  0.5 x3  0.4375,



 x2  0.20 x1  0.6 x3  0.5,

 x3  0.25 x1  0.125 x2  0.03125.

Тут

 0 0.25  0.5   0.4375 


   
   0.2 0 0.6  ,     0.5 .
 0.25 0.125 0   0.03125 
  

Достатня умова (6.14) збіжності методу простої ітерації виконується,


оскільки

max 0.75, 0.8, 0.375  0.8  1.

За початкове наближення виберемо вектор вільних членів  зведеної


СЛАР

X 0   0.43750,  0.50000, 0.03125


T

58
і виконуємо ітераційний процес за формулами (6.10) до тих пір, поки не
виконуватимуться умови (6.18). Результати обчислень наведемо в таблиці 6.1.

Таблиця6.1

k x1k  x2k  x3k  X k   X  k 1

0 0.43750 0.50000 0.03125 


1 0.29688 0.39375 0.07812 0.14062
2 0.30000 0.39375 0.05625 0.02187
3 0.31094 0.40625 0.05703 0.01250
4 0.30742 0.40359 0.05820 3.52  10 3
5 0.30750 0.40360 0.05766 5.4  10 4
6 0.30777 0.40390 0.05768 3  10 4
7 0.30768 0.40384 0.05770 9  10 5
8 0.30769 0.40384 0.05769 1  10 5

Як бачимо, при k  8 умова (6.18) виконується, тому процес обчислень


припиняємо.

Відповідь. Розв’язок системи: x1  0.3077  0.0001, x2  0.4038  0.0001 ,


x3  0.0577  0.0001.

Приклад 6.2. Розв’язати СЛАР, наведену в попередньому прикладі,


методом Зейделя з точністю   10 4 .

Розв’язування. Проводимо аналогічні до попереднього випадку


перетворення, але використовуємо ітераційні формули Зейделя (6.21).

Результати обчислень приведено в таблиці 6.2.

59
Таблиця 6.2

k x1k  x2k  x3k  X k   X k 1


0 0.43750 0.50000 0.03125 


1 0.29688 0.42187 0.05274 0.14062
2 0.30566 0.40722 0.05676 0.01465
3 0.30732 0.40448 0.05752 2.74  10 3
4 0.30762 0.40396 0.05766 5.2  10 4
5 0.30768 0.40387 0.05769 6  10 5
6 0.30769 0.40385 0.05769 2  10 5
Як бачимо, критерій припинення ітераційного процесу досягаємо при
k  6.

Відповідь. x1  0.3077  0.0001 , x2  0.4038  0.0001 , x3  0.0577  0.0001 .

Приклад 6.3. Розв’язати методом Зейделя СЛАР

4 x1  0,24 x 2  0,08 x 3  8

0,09 x1  3x 2  0,15 x 3  9

0,04 x1  0,08 x 2  4 x 3  20

з точністю   10 4 .

Розв’язування. Запишемо відповідну зведену СЛАР до наведеної

 x1  1,2  0,1x2  0,1x3



 x2  1,3  0,2 x2  0,1x3

 x1  1,4  0,2 x2  0,2 x3 .

Задаємо нульове наближення розв’язку


x1(0)  2; x2(0)  3; x3(0)  5 .

Застосуємо ітераційні формули Зейделя і знайдемо перше наближення


розв’язку системи

60
 x1(1)  1,2  0,1  0  0,1  0,948  0,9992

 x2  1,3  0,3  0,9992  0,1  0,948  1,00536
(1)

 (1)
 x3  1,4  0,2  0,9992  0,2  1,00536  0,999098.

Аналогічно знаходимо друге наближення розв’язку

 x1( 2 )  1,2  0,1  1,06  0,1  0,948  0,9992



 x2  1,3  0,2  0,9992  0,1  0,948  1,00536
( 2)

 ( 2)
 x3  1,4  0,2  0,9992  0,2  1,00536  0,999098.

Результати обчислень помістимо в таблицю 6.3.

Таблиця 6.3

k x1( k ) x2( k ) x3( k )


0 1,200 0,000 0,000
1 1,200 1,0600 0,9480
2 0,9992 1,0054 0,9991
3 0,9996 1,0001 1,0001
4 1,0000 1,0000 1,0000
5 1,0000 1,0000 1,0000

Відповідь: x1  1; x2  1; x3  1 .

Варіанти завдань

Розв’язати систему лінійних алгебраїчних рівнянь методом Зейделя та


методом Якобі з точністю   0,001 . Порівняти кількість ітерацій для обох
методів.

61
0,23x1  0,04 x2  0,21x3  0,18 x4  1,24

0,45 x1  0,23x2  0,06 x3  0,88
1)
0,26 x1  0,34 x3  0,11x4  0,62

0,05 x1  0,26 x2  0,34 x3  1,12 x4  1,17

0,81x1  0,12 x2  0,34 x3  0,16 x4  0,64



0,34 x1  1,08 x2  0,17 x3  0,18 x4  1,42
2)
0,16 x1  0,34 x2  0,75 x3  0,31x4  0,42

0,12 x1  0,26 x2  0,08 x3  0,68 x4  083

0,42 x1  0,32 x2  0,03x3  0,44



0,11x1  0,46 x2  0,36 x3  1,42
4)
0,12 x1  0,08 x2  0,34 x3  0,24 x4  0,83

0,15 x1  0,35 x2  0,18 x3  1,42 x4  1,22

2,18 x1  0,34 x2  0,12 x3  0,15 x4  1,33



0,11x1  1,23x2  0,15 x3  0,32 x4  0,84
5)
0,05 x1  0,12 x2  2,14 x3  0,18 x4  1,16

0,12 x1  0,08 x2  0,06 x3  x4  0,57

0,91x1  0,23x2  0,44 x3  0,05 x4  2,13



0,04 x1  0,7 x2  0,31x3  0,15 x4  0,18
6)
0,06 x1  0,15 x2  0,83x3  0,17 x4  1,44

0,72 x1  0,08 x2  0,05 x3  1,08 x4  2,42

0,97 x1  0,31x2  0,18 x3  0,22 x4  1,71



 0,21x1  2,18 x2  0,33x3  0,22 x4  0,62
7) 
0,32 x1  0,18 x2  0,85 x3  0,19 x4  0,89

0,12 x1  0,28 x2  0,14 x3  2,29 x4  0,94

62
1,13x1  0,27 x2  0,22 x3  0,18 x4  1,21

 0,21x1  0,65 x2  0,18 x3  0,18 x4  0,33
8)
0,12 x1  0,13x2  0,73x3  0,18 x4  0,48

0,33x1  0,05 x2  0,06 x3  1,28 x4  0,17

0,81x1  0,07 x2  0,38 x3  0,21x4  0,81



 0,22 x1  0,78 x2  0,11x3  0,33x4  0,64
9)
0,51x1  0,07 x2  3,09 x3  0,11x4  1,71

0,33x1  0,41x2  0,83x4  1,21

0,65 x1  0,06 x2  0,12 x3  0,14 x4  2,17



0,04 x1  0,82 x2  0,08 x3  0,11x4  1,4
10)
0,34 x1  0,08 x2  0,66 x3  0,14 x4  2,1

0,11x1  0,12 x2  0,53x4  0,8

0,52 x1  0,23x2  0,25 x3  0,16 x4  1,24



0,14 x1  3,34 x2  0,18 x3  0,24 x4  0,89
11)
0,33x1  0,76 x3  0,32 x4  1,15

0,12 x1  0,05 x2  0,14 x3  0,95 x4  0,57

0,63x1  0,14 x2  0,06 x3  0,12 x4  1,21



0,12 x1  0,52 x2  0,18 x4  0,72
12)
0,08 x1  0,12 x2  1,23x3  0,32 x4  0,58

0,25 x1  0,22 x2  0,14 x3  0,12 x4  1,56

0,84 x1  0,23x2  0,18 x3  0,17 x4  1,42



0,12 x1  0,54 x2  0,08 x3  0,09 x4  0,83
13)
0,16 x1  0,24 x2  0,45 x3  1,21

0,23x1  0,08 x2  0,05 x3  1,25 x4  0,65

63
0,57 x1  0,27 x2  0,13x3  0,11x4  1,42

0,13x1  1,12 x2  0,09 x3  0,06 x4  0,48
14)
0,11x1  0,05 x2  2,02 x3  0,12 x4  2,34

0,13x1  0,1x2  0,24 x3  0,43x4  0,72

0,55 x1  0,0 x2  0,08 x3  0,14 x4  0,48



0,3x1  0,73x2  0,12 x3  0,11x4  1,24
15)
0,17 x1  0,06 x2  0,58 x3  0,12 x4  1,15

0,21x1  0,16 x2  0,36 x4  0,88

Контрольні запитання

1. Пояснити суть ітераційних методів розв’язування систем лінійних


алгебраїчних рівнянь.
2. Записати ітераційні формули методу простої ітерації.
3. Записати ітераційні формули методу Зейделя.
4. Записати формули для визначення канонічної норми матриці.
5. Сформулювати критерій припинення ітераційного процесу методу
простої ітерації.
6. За яким із ітераційних методів прослідковується краща збіжність
отриманих наближених розв’язків до точного розв’язку СЛАР?

64
7. Лабораторна робота № 6. РОЗВ'ЯЗУВАННЯ ПЕРЕВИЗНАЧЕНИХ
СИСТЕМ ЛІНІЙНИХ АЛГЕБРАЇЧНИХ РІВНЯНЬ

Мета: ознайомлення на практиці з методами розв’язування


перевизначених систем лінійних алгебраїчних рівнянь.

У процесі розроблення математичних моделей для багатьох фізичних


явищ і різних технологічних процесів за наявності великого обсягу
експериментальних даних (результатів вимірювань, спостережень, дослідних
даних тощо) приходять до розв’язування перевизначених систем лінійних
алгебраїчних рівнянь(кількість рівнянь є більшою за кількість невідомих). У
загальному випадку такі системи рівнянь мають безліч розв'язків. Для
дослідника – це нерозв'язана задача. Виникає запитання, а який із цих
розв'язків вибрати? Опрацьовуючи астрономічні результати вимірювань,
німецький математик К. Гаусс запропонував метод, який дає змогу отримати
один наближений розв'язок таких систем рівнянь і цей метод дістав назву
методу найменших квадратів (МНК).

7.1. Метод найменших квадратів для розв'язування перевизначених


СЛАР

Розглянемо систему лінійних алгебраїчних рівнянь, у якій кількість


рівнянь є більшою за кількість невідомих
a11 x1  a12 x2    a1m xm  b1 ,

a 21 x1  a 22 x2    a 2 m xm  b2 ,
 (7.1)
.........................................

a n1 x1  a n 2 x2    a nm xm  bn ,
де n  m .

65
У загальному випадку система рівнянь (7.1) є несумісною. Якщо із даної
системи вибрати m рівнянь та розв’язати їх, то отриманий розв’язок не буде
задовольняти всі рівняння системи (7.1). Тому поступимо інакше: знайдемо
розв’язок системи x1 , x2 , ..., xm наближено, але щоб він задовольняв усі
рівняння системи (7.1), а саме
a11 x1  a12 x2    a1m xm  b1   1 ,

a21 x1  a22 x2    a2 m xm  b2   2 ,
 (7.2)
.........................................

an1 x1  an 2 x2    anm xm  bn   n .

Розв’язок системи (7.2) будемо знаходити з використанням умови


мінімізації суми квадратів відхилень, тобто з умов мінімізації функції
m
S  x1 , x2 , ..., xm     i2 (7.3)
j 1

і вимагатимемо, щоб виконувалась умова


m


i 1
i
2
 min . (7.4)

Проведемо деякі перетворення над системою (7.2), використовуючи


умову (7.4). Розглянемо функцію
2
n
 m 
S  x1 , x2 ,..., xm      aij x j  b j  . (7.5)
i 1  j 1 

Необхідною умовою мінімуму функції від багатьох змінних є рівність


нулеві її частинних похідних. Використаємо цей факт і продиференціюємо
функцію (7.5) за змінними xi (i  1, m) . У результаті отримаємо

S n
 m 
 2 aik   aij x j  b j  , k  1, m . (7.6)
xk i 1  j 1 

Прирівнявши вирази(7.6) до нуля, отримаємо нормальну систему рівнянь

66
n
 m 
 a ik   ij j
 a x  b 
j 0, k  1, m , (7.7)
i 1  j 1 

в якій кількість рівнянь системи дорівнює кількості невідомих. Нормальні


системи лінійних алгебраїчних рівнянь характеризуються тим, що матриці їх
коефіцієнтів завжди є симетричними, а діагональні елементи - додатніми.
Систему (7.7) розв'язують довільними прямими або ітераційними
методами. Якщо матриця коефіцієнтів системи рівнянь (7.7) є додатньо
визначеною (визначник матриці є більшим за нуль), то рекомендують для її
розв’язування використовувати метод квадратного кореня.
Запишемо систему лінійних алгебраїчних рівнянь (7.1) у матричному
вигляді
AX  B , (7.8)

 a11 a12  a1n   x1   b1 


     
a a22  a2 n  x  b 
A   21 , X   2 , B  2 ,
  
     
 am1 am 2  amn   xn   bm 

де A - матриця коефіцієнтів системи розмірності m  n , X -- матриця-


стовпець невідомих розмірності m  1 , B - матриця-стовпець вільних членів
системи розмірності m  1 .
T
Матричне рівняння (7.8) помножимо на транспоновану матрицю A до
матриці A . У результаті отримаємо матричне рівняння

NX  C , (7.9)

де N – матриця коефіцієнтів нормальної системи


N  AT A ,
C -стовпець вільних членів
C  AT B .

67
Розв’язавши нормальну систему лінійних алгебраїчних рівнянь,
отримаємо її точний розв’язок (якщо використано прямі методи) або
наближений розв’язок (якщо використано ітераційні методи). Отриманий
розв’язок буде наближеним для СЛАР (7.1).

Приклад 7.1. Розв'язати систему лінійних алгебраїчних рівнянь


 x1  1,4  0
 x  x  1,5  0
 1 2

 x1  x2  x3  3,2  0

 x2  0,6  0
 x2  x3  4,3  0

 x3  4,2  0

Розв’язування. Запишемо наведену систему рівнянь у матричному


вигляді

AX  B ,
де
1 0 0  1,4 
   
1 1 0   1,5 
1  x1 
1 1  3,2   
A , B    , X   x2  .
0 1 0  0,6  x 
0 1 1   4,3   3
   
0 0 1   4,2 
  

Знайдемо матрицю коефіцієнтів відповідної нормальної системи рівнянь

1 0 0
 
1 1 0
1 1 1 0 0 0  3 2 1
  1 1 1  
N  AT A   0 1 1 1 1 0      2 4 2
0 0 1 0 1 1 0 1 0  
    1 2 3
0 1 1
 
0 0 1 

68
та матрицю-стовпець вільних елементів
 1,4 
 
  1,5 
1 1 1 0 0 0    3,1 
  3 , 2
C  AT B   0 1 1 1 1 0      6,6 .
0 0 1 0 1 1  0 , 6   
   11,7 
4,3
 
 4,2 
 

Тоді запишемо нормальну систему рівнянь у матричному вигляді (7.9)


 3 2 1   x1   3,1 
    
 2 4 2   x2    6,6  .
 1 2 3   x  11,7 
  3  

Обчислимо визначник цієї системи


det N  16  0 .

Для розв'язування отриманої нормальної системи рівнянь застосуємо


метод квадратного кореня. Матрицю N розкладемо у вигляді
N  LT L

і обчислимо елементи матриці L за формулами


n21 2 n31 1
l11  n11  3 , l21   , l31   ,
l11 3 l11 3

4 8
l22  n22  l212  4   ,
3 3
1 2
2
n32  l31l21 3 3  2,
l32  
l22 8 3
3
1 2
l33  n33  l312  l322  3    2 .
3 3

Таким чином матрицю N запишемо у вигляді

69
 3 0 0  2 1 
  3 
 2 8
0  3 3
 3 3  8 2
N   0 .

1 2
2  3 3

 3 3  0 0 2
  
  

Послідовно розв’язуємо дві системи рівнянь. Спочатку систему LY  C з


нижньою трикутною матрицею коефіцієнтів
 3 0 0 
    
0  y1   3,1 
 2 8
 3 3   
 1 2  y2    6,6  ,
 2    
 3 3 
 3y   11,7 
    
 

розв’язавши яку отримуємо значення елементів матриці-стовпця Y

3,1 6,8
y1  , y2  , y3  4,2 2 .
3 6
Далі розв’язуємо систему LT X  Y з верхньою трикутною матрицею
коефіцієнтів

 1 
   
2 3,1 
 3 
 3 3   x1   3 
 8 2     6,8 
 0  x2  
3   6 
,
3
 
 0 0 2   x3   4,2 2 
     

 
з якої отримуємо значення елементів матриці-стовпця X

x3  4,2 , x2  0,4 , x1  0,1 .

Отриманий розв’язок є точним для нормальної системи рівнянь і він


вважається «найкращим» для вихідної перевизначеної системи рівнянь (7.1)
при виконанні умови (7.4).

70
Варіанти завдань

Розв’язати перевизначену систему лінійних алгебраїчних рівнянь


методом найменших квадратів. Отриману відповідну нормальну систему
розв’язати методом квадратного кореня.
3 x1  x2  x3  2  x1  x2  4 x3  1
 5 x  x  3 x  10 4 x  x  2 x  7
 1 2 3  1 2 3

1. 2 x1  x3  1 6.  x1  5 x3  5
 x  5 x  3x  7 2 x  x  3x  7
 1 2 3
 1 2 3

2 x1  4 x2  x3  11  x1  3x2  2 x3  7

 x1  3 x2  2 x3  5 2 x1  x2  3x3  2
3 x  4 x  5 x  6  x  x  4 x  3
 1 2 3  1 2 3

2.  2 x1  5 x2  3 x3  13 7.  x1  2 x2  3x3  1
x  2x  4 2 x  x  2 x  4
 2 3
 1 2 3

 2 x1  3 x2  2 x3  10  x1  2 x2  x3  6

2 x1  2 x2  x3  2  x1  3 x2  2 x3  3
4 x  3x  x  1  x  5 x  10
 1 2 3  1 3

3. 8 x1  5 x2  3x3  3 8.  2 x1  x2  2 x3  7
3x  3x  2 x  4 3 x  x  5 x  1
 1 2 3
 1 2 3

 x1  2 x2  x3  12  2 x1  x2  3 x3  4

2 x1  x2  2 x3  7  x1  5 x2  2 x3  1
3x  x  5 x  1 4 x  3 x  x  1
 1 2 3  1 2 3

4. 2 x1  4 x2  3x3  13 9.  x1  2 x2  x3  12
 x  5 x  14  x  4 x  3 x  4
 2 3
 1 2 3

 x1  3x2  2 x3  7  x1  2 x2  x3  9

 x1  2 x2  x3  1  x1  5 x2  6
2 x  2 x  3 x  1  x  x  2 x  3
 1 2 3  1 2 3

5.  x1  x2  7 x3  5 10.  x1  2 x2  5 x3  0
3 x  x  3 x  2  x  2 x  3x  3
 1 2 3
 1 2 3

 x1  3 x2  2 x3  4  x1  3x2  2 x3  4

71
 x1  x2  x3  2 2 x1  3x2  x3  3
3x  x  3x  10  x  5 x  3
 1 2 3  1 2

11.  x1  2 x2  8 14. 2 x1  x2  3 x3  1
x  2x  4x  7 x  x  4x  6
 1 2 3
 1 2 3

 x1  4 x2  x3  1  x1  3x2  2 x3  3

5 x1  x2  3 x3  1  x1  2 x2  3x3  2
x  2x  x  4  x  x  5 x  1
 1 2 3  1 2 3

12. 2 x1  7 x2  x3  1 15. 3x1  2 x2  x3  1


x  2x  x  3  x  x  3x  2
 1 2 3
 1 2 3

 x1  3 x2  2 x3  2  x1  x2  7 x3  5

 x1  3x2  2 x3  5
 x  2 x  x  1
 1 2 3

13. 3 x1  2 x2  2 x3  5
3 x  x  3 x  1
 1 2 3

 x1  x2  7 x3  5

Контрольні запитання

1. Яку систему лінійних алгебраїчних рівнянь називають


перевизначеною?
2. Пояснити суть методу найменших квадратів для розв'язування
перевизначених СЛАР.
3. За якої умови для розв'язування СЛАР доцільно використовувати
метод квадратного кореня?
4. Якими властивостями володіє нормальна СЛАР?
5. Скільки розв’язків має перевизначена СЛАР?
6. Який розв’язок отримують у результаті розв’язування перевизначеної
СЛАР?
7. Чи можна отримати точний розв’язок нормальної СЛАР?

72
8. Лабораторна робота № 7. ЧИСЕЛЬНІ МЕТОДИ РОЗВ’ЯЗУВАННЯ
СИСТЕМ НЕЛІНІЙНИХ РІВНЯНЬ

Мета: ознайомлення на практиці з методом ітерацій та методом Ньютона


розв’язування систем нелінійних рівнянь.

Достатньо велика кількість реальних задач інженерії програмного


забезпечення зводиться до розв’язування системи нелінійних рівнянь. Це одна
з найважчих задач в математичному забезпеченні програмних систем. Для
розв’язування систем нелінійних рівнянь використовують наближені методи,
основними з яких є метод простої ітерації та метод Ньютона.

8.1. Метод простої ітерації

Розглянемо систему двох нелінійних рівнянь з двома невідомими


 f1 ( x, y )  0,
 (8.1)
 f 2 ( x, y )  0.

Розв’язком цієї системи є пара чисел ( x* , y* ) , яка перетворює систему


рівнянь (8.1) в тотожність (рівність).
Припустимо, що ( x0 , y0 ) - наближений розв’язок системи (8.1), яку
перетворимо до такого вигляду

 x  1 ( x, y ),
 (8.2)
 y   2 ( x, y ),

де 1 ,  2 - неперервно-диференційовані функції за змінними x та y .


Розглянемо ітераційний процес

 xn1  1 ( xn , y n ),

 n  1, 2, ... (8.3)
 y n1   2 ( xn , y n ),

який породжує числові послідовності xn , yn .

73
Якщо ітераційний процес (8.3) збігається, тобто існують границі

x*  lim xn , y*  lim yn , (8.4)


n n

то, використовуючи вирази (8.4), систему рівнянь (8.3) перепишемо у такому


вигляді

 x*  1 ( x* , y* ),

 (8.5)
 y*   2 ( x* , y* ),

тобто x* , y* є розв’язком системи (8.2), а також еквівалентної їй системи (8.1).


Теорема. Нехай у деякій замкнутій області D a  x  A, b  y  B існує
єдина пара коренів x  x* , y  y* системи (8.1), причому
1) функції 1 ( x, y ) ,  2 ( x, y) визначені та неперервно-диференційовані в
області D ;
2) початкове наближення ( x0 , y 0 ) і всі наступні наближення ( xn , yn )
(n  1, 2, ...) належать області D ;
3) в області D виконуються нерівності

1  2 1 2


  q1  1 ,   q2  1 . (8.6)
x x y y

Тоді процес послідовних наближень (8.3) збігається до точних розв’язків


системи рівнянь (8.2).
Зауваження. Умови (8.6) можна замінити аналогічними
1 1  2  2
  q1*  1 ,   q 2*  1. (8.7)
x y x y
Оцінку похибки n -го наближення розв’язку визначають з нерівності:

x*  xn  y*  yn 
M
 xn  xn1  yn  yn1 ,
1 M
де M є більшим з чисел q1 , q2 або q1* , q2* у співвідношеннях (8.6) або (8.7).
Збіжність вважають доброю, якщо M  1 2 .

74
8.2. Метод Ньютона

Це найрозповсюдженіший метод розв’язування систем нелінійних


рівнянь. Він забезпечує кращу збіжність, ніж метод простої ітерації.
Нехай ( x0 , y 0 ) - наближений розв’язок системи (8.1), а x , y - деякі

поправки до точного розв’язку.


Розглянемо систему рівнянь
 f1 ( x  x , y  y )  0,
 (8.8)
 f 2 ( x  x , y  y )  0.

Розкладемо функції f1 і f 2 в ряд Тейлора, обмежившись лінійними


членами розкладу відносно x , y

 f1 f1
 f1 x0 , y 0   x x  y y  0,

 (8.9)
 f x , y   f 2   f 2   0.
 2 0 0 x x y y

Запишемо якобіан або визначник матриці Якобі, складеної з частинних


похідних функцій f1 і f 2 в деякій точці

f1  x0 , y 0  f1  x0 , y 0 
x y
 x0 , y 0    0,
f 2  x0 , y 0  f 2  x0 , y 0 
(8.10)
x y

а поправки  x і  y визначимо за правилом Крамера із системи (8.9)

f1  x0 , y 0 
f1  x0 , y 0 
1 y
x  
f 2  x0 , y 0 
, (8.11)
 x0 , y 0  f  x , y 
y
2 0 0

75
f1 x0 , y 0 
f1  x0 , y 0 
y  
1 x
f 2 x0 , y 0 
. (8.12)
 x 0 , y 0  f 2  x0 , y 0 
x
Наступне наближення розв'язку системи отримаємо у вигляді
 xn1  xn  x ,
 n  0, 1, 2, ... (8.13)
 yn1  yn  y ,

Зауваження. Метод простої ітерації, який застосовують для знаходження


розв'язку одного нелінійного рівняння або системи двох нелінійних рівнянь,
має перший порядок збіжності (лінійну збіжність), а метод Ньютона – другий
порядок збіжності (квадратичну збіжність).

Приклад 8.1. Методом простої ітерації розв’язати систему нелінійних


рівнянь
 x 2  y 2  1,

sin  x  y   1,5 x  0,2.

Побудуємо графіки двох функцій f1 x, y   1  x 2  y 2 та


f 2 x, y   sin x  y   1,5x  0,2 .

Рис. 8.1. Графіки функцій f1 і f 2

76
З графіка на рис. 8.1 наближено визначаємо координати точки ( x0 , y 0 )
перетину кривих. Зобразимо систему рівнянь у вигляді

x  1 x, y    1  y 2 ,
y   2 x, y   arc sin  1,5 x  0,2  x.

Перевіримо умови збіжності (8.6) або (8.7).

1 1,5 1  2  2 y


  1,  0,  0,  .
x 1  1,5 x  0,2 y x x  1  y 2

1  2 1,5 1  2 y


  1  1 ,    1.
x y 1  1,5 x  0,2 x y 1y2

Будуємо такий ітераційний процес:


 xn1   1  y n ,
2


 y n1  arc sin  1,5 xn  0,2  xn ,
 n  0,1,2,...
Обчислення здійснюємо доти, поки не досягнемо заданої точності 
шуканого розв’язку, тобто повинна виконуватися умова
xn1  xn  y n1  y n   . (8.14)

Приклад 8.3. Розв’язати методом Ньютона з точністю   0,0001 систему


нелінійних рівнянь:
 x1  2 x2  x3  4 x4  20,700
 2
 x1  2 x1 x2  x4  15,880
3

 3 (8.15)
 x1  x3  x4  21,218
2


3x2  x3 x4  7,900

Розв’язування. Сформуємо матрицю Якобі, знайшовши частинні похідні


для кожного рівняння системи в початковій точці x1  x2  x3  x4  1,0

77
 1 2 1 4 
 
 2x  2x 2 x1 0 3x42 
J  1 2 2 .
3x1 0 2 x3 1 
 
 0 3 x4 x3 

Для знаходження розв’язку X  ( x1 , x2 , x3 , x4 ) системи (8.15) ітераційно


застосуємо метод Гауса для розв’язування системи лінійних алгебраїчних
рівнянь
 1 2 1 4   x1    x1  2 x 2  x3  4 x 4  20,700 
    
 2 x1  2 x 2 2 x1 0 3x 42   x 2    x12  2 x1 x 2  x 43  15,880 
 3x 2 
0 2 x3 1   x3    x13  x32  x 4  21,218 
 1
    
 0 3 x4 x3   x 4    3x 2  x3 x 4  7,900 

відносно вектора поправок X  (x1 , x2 , x3 , x4 ) з заданою точністю.


Результати обчислень помістимо в таблицю 8.1.
Таблиця 8.1
Номер
x1 x2 x3 x4
ітерації
0 1,0000 1,0000 1,0000 1,0000
1 2,75037 4,6763 7,8958 0,1753
2 1,3448 5,2971 5,9494 0,7029
3 1,4775 3,8437 4,3419 1,7983
4 1,5427 6,2434 4,1204 0,6376
5 1,2364 5,7274 4,3436 0,9163
6 1,2024 5,5986 4,2995 1,0002
7 1,2000 5,6000 4,3000 1,0000
8 1,2000 5,6000 4,3000 1,0000

Розв’язок системи (8.15) буде X  (1,2; 5,6; 4,3; 1,0) .

78
Варіанти завдань

Розв'язати систему нелінійних рівнянь з точністю   103 методом


ітерацій та методом Ньютона.

sin( x  1)  y  1,2
 sin( y  1)  x  1,2

1.  11. 

2 x  cos y  2 
2 y  cos x  2

cos( x  1)  y  0,5
 cos( y  1)  x  0,5

2.  12. 

 x  cos y  3 
 y  cos x  3

sin x  2 y  2
 sin y  2 x  2

3.  13. 

cos( y  1)  x  0,7 
cos( x  1)  y  0,7

cos x  y  1,5 cos y  x  1,5


4.  14. 
2 x  sin( y  0,5)  1 2 y  sin( x  0,5)  1

sin( x  0,5)  y  1
 sin( y  0,5)  x  1
5.  15. 

cos( y  2)  x  0 cos( x  2)  y  0

cos( x  0,5)  y  0,8 cos( y  0,5)  x  0,8


6.  16. 
sin y  2 x  1,6 sin x  2 y  1,6

sin( x  1)  1,3  y sin( y  1)  x  1,3


7.  17. 
 x  sin( y  1)  0,8  y  sin( x  1)  0,8

2 y  cos( x  1)  0 2 x  cos( y  1)  0


8.  18. 
 x  sin y  0,4  y  sin x  0,4

cos( x  0,5)  y  2 cos( y  0,5)  x  1,5



9.  19. 
sin y  2 x  1 
sin x  2 y  1

sin( x  2)  y  1,5 sin( y  2)  x  1,5



10.  20. 
 x  cos( y  2)  0,5 
 y  cos( x  2)  0,5

79
sin( x  1)  y  1
 cos x  y  1,2
21.  24. 

2 x  cos y  2 2 x  sin( y  0,5)  2

cos( x  1)  y  0,8
 sin( x  0,5)  y  1,2

22.  25. 

 x  cos y  2 
cos( y  2)  x  0

sin x  2 y  1,6

23. 

cos( y  1)  x  1

Контрольні запитання

1. Пояснити суть методу простої ітерації розв’язування систем


нелінійних рівнянь.
2. Сформулювати достатню умову збіжності ітераційного процесу
методу простої ітерації.
3. На чому ґрунтується метод Ньютона розв’язування системи
нелінійних рівнянь?
4. Пояснити суть методу Ньютона розв’язування системи нелінійних
рівнянь.
5. Записати загальний вигляд матриці Якобі, яку використовують в
методі Ньютона для розв’язування систем нелінійних рівнянь.
6. Записати умову завершення ітераційного процесу в методі Ньютона.

80
9. Лабораторна робота № 8. НАБЛИЖЕННЯ ДИСКРЕТНИХ
(ТАБЛИЧНО ЗАДАНИХ) ФУНКЦІЙ

Мета роботи: ознайомитися з методом інтерполяції таблично заданих


функцій.

На практиці в наукових та інженерних розрахунках часто трапляються


випадки, коли аналітичний вигляд функції є невідомим, а відомі лише її
значення в скінченній кількості точок. Такі функції прийнято називати
табличними. При розрахунках доводиться оперувати наборами значень,
отриманими експериментально або методом випадкової вибірки. Як правило,
на підставі цих наборів потрібно побудувати функцію, яка б відображала їх
поведінку.
Математично це виглядає так: у точках x0 , x1 , ..., xn є відомі значення
y0 , y1 , ..., yn . Це можуть бути експериментальні результати, отримані у
результаті вимірювань якоїсь фізичної величини. Вважаємо, що є дискретно
 
задана функція y  f x  , значення yi i  0, n якої є відомими в точках xi

i  0, n . Задача полягає в тому, щоб відобразити поведінку цієї функції в


 
інших точках, відмінних від xi i  0, n . У зв’язку з цим розглянемо один із
методів наближення дискретних функцій, який називається інтерполяцією.

9.1. Інтерполяція табличних функцій

Найпростіша задача інтерполяції полягає в тому, що на відрізку a, b


задано ( n  1 ) точок x0 , x1 , ..., xn , які називають вузлами інтерполяції, і
значення деякої функції у цих точках
f  x0   y 0 , f x1   y1 , …, f  xn   y n . (9.1)

81
Необхідно побудувати інтерполяційну функцію F (x) , яка приймає у
вузлах інтерполяції ті самі значення, що й функція f (x) . Тобто треба знайти
таку функцію F (x) , щоб
F x0   y0 , F x1   y1 , …, F xn   yn . (9.2)

Геометрично це означає, що треба знайти криву y  F (x) певного типу,

 
яка проходить через задану систему точок M i ( xi , yi ) , i  0, n (рис. 9.1):

Рис. 9.1. Графічна інтерпретація задачі інтерполяції

Зауважимо, що через задану множину точок можна провести безліч


гладких кривих. Тому задача інтерполяції є неоднозначною. Вона стає
однозначною тоді, коли за інтерполяційну функцію вибрати поліном Pn (x) n 
го степеня (степінь полінома на одиницю менший від кількості вузлів
інтерполяції) і такий, що виконуються умови

Pn ( x0 )  y0 , Pn ( x1 )  y1 , …, Pn ( xn )  yn .

Раніше під інтерполяцією розуміли знаходження значень функції у


проміжних точках між вузлами інтерполяції (наприклад у точці x , такій що
x1  x  x2 ), значення яких відсутні у таблиці, тобто «мистецтво читання між

82
рядками». У ширшому розумінні інтерполяція - це процес обчислення функції,
графік якої проходить через задані точки (вузли інтерполяції).
Вважаємо, що для функції y  f x  є відомими її значення y0 , y1 , ..., yn в
точках x0 , x1 , ..., xn . Наближену функцію y  F x  вибираємо так, щоб в точках

x0 , x1 , ..., xn її значення співпадали зі значеннями yi i  0, n , тобто


виконувались умови
F xi   f xi  , i  0, n . (9.3)

Такий спосіб наближення будемо називати інтерполяцією, точки


x0 , x1 , ..., xn – вузлами інтерполяції, а y  F (x) – інтерполяційною формулою
для обчислення значень функції y  f x  .
Здебільшого дискретно задані функції інтерполюють поліномами n -го
степеня, оскільки вони є достатньо гладкими функціями, їх легко
диференціювати та інтегрувати. Маючи значення функції yi i  0, n в точках  
 
xi i  0, n , легко отримати єдиний інтерполяційний поліном n -го степеня у
вигляді
n
Pn ( x)   ai x i  a0  a1 x  ...  an x n , (9.4)
i 0

 
у якому невідомі коефіцієнти ai i  0, n однозначно визначаємо із системи
n  1 лінійних алгебраїчних рівнянь
n


j 0
a j xij  yi , i  0, n . (9.5)

Якщо аналітично із використанням поліномів продовжують дискретно


задану функцію в точках поза відрізком a; b , який містить вузли інтерполяції,
то такий процес називають екстраполяцією.

У літературі існують деякі способи знаходження інтерполяційних


поліномів. Розглянемо їх.

83
9.2. Інтерполяційний поліном Лагранжа

Один з методів знаходження інтерполяційного полінома запропонував


Лагранж. Основна ідея цього методу полягає в пошуку полінома, який в
одному довільному вузлі інтерполяції приймає значення одиниця, а в усіх
інших вузлах - нуль.

Наближену функцію y  F (x) розглянемо у вигляді

n
F x   Ln x    Pi x  f xi  , (9.6)
i 0

де Pi x  -такий многочлен, що

0, i  j ,

Pi x j    i, j  0, n . (9.7)

1, i  j ,

Оскільки точки x0 , x1 , ..., xn є коренями полінома, то його можна записати


у такому вигляді

( x  x0 )( x  x1 )...( x  xi 1 )( x  xi 1 )...( x  xn )
Pi ( x)  , (9.8)
( xi  x0 )( xi  x1 )...( xi  xi 1 )( xi  xi 1 )...( xi  xn )

а наближена функція F (x) , яку називають інтерполяційним многочленом


Лагранжа, матиме вигляд
n
( x  x0 )( x  x1 )...( x  xi 1 )( x  xi 1 )...( x  xn )
F ( x )  Ln ( x )   f ( xi ) (9.9)
i  0 ( xi  x 0 )( xi  x1 )...( xi  xi 1 )( xi  xi 1 )...( xi  x n )

або
n
Ln ( x)   Li ( x) yi , (9.10)
i 0

де
( x  x0 )( x  x1 )  ( x  xi 1 )( x  xi 1 )  ( x  x n )
Li ( x) 
( xi  x0 )( xi  x1 )  ( xi  xi 1 )( xi  xi 1 )  ( xi  x n )

- коефіцієнти Лагранжа.

84
Для запису інтерполяційного полінома Лагранжа зручно
використовувати таблицю:

Таблиця 9.1

П n1 ( x) Di yi

x  x0 x0  x1 x0  x 2 … x0  x n D0 y0

x1  x0 x  x1 x1  x2 … x1  xn D1 y1

x2  x0 x2  x1 x  x2 … x2  xn D2 y2

… … … … … … …

x n  x0 xn  x1 xn  x2 … x  xn Dn yn

Тут Di – добуток елементів i –го рядка, П n1 ( x) – добуток елементів


головної діагоналі

П n1 ( x)  x  x0 x  x1 x  x2   ...  x  xn  , (9.11)

yi  f  xi  , i  0, n .

Тоді поліном Лагранжа можна записати у вигляді


n
yi
Ln ( x)  П n1 ( x) . (9.12)
i 0 Di

Розглянемо випадок рівновіддалених вузлів, коли h  xi 1  xi  const ,


x  x0
i  0, n . Введемо позначення q  , xi  x0  iqh , i  0, n . Тоді
h

x0  0 , x1  1 , …, xn  n ,

П n1 ( x)  xx  1x  2  ...  x  n .

Поліном Лагранжа для випадку рівновіддалених вузлів має вигляд

85
n i С n
n i
1
Ln ( x)  П n1 (t ) (1) yi , (9.13)
n! i 0 t i

де

n!
C ni  .
i! (n  i )!

Розглянемо два часткових випадки інтерполяційного полінома Лагранжа.


При n=1 поліном Лагранжа (9.12) є рівнянням першого степеня, яке описує
пряму, що проходить через дві задані точки (a; y0 ) і (b; y1 )

xb xa
y  L1 ( x) , y y0  y1 . (9.14)
a b ba

При n=2 отримуємо рівняння другого степеня, яке описує параболу, що


проходить через три точки (a; y0 ) , (b; y1 ) і (c; y 2 )

y  L2 ( x) ,

( x  b)( x  c) ( x  a)( x  c) ( x  a)( x  b)


y y0  y1  y2 . (9.15)
(a  b)(a  c) (b  a)(b  c) (c  a)(c  b)

Оцінимо похибку інтерполяції поліномами Лагранжа. Запишемо вираз


для залишкового члена, який виникає при застосуванні формули Лагранжа

Rn ( x)  f ( x)  Ln ( x) .

Вважаємо, що на відрізку a, b існують похідні f (x) , f (x) , f ( n1) ( x)


функції f (x) до (n  1) -го порядку.

Формула для абсолютної похибки інтерполяційної формули Лагранжа має


вигляд

M n1
Rn ( x)  f ( x)  Ln ( x)   П n1 ( x) , (9.16)
(n  1)!

де M n1  max f ( n1) ( x* ) , x[a, b].


x[ a ,b ]

86
9.3. Інтерполяційний поліном Ньютона

Інший спосіб розв’язування задачі інтерполяції запропонував Ньютон.


Цей спосіб полягає в тому, що поліном Pn (x) для загального випадку
нерівновіддалених вузлів записують у вигляді

Pn ( x)  f ( x0 )  f ( x0 , x1 )( x  x0 )  f ( x0 , x1 , x2 )( x  x0 )( x  x1 ) 
(9.17)
 ...  f ( x0 , x1 ,..., xn )( x  x0 )( x  x1 )...( x  xn1 ),

де

f ( x1 )  f ( x0 )
f ( x0 , x1 )  - розділена різниця 1-го порядку;
x1  x0

f ( x1 , x2 )  f ( x0 , x1 )
f ( x0 , x1 , x2 )  - розділена різниця 2-го порядку;
x 2  x0

f ( x1 ,..., xn )  f ( x0 ,..., xn1 )


f ( x0 , x1 ,..., xn )  - розділена різниця n -го
x n  x0
порядку.

Оцінку похибки формули (9.17) обчислюють за формулою

M n 1
Rn ( x )  ( x  x0 )( x  x1 )  ( x  x n ) , (9.18)
(n  1)!

де M n1  max f ( n1) ( x) .


x[ a ,b ]

Припустимо, що вузли інтерполяції є рівновіддаленими, тобто

xi  x0  ih , i  0, n , (9.19)

де h - крок інтерполяції. Скінченною різницею 1-го порядку називають


величину

f ( xi )  f ( xi 1 )  f ( xi ) . (9.20)

Тоді скінченну різницю 2-го порядку визначимо у вигляді

87
2 f ( xi )  (f ( xi ))  f ( xi 1 )  f ( xi ) . (9.21)

Аналогічно запишемо скінченну різницю n -го порядку

n f ( xi )  (n1 f ( xi ))  n1 f ( xi1 )  n1 f ( xi ) (9.22)

або
n
n f ( xi )   (1) j C nj f ( xi  j ) , (9.23)
j 0

n!
де C nj  .
(n  j )! j!

Скінченні різниці зручно поміщати в таблицю. Для n  3 вона має вигляд:

Таблиця 9.1.

xi f ( xi ) f ( xi ) 2 f ( xi ) 3 f ( xi )

x0 f0 f0 2f0 3f0

x1 f1 f1 2f1 -

x2 f2 f2 - -

x3 f3 - - -

Розділену різницю n -го порядку можна виразити через скінченну різницю


n -го порядку

n f ( x0 )
f ( x0 , x1 ,..., xn )  . (9.24)
n!h n

Підставивши скінченні різниці замість розділених різниць у


інтерполяційну формулу Ньютона для нерівновіддалених вузлів (9.17),
отримаємо

88
f ( x0 ) 2 f ( x0 )
Pn ( x)  f ( x0 )  ( x  x0 )  ( x  x0 )( x  x1 ) 
1!h 2!h 2
(9.25)
 f ( x0 )
n
 ...  ( x  x0 )( x  x1 )...( x  xn1 ).
n!h n

Розглянемо випадок інтерполяційного полінома Ньютона інтерполювання


«вперед». Нехай точка x* , для якої необхідно визначити значення функції
f ( x* ) інтерполюванням, знаходиться в околі точки x0 на відрізку x0 , xn .

x  x0
Введемо позначення q  (кількість кроків, необхідних для досягнення
h
точки x , виходячи з точки x0 ). Тоді

x  x1 x  ( x0  h) x  x0 h
    q  1,
h h h h

x  x 2 x  ( x 0  2 h) x  x 0 2 h
    q 2,
h h h h

x  xn1 x  ( x0  (n  1)h) x  x0 (n  1)h


    q  n  1.
h h h h

Із врахуванням цих співвідношень та виразу (9.25) отримаємо формулу


інтерполяційного полінома Ньютона для рівновіддалених вузлів
інтерполювання «вперед»

f 0 2 f 0 n f 0
N 2( I ) ( x)  f ( x0 )  q q(q  1)  ...  q(q  1)(q  n  1) . (9.26)
1! 2! n!

Формулу (9.26) можна застосовувати і для значень x<x0. Тоді вираз (9.26)
стає екстраполяційним поліномом екстраполювання «назад».

Запишемо оцінку похибки для формули (9.26). Маємо

M n1 n1
Rn ( x)  h q (q  1)(q  n) , (9.27)
(n  1)!

89
де M n1  max f ( n1) ( x) .
x[ a ,b ]

Якщо точка x* знаходиться в околі точки xn на відрізку x0 , xn , то


використовують інтерполяційний поліном Ньютона інтерполювання «назад».
x  xn
Позначимо q  , і аналогічно, як у попередньому випадку, отримаємо
h
інтерполяційний поліном Ньютона для рівновіддалених вузлів
інтерполювання «назад»:

f n1 2 f n2 n f 0
N ( II )
2 ( x)  f ( xn )  q q(q  1)  ...  q(q  1)(q  n  1) . (9.28)
1! 2! n!

Формулу (9.28) можна використовувати для x*  xn . Тоді вираз (9.28) стає


екстраполяційним поліномом Ньютона екстраполювання «вперед».

Оцінку похибки для формули (9.28) записують у вигляді

M n 1
Rn ( x )   h n 1  q(q  1)  (q  n) , (9.29)
(n  1)!

де M n1  max f ( n1) ( x) .


x[ a ,b ]

Розглянемо два часткових випадки інтерполяційного полінома Ньютона


для рівновіддалених вузлів.

Якщо у формулі (9.26) покласти n  1 , то одержимо формулу лінійного


інтерполювання

N 2( I )  f ( x0 )  q  f 0 ,

а якщо n  2 , то одержимо формулу параболічного або квадратичного


інтерполювання

q(q  1) 2
N 2( I )  f ( x0 )  q f 0   f0 .
2

90
Поліноми Ньютона та Лагранжа є одним і тим самим поліномом. Різниця
між ними полягає лише у підходах до їх визначення.

Приклад 9.1. Побудувати інтерполяційний поліном Лагранжа другого


степеня для функції, заданої таблично

xi 1 2 3
fi 10 15 12

Розв’язування.

( x  2)( x  3) ( x  1)( x  3) ( x  1)( x  2)


L2 ( x)  10  15  12 
(1  2)(1  3) (2  1)(2  3) (3  1)(3  2)
10 ( x 2  5 x  6) 15 ( x 2  4 x  3) 12 ( x 2  3x  2)
   
2 1 2
 8 x 2  34 x  6
  4 x 2  17 x  3.
2

Відповідь. Інтерполяційний поліном Лагранжа має вигляд:

L2 ( x)  4 x 2  17 x  3.

Приклад 9.2. Побудувати інтерполяційний поліном Ньютона для функції,


заданої в попередньому прикладі.

Розв’язування. Обчислимо розділені різниці і внесемо їх у таблицю.

15  10 12  15
f ( x0 , x1 )   5, f ( x1 , x 2 )   3,
2 1 3 2

35
f ( x0 , x1 , x 2 )   4.
3 1

xi fi f(xi, xi+1) f(xi, xi+1, xi+2)


1 10 5 -4
2 15 -3 -

91
3 12 - -

За формулою (9.17) записуємо поліном Ньютона для випадку


нерівновіддалених вузлів

N1 ( x)  10  5 ( x  1)  (4)( x  1)( x  2) 
 10  5 x  5  4 ( x 2  3x  2) 
 5  5 x  4 x 2  12 x  8  4 x 2  17 x  3.

Відповідь. Інтерполяційний поліном Ньютона має вигляд:

L2 ( x)  4 x 2  17 x  3.

Варіанти завдань

Використовуючи інтерполяційні поліноми Лагранжа та Ньютона,


обчислити значення табличної заданої функції у точці x0 .
1-й варіант
x 1,415 1,420 1,425 1,430 1,435 1,440 1,445 1,450 1,455 1,460
y 0,88 0,889 0,890 0,891 0,892 0,893 0,894 0,895 0,896 0,897
x0 = 1,4161

2-й варіант
x 0,101 0,106 0,111 0,116 0,121 0,126 0,131 0,136 0,141 0,146
y 1,261 1,276 1,291 1,306 1,321 1,336 1,352 1,367 1,383 1,399
x0 = 0,1102

3-й варіант
x 0,15 0,20 0,25 0,30 0,35 0,40 0,45 0,50 0,55 060
y 0,86 0,819 0,779 0,741 0,705 0,670 0,638 0,606 0,577 0,549
x0 = 0,3119

92
4-й варіант
x 0,18 0,185 0,190 0,195 0,200 0,205 0,210 0,215 0,220 0,225
y 5,615 5,467 5,352 5,193 5,066 4.946 4,832 4,722 4,618 4,519
x0 = 0,1821

5-й варіант
x 3,5 3,55 3,60 3,65 3,70 3,75 3,80 3,85 3,90 3,95
y 33,11 34,65 36,60 38,47 40,44 42,52 44,70 46,99 49,40 51,93
x0 = 3,522

6-й варіант
x 0,115 0,120 0,125 0,130 0,135 0,140 0,145 0,150 0,165 0,170
y 8,68 8,29 7,96 7,65 7,36 7,10 6,85 6,62 6,40 6,20
x0 = 0,122

7-й варіант
x 1,340 1,345 1,350 1,360 1,365 1,370 1,375 1,380 1,385 1,390
y 4,26 4,35 4,46 4,56 4,67 4,79 4,91 5,01 5,18 5,31
x0 = 1,362

8-й варіант
x 0,15 0,16 0,17 0,18 0,19 0,20 0,21 0,22 0,23 0,24
y 4,48 4,95 5,47 5,99 6,05 6,68 6,909 7,38 8,166 9,025
x0 = 0,153
9-й варіант
x 0,45 0,46 0,47 0,48 0,49 0,50 0,51 0,52 0,53 0,54
y 20,19 19,61 18,94 18,17 17,30 16,31 15,19 13,94 12,55 10,99
x0 = 0,455

93
10-й варіант
x 0,01 0,06 0,11 0,16 0,21 0,26 0,31 0.36 0,41 0,46
y 0,99 0,95 0.91 0,88 0,84 0,81 0,78 0,74 0,71 0,68
x0 = 0,22

11-й варіант
x 0,18 0,185 0,190 0,195 0,200 0,205 0,210 0,215 0,220 0,225
y 1,261 1,276 1,291 1,306 1,321 1,336 1,352 1,367 1,383 1,399
x0 = 0,202

12-й варіант
x 0,15 0,20 0,25 0,30 0,35 0,40 0,45 0,50 0,55 060
y 5,615 5,467 5,352 5,193 5,066 4.946 4,832 4,722 4,618 4,519
x0 = 0,439

13-й варіант
x 3,60 3,65 3,70 3,75 3,80 3,85 3,90 3,95 4,00 4,05
y 4,26 4,35 4,46 4,56 4,67 4,79 4,91 5,01 5,18 5,31
x0 = 3,771

14-й варіант
x 1,430 1,435 1,440 1,445 1,450 1,455 1,460 1,465 1,470 1,475
y 0,88 0,889 0,890 0,891 0,892 0,893 0,894 0,895 0,896 0,897
x0 = 1,461

15-й варіант
x 0,115 0,120 0,125 0,130 0,135 0,140 0,145 0,150 0,165 0,170
y 4,48 4,95 5,47 5,99 6,05 6,68 6,909 7,38 8,166 9,025
x0 = 0,142

94
Вимоги до програми

У програмі слід передбачити такі можливості:

1. Ввід вхідних даних у автоматизованому та ручному режимах


здійснюється у вигляді таблиці, що містить значення аргументів та
відповідні значення функції.
2. Із використанням поліномів Лагранжа та Ньютона для випадку
нерівновіддалених вузлів передбачити автоматизований режим
введення даних випадковим чином.
3. Передбачити можливість некоректного введення даних.

Контрольні запитання

1. Які функції називають табличними?


2. Навести означення вузлів інтерполяції.
3. У чому полягає задача інтерполювання функцій?
4. Зобразити графічну інтерпретацію задачі інтерполювання.
5. Записати формулу інтерполяційного полінома n -го степеня.
6. У чому полягає задача екстраполювання функцій?
7. Записати формулу інтерполяційного полінома Лагранжа.
8. Записати формулу для визначення похибки інтерполяційного
полінома Лагранжа.
9. Навести означення розділених різниць першого, другого та n -го
порядку.
10.Записати інтерполяційний поліном Ньютона для нерівновіддалених
вузлів.
11.Записати співвідношення для визначення похибки інтерполяційного
полінома Ньютона.
12.Навести означення скінченних різниць першого, другого та n -го
порядку.

95
13.Записати інтерполяційний поліном Ньютона для рівновіддалених
вузлів.
14.Записати інтерполяційний поліном Ньютона інтерполювання
«вперед».
15.Записати інтерполяційний поліном Ньютона інтерполювання «назад».

96
10. Лабораторна робота 9. НАБЛИЖЕННЯ ФУНКЦІЙ МЕТОДОМ
НАЙМЕНШИХ КВАДРАТІВ

Мета: ознайомлення на практиці з методом найменших квадратів


апроксимації (наближення) функцій.

На практиці часто виникає необхідність описати у вигляді функціональної


залежності зв'язок між величинами, заданими таблично або у вигляді набору
точок з координатами  xi , yi  , ( i  0, n ), де n - загальна кількість точок. Як
правило, ці табличні дані отримані експериментально і мають похибки.

У результаті апроксимації бажано отримати досить просту функціональну


залежність, яка дасть змогу «згладити» експериментальні похибки та
обчислити значення функції в проміжних точках, що не містяться у вихідній
таблиці.

10.1. Формулювання задачі

Розглянемо функцію y  f x , задану таблицею своїх значень yi  f xi  ,

i  0, n. Потрібно знайти поліном фіксованого m -го степеня (m  0, n)

Pm x   a0  a1 x  a2 x 2 ...  am x m , (10.1)

для якого похибкою апроксимації є середнє квадратичне відхилення

1 n
  Pm xi   yi 2 . (10.2)
n  1 i 0

Оскільки поліном (10.1) містить невизначені коефіцієнти ai (i  0, m) ,


то необхідно їх підібрати таким чином, щоб мінімізувати функцію
2
n n
 m 
a 0 , a1 , a 2 , ...a m    Pm  x i   y i     a j x i  y i  .
2 j
(10.3)
i 0 i 0  j 0 

97
У цьому і полягає суть використання методу найменших квадратів для
апроксимації функцій.

Використовуючи необхідну умову екстремуму  0 ( k  0, m ) функції
a k
від багатьох змінних a0 , a1 , a2 , ...am  , отримуємо так звану нормальну
систему методу найменших квадратів для визначення коефіцієнтів ai

(i  0, m) апроксимаційного полінома

m
 n j k  n

   xi  a j   yi xi , k  0, m .
k
(10.4)
j 0  i 0  i 0

Отримана система - це система лінійних алгебраїчних рівнянь відносно


невідомих a0 , a1 , a2 , ...am . Можна показати, що визначник цієї системи
відмінний від нуля, тобто її розв’язок існує і єдиний. Однак для високих
степенів m система є погано обумовленою. Тому метод найменших квадратів
застосовують для знаходження поліномів невисоких степенів m  5.
Розв’язок нормальної системи шукають, використовуючи прямі або наближені
методи розв’язування систем лінійних алгебраїчних рівнянь.

10.2. Часткові випадки апроксимаційних поліномів

Запишемо нормальну систему для визначення коефіцієнтів


апроксимаційних поліномів методом найменших квадратів для двох
найпростіших випадків, коли m  0 і m  2 .

Для m  0 поліном (10.1) набуває вигляду

P0 x   a0 . (10.5)

Для визначення невідомого коефіцієнта a 0 із використанням нормальної


системи (10.4) отримуємо одне рівняння

98
n
n  1 a0   yi ,
i 0

тобто виходить, що коефіцієнт a 0 дорівнює середньому арифметичному


значень функції в заданих точках і шуканий поліном буде таким:
n
1
P0  x  
n  1 
yi . (10.6)
i 0

Якщо ж використати для апроксимації поліном другого степеня ( m  2 ) у


вигляді

P2 x   a0  a1 x  a 2 x 2 , (10.7)

то нормальна система рівнянь для визначення коефіцієнтів a0 , a1 , a2 матиме


такий вигляд:

  n   n 2 n

n  1 a 0    i  1   i  2  yi ,
x a  x a 
  i 0   i 0  i 0

 n   n 2  n 3 n

  i 0  i 1  i
 x  a   x  a   x  a 2   yi xi , (10.8)
 i  0   i  0   i  0  i  0

 n 2   n 3  n 4 n
  xi  a0    xi a1    xi  a2   yi xi .
2

 i0   i 0   i 0  i 0

Приклад 10.1. Використовуючи метод найменших квадратів, побудувати


апроксимаційний поліном 2-го степеня для таблично заданої функції

x -3 -1 0 1 3
y -4 -0,8 1,6 2,3 1,5

Розв’язування. Запишемо нормальну систему рівнянь (10.8) для


визначення коефіцієнтів a0 , a1 , a2 . Для цього виконаємо допоміжні обчислення

99
n  1  5,
4

x
i 0
i  3  1  0  1  3  0,
4

x  9  1  0  1  9  20,
2
i
i 0
4

x  27  1  0  1  27  0,
3
i
i 0

  81  1  0  1  81  164;
4
xi
i 0
n


i 0
yi  4  0,8  1,6  2,3  1,5  5,4  4,8  0,6;
n


i 0
yi xi  12  0,8  0  2,3  4,5  19,6;
n

  4  9  0.8  1  0  2,3  1  1,5  9  15,8  36,8  21,


2
y i xi
i 0

із використанням яких у результаті отримаємо

5 a0  0 a1  20 a2  0,6;

0 a0  20 a1  0 a2  19,6;
20 a  0 a  164 a  21.
 0 1 2

Знайдемо розв’язок цієї системи. З другого рівняння системи визначаємо


коефіцієнт a1

20 a1  19,6;
a1  0,98.

Віднявши від третього рівняння перше, помножене на 4, знаходимо a2

20  4  5 a0  164  4  20 a2  21  4  0,6;


84 a2  23,4;
a2  0,279.

Маючи значення a1 і a2 , з першого рівняння визначаємо коефіцієнт a0

100
5 a0  20 a2  0,6;
5 a0  0,6  20  0,279  0,6  5,58  6,18;
a0  1,236.

Відповідь: шуканий поліном 2-го степеня має вигляд

P2 x   1,236  0,98x  0,279 x 2 .

Варіанти завдань

Методом найменших квадратів побудувати лінійний, квадратичний і


кубічний апроксимаційні поліноми для таблично заданої функції.

Варіант 1 x 0,59 0,7 0,81 0,9 0,95 1

y 2,94 3,2 3,38 3,53 3,75 4,06


Варіант 2 x 0,15 0,20 0,25 0,30 0,40 0,50

y 4,48 5,47 6,05 7,39 8,11 9,93


Варіант 3 x 4,03 4,08 4,16 4,23 4,26 4,33

y 3,01 2,78 2,52 2,42 2,19 1,95


Варіант 4 x 2,03 2,08 2,16 2,23 2,26 2,33

y 4,01 3,78 3,52 3,42 3,19 2,95


Варіант 5 x 0,72 0,79 0,9 1,01 1,1 1,15

y 2,8 2,94 3,2 3,38 3,53 3,75


Варіант 6 x 8,03 8,08 8,16 8,23 8,26 8,33

y 4,48 5,47 6,05 7,39 8,11 9,93


Варіант 7 x 0,41 0,46 0,52 0,61 0,66 0,73

y 2,73 2,31 1,97 1,76 1,53 1,31


Варіант 8 x 0,62 0,69 0,8 1,01 1,1 1,15

101
y 2,8 2,94 3,2 3,38 3,53 3,75
Варіант 9 x 4,03 4,08 4,16 4,23 4,26 4,33

y 2,8 2,94 3,2 3,38 3,53 3,75


Варіант 10 x 0,05 0,10 0,17 0,25 0,30 0,36

y 0,54 0,51 0,47 0,45 0,42 0,38


Варіант 11 x 0,41 0,46 0,52 0,61 0,66 0,73

y 4,48 5,47 6,05 7,39 8,11 9,93


Варіант 12 x 2,8 2,94 3,2 3,38 3,53 3,75

y 3,01 2,78 2,52 2,42 2,19 1,95


Варіант 13 x 0,15 0,20 0,25 0,30 0,40 0,50

y 4,01 3,78 3,52 3,42 3,19 2,95


Варіант 14 x 8,03 8,08 8,16 8,23 8,26 8,33

y 5,01 4,78 3,52 3,12 3,19 2,95


Варіант 15 x 0,72 0,79 0,9 1,01 1,1 1,15

y 2,8 2,94 3,2 3,38 3,53 3,75

Контрольні запитання

1. Як формують нормальну систему для визначення коефіцієнтів


апроксимаційних поліномів?
2. Для яких значень поліномів степенів поліномів доцільно
застосовувати метод найменших квадратів?
3. Як визначити невідомий коефіцієнт полінома нульового степеня?
4. Записати нормальну систему визначення коефіцієнтів для
апроксимаційного полінома першого степеня.
5. Записати нормальну систему визначення коефіцієнтів для
апроксимаційного полінома другого степеня.

102
11. Лабораторна робота 10. ЧИСЕЛЬНІ МЕТОДИ ІНТЕГРУВАННЯ

Мета роботи: ознайомлення на практиці з методами чисельного інтегрування.

11.1. Чисельне інтегрування

Багато наукових, технічних і практичних задач зводяться до інтегрування


функцій. Зокрема, обчислення площ поверхонь, об’ємів тіл, моментів інерції і
т.п. Нагадаємо, що геометричний зміст найпростішого означеного інтеграла
b
I   f  x dx , (11.1)
a

від додатньо визначеної неперервної функції f  x   0 полягає у тому, що


числове значення величини I – це площа, обмежена кривою y  f x  , віссю
абсцис та прямими x  a , x  b .

y
f( ξ i ) f( x )

a b
x0 x1 x2 x i ξ i x i+ 1 x n -1 xn x

Рис. 11.1. Геометричний зміст означеного інтеграла

У випадках, коли підінтегральну функцію задано аналітично, причому


вона є інтегровною, означений інтеграл обчислюють безпосередньо за
допомогою формули Ньютона-Лейбніца. Ця формула полягає в тому, що
означений інтеграл дорівнює приросту первісної F x  на відрізку інтегрування
b

 f x dx  F x   F b   F a  .
b
a (11.2)
a

103
Однак на практиці цією формулою не завжди можна скористатися через
дві основні причини:

1) функція f x  не є інтегровною, тобто її первісну F x  не можна


зобразити елементарними функціями;

2) значення функції f x  є відомим тільки на множині скінченної


кількості точок xi ( i  0, n ), тобто функцію задано у вигляді таблиці.

У цьому випадку застосовують методи чисельного інтегрування, які


ґрунтуються на інтерполюванні підінтегральної функції за допомогою
інтерполяційних поліномів. Така інтерполяція дає змогу наближено замінити
означений інтеграл скінченною сумою
b n

a f  x dx    i yi , (11.3)
i 0

де yi – значення підінтегральної функції у вузлах інтерполяції;  i – числові


коефіцієнти.

Співвідношення (11.3) називають квадратурною формулою, а його праву


частину – квадратурною сумою. У залежності від способу її обчислення
існують різні методи чисельного інтегрування (квадратурні формули) – метод
прямокутників, трапецій, парабол (Сімпсона) та ін.

Чисельне інтегрування ґрунтується на тому, що відрізок інтегрування


a, b розбивають на n менших відрізків xi 1 , xi , кожен з яких є основою
плоскої геометричної фігури, площу S i якої знаходять наближено, а значення
інтегралу I визначають як суму площ S i ( i  0, n ), тобто

n
I   Si , (11.4)
i 0

де S i – наближене значення площі елементарної криволінійної трапеції,


побудованої на відрізку xi 1 , xi .

104
Похибка чисельного інтегрування залежить від кроку розбиття.
Зменшуючи цей крок, отримують точніші результати. Збільшити кількість
точок не завжди можливо. Якщо функцію задано таблично, то обмежуються
даною кількістю точок.

11.2. Метод прямокутників

Найпростішим методом наближеного обчислення інтеграла є метод


прямокутників, суть якого зводиться до знаходження означеного інтеграла як
суми площ n прямокутників висотою f x i  та основою h  xi  xi 1  xi ,
отриманих шляхом розбиття відрізка інтегрування a, b на n рівних частин.

Розбиття на прямокутники виконують зліва направо або справа наліво.


При цьому висотою кожного елементарного прямокутника буде значення
функції y  f x  у крайній лівій (рис. 11.1, а) або крайній правій точці (рис.
11.1, б) відповідно.

а) б)
Рис. 11.1. Геометрична інтерпретація методу лівих (а) та правих (б)
прямокутників

Для першого випадку отримуємо формулу лівих прямокутників

105
n 1
 
b
I л   f  x dx  h  f  x0   f  x1   . . .  f  xn1   h  f  xi  , (11.5)
a   i 0

а для другого - формулу правих прямокутників

 
b n
I пр   f  x dx  h  f  x1   f  x2   . . .  f  xn   h  f  xi  . (11.6)
a   i 1

ba
Тут крок інтегрування h  . Якщо функція f x  монотонно зростає на
n
відрізку a, b, то із використанням формул лівих і правих прямокутників
отримують наближене значення інтеграла з недостачею та з надлишком
відповідно.

На практиці застосовують точнішу розрахункову формулу середніх


(центральних) прямокутників, у результаті чого отримують точніше
значення інтеграла
b
  h  h  h 
I сер   f  x dx  h  f  x0    f  x1    ...  f  xn1    
a   2  2  2 
(11.7)
n 1
 h
 h  f  xi  .
i 0  2

h
У цій формулі враховано значення функції в середніх точках xi  ,
2
(i  1, n) елементарних відрізків.

Рис. 11.2. Геометрична інтерпретація методу середніх прямокутників

106
Зауважимо, що формули прямокутників ґрунтуються на наближенні
функції f x  кусково сталою функцією.

Похибку обчислення інтеграла за методом прямокутників визначають за


формулою

f  
R f   b  a h 2 , (11.8)
24

де f x  - похідна другого порядку функції f x  ,   a, b.

11.3. Метод трапецій

Метод трапецій полягає в тому, що відрізок інтегрування [а,b] розбивають


на n рівних відрізків, а криву, описану підінтегральну функцією f x  ,

замінюють на кожному із цих відрізків кусково-лінійною функцією  x  ,


отриманою стягуванням хорд, які проходять через точки xi1 , f xi1  та

xi , f xi  i  1, n.


Значення інтеграла знаходять як суму площ S i ( i  0, n ) прямокутних
ba
трапецій (pис.11.3) з висотою h  .
n

Рисунок 11.3. Геометрична інтерпретація методу трапецій

107
Площу кожної i -ої елементарної трапеції визначають за формулою

f xi   f xi 1 
Si  h . (11.9)
2

Відповідно на всьому відрізку інтегрування a, b площу складеної фігури


визначають сумою площ усіх елементарних трапецій. У результаті отримують
таку формулу

 f  x0   f  x1  f  x1   f  x2  f  xn1   f  xn  
b
I тр   f  x dx  h    ...  
a  2 2 2 
n 1
f  xi   f  xi 1 
h .
i 0 2

Оскільки в наведеній формулі під знаком суми величини f xi  ,

(i  1, n  1) зустрічаються двічі, то перепишемо її у вигляді

 f  x0  f  xn  
b
I тр   f  x dx  h   f  x1   f  x2   . . .  f  xn1   
a  2 2 
(11.10)
 f  x0   f  xn  n1 
h   f xi .
 2 i 0 

Похибку обчислення інтеграла з використанням формули трапецій


визначають за формулою

f  
R f    b  a h2 . (11.11)
12

Тут   a, b, f x  - похідна другого порядку функції f x  .

11.4. Метод Сімпсона

Даний метод полягає в тому, що криву, описану підінтегральною


функцією f x  , на елементарних відрізках заміняють параболою.

108
Поділимо відрізок інтегрування a, b на парну кількість n рівних частин з
ba
кроком h  . На кожному елементарному відрізку x0 , x2 , x2 , x4 , … ,
n
xi1 , xi1 , … , xn2 , xn  підінтегральну функцію f x  замінимо
інтерполяційним поліномом другого степеня (квадратичною параболою). Тоді
обчислення означеного інтеграла зводиться до обчислення суми площ S i ,

(i  1, n) криволінійних трапецій (рис. 11.4).

Рисунки 11.4 Геометрична інтерпретація методу Сімпсона

Площу S i кожної елементарної криволінійної трапеції визначають за


формулою Сімпсона

h  
Si   f  xi   4 f  xi 1   f  xi  2  . (11.12)
3  

Послідовно обчислюємо за формулою (11.12) площі n криволінійних


трапецій S i ( i  1, n )

x2
h  
S1   f x dx   f x0   4 f x1   f x2  ,
x0 3  

109
x4
h 
S 2   f x dx   f x2   4 f x3   f x4  , (11.13)
x2 3 

...

x2 n
h 
Sn   f x dx   f x2 n2   4 f x2 n1   f x2 n  .
x2 n2
3 

Знайдемо суму площ всіх криволінійних трапецій.

  f  x0   f  x2 n   4 f  x1   ...  f  x2 n1  
n
h
S
i 1
i
3

 2 f  x2   ...  f  x2 n2 .



Тоді розрахункова формула методу Сімпсона набуде такого вигляду


b
h  n n 1

 f  x  dx   f x0   f  x2 n   4  f  x2i 1   2  f  x2i  (11.14)
a 3  i 1 i 1 

Для визначення похибки обчислення інтеграла за формулою (11.14)


використовують нерівність:

R f   
b  a M 4
5

, (11.15)
180n 4

де M 4  max f IV
x   b  a
5
, f IV x  - похідна четвертого порядку функції
a  x b 4
180n
y  f x  .

11.5. Вибір кроку інтегрування

Дана задача полягає у виборі кроку h, що забезпечує задану точність 


обчислення інтеграла за вибраною формулою чисельного інтегрування.
Відомі два підходи для розв’язування даної задачі:
1) вибір кроку за теоретичними оцінками похибок;
2) за непрямими схемами (емпіричними оцінками).

110
Вибір кроку за теоретичними оцінками похибок.
Нехай потрібно обчислити інтеграл з точністю . Тоді, використовуючи
формулу для R, вибирають крок так, щоб виконувалась нерівність
R   2. (11.16)
Враховується також число знаків після коми, щоб похибка заокруглення
не перевищувала величину  2 .
Вибір кроку за емпіричним оцінками. У зв'язку з тим, що визначення
максимального значення за абсолютною величиною k-ої похідної
підінтегральної функції приводить до громіздких обчислень, то на практиці
вдаються до штучних підходів досягнення потрібної точності. А саме,
означений інтеграл обчислюють за допомогою будь-якої квадратурної
формули двічі з кроком h і h 2 , що подвоює кількість розбиттів заданого
відрізка n . А далі поступають таким чином:
якщо I n  I 2 n   , то I  I 2 n ;

якщо I n  I 2 n   , то вибирають крок h 4 ; (11.17)

якщо I 2 n  I 4 n   , то I  I 4 n .

За початковий крок h можна вибрати h  m  , де m  2 для формул


прямокутників і трапецій, m  4 – для формули Сімпсона.
На практиці для підвищення точності чисельного інтегрування широко
використовують схему Ейткена: обчислення проводять три рази з кроками h1,
h2, h3, зберігаючи при цьому виконання співвідношення
h2 h3
  q.
h1 h2
Отримують три значення I1 , I 2 , I 3 і уточнюють за емпіричною
формулою
( I1  I 2 ) 2
I  I1  (11.18)
I1  2 I 2  I 3
остаточне значення інтеграла.

111
11.6. Приклади розв’язування задач
2.3
Приклад 6.1. Обчислити інтеграл I  
1.5
0.3x  1.2dx за формулами лівих,

правих та середніх прямокутників для п=10.

Розв’язання. Для обчислення інтеграла методом прямокутників розіб’ємо


відрізок інтегрування 1,5; 2,3 на 10 рівних частин з кроком
2,3  1,5
h  0,08.
10
Складемо таблицю значень підінтегральної функції в точках поділу
відрізка.
Таблиця 11.1
i xi yi
0 1.5 1.2845
1 1.58 1.2938
2 1.66 1.3031
3 1.74 1.3122
4 1.82 1.3214
5 1.90 1.3304
6 1.98 1.3394
7 2.06 1.3483
8 2.14 1.3572
9 2.22 1.3660
10 2.30 1.3748

Отже, за формулою лівих прямокутників


2.3
I 
1.5
0.3x  1.2dx  0.08(1.2845  1.2938  1.3031  1.3122  1.3214  1.3304 

1.3394  1.3483  1.3572  1.3660)  1.0605.

112
За формулою правих прямокутників:
2.3
I 
1.5
0.3x  1.2dx  0.08(1.2938  1.3031  1.3122  1.3214  1.3304 

1.3394  1.3483  1.3572  1.3660  1.3748)  1.0677.


Складемо таблицю значень підінтегральної функції в середніх точках
відрізків поділу.
Таблиця 11.2
h
i xi yi  f ( xi  )
2
0 1.54 1.2892
1 1.62 1.2985
2 1.70 1.3077
3 1.78 1.3168
4 1.86 1.3259
5 1.94 1.3349
6 2.02 1.3439
7 2.10 1.3528
8 2.18 1.3616
9 2.26 1.3704

За формулою середніх прямокутників:


2.3
I 
1.5
0.3x  1.2dx  0.08(1.2892  1.2985  1.3077  1.3168  1.3259 

1.3349  1.3439  1.3528  1.3616  1.3704)  1.0641.

1
Приклад 6.2. Обчислити інтеграл I   1  x 2 dx за формулою трапецій
0

для п=10.

Розв’язання. Для обчислення інтеграла методом прямокутників розіб’ємо

113
1 0
відрізок інтегрування 0; 1 на 10 рівних частин з кроком h   0,1.
10
Складемо таблицю значень підінтегральної функції в точках поділу відрізка.

Таблиця 11.3
i xi yi
0 0 1
1 0.1 1.005
2 0.2 1.0198
3 0.3 1.044
4 0.4 1.077
5 0.5 1.118
6 0.6 1.1662
7 0.7 1.2207
8 0.8 1.2806
9 0.9 1.3454
10 1 1.4142

Отже, за формулою трапецій:


1
I   1  x 2 dx  0.1(0.5  1.005  1.098  1.044  1.077 
0

1.118  1.1662  1.2207  1.2806  1.3454  0.7071)  1.14838.

8
Приклад 6.3. Обчислити інтеграл 
2
x3  16dx за формулою Сімпсона для

п=10.

Розв’язання. Для обчислення інтеграла методом прямокутників розіб’ємо

114
8  (2)
відрізок інтегрування  2; 8 на 10 рівних частин з кроком h   1.
10
Складемо таблицю значень підінтегральної функції в точках поділу відрізка.

Таблиця 11.4
i xi yi
0 -2 2.828
1 -1 3.873
2 0 4
3 1 4.123
4 2 4.899
5 3 6.557
6 4 8.944
7 5 11.87
8 6 15.23
9 7 18.94
10 8 22.97

8  (2)
8


2
x3  16dx 
65
[2.828  22.978  2[4  4.899  8.944  15.232] 

4[3.873  4.123  6.557  11.874  18.947]]  91.151.

Приклад 6.4. За допомогою формули Сімпсона (n=1) обчислити крок для


/2
sin x
знаходження інтеграла I   dx з точністю  = 10–3 .
/4 x

Розв’язання. Виберемо крок h за теоретичною оцінкою похибок.

115
f IV () 4
R( f )  h (b  a) ;  [a,b], тобто  [/4, /2].
180

Згідно (11.15) отримаємо:


h 4 (b  a)
max f IV ( x)  0,5 10 -3 .
180 a , b 

Знайдемо четверту похідну f IV (x) функції f (x)


sin x cos x sin x cos x sin x
f IV ( x)   4 2  12 3  24 4  24 5 .
x x x x x
sin x  12 24 
Оцінимо f IV (x) на відрізку [/4, /2]. Величини 1    та
x  x2 x4 

4 cos x  6 
 2 1 , як функції, є додатними та спадаючими і досягають своїх
x x
2

максимальних значень в точці x = /4. Тому
sin x  12 24  4 cos x  6 
f ( IV ) ( x)  1  2  4    2  1  81 .
x  x x  x x
2

Таким чином,
h4   / 4
R  81< 0,510–3; h4 < 1410–4; h  0,19.
180

Варіанти завдань

Скласти програму чисельного інтегрування у відповідності до варіанту:


1) методом лівих, правих та середніх прямокутників;
2) методом трапецій;
3) методом Сімпсона.

3
x 4
1  2x
 0
2
1. x sin dx ; 2. dx ;
0 3 ln (2  x 2 )
2

116
2
ln(1  x) 10
1 3 x 
3. 0 1  x  3x 2
dx ; 12.  exp 3  dx ;
2 1 x 
2
sh x 4
sh x  sin x / 2
4. 0 1  2 x  3x 2
dx ; 13. 
lg(1  x)
dx ;
0

ln1 | 1  5 x 2  3 x 5 | dx ;
2 6
5. 
0
14.  x 3 exp( x / 3) ch x dx ;
0

5
ch x  0.3 sin x 2
ln(1  x)
6. 
1 lg(1  x)
dx ; 15. 
1  cos x
dx ;
0

x
6 5

 exp(  x / 4) dx ; 16.  x 3 sin(


3/ 2 2
7. x ) dx ;
0 1 2
ln 2 3
8. 
0
3 th x dx ; 17.  x ch 2 x dx ;
11

sh x  2
2 4
9. 
2
ln 2 (1 | x |) dx ; 18. 
ln 2 (2  x 2 )
dx ;
0

3 2
10.  x ln(1  3 x 2 ) dx ; 19.  ln(1 | 1  x 2  3 x 3 |) dx ;
0 0

sh x 2  2 sin x
4 5
11.  (1  th x)  2.3
dx ; 20.  dx .
0 1 lg( x  1)

Вимоги до програми

У програмі слід передбачити такі можливості:

1. Автоматизований режим обчислення інтеграла заданими методами.


2. Ручний режим введення меж інтегрування та точності обчислення.
3. Обчислення похибки отриманого результату за кожним із методів.
4. Можливість некоректного введення даних.
5. Вивід покрокового виконання результатів (у вигляді таблиці) для
кожного методу.

117
Контрольні запитання

1. Який геометричний зміст означеного інтеграла?


2. Які основні причини використання методів чисельного інтегрування?
3. Що визначають за квадратурною формулою?
4. Яка суть чисельного інтегрування?
5. Який метод чисельного інтегрування є найпростішим?
6. Яка геометрична інтерпретація методу прямокутників?
7. Які існують модифікації методу прямокутників?
8. Як визначають похибку методу прямокутників?
9. У чому суть методу трапецій?
10.Яка геометрична інтерпретація методу трапецій?
11.Як визначають похибку методу трапецій?
12.У чому полягає метод Сімпсона?
13.Яка геометрична інтерпретація методу Сімпсона?
14.Як оцінюють похибку методу Сімпсона?
15.Для чого потрібно вибирати крок інтегрування?
16.У чому полягає вибір кроку за теоретичними оцінками похибок?
17.У чому полягає вибір кроку за емпіричними оцінками похибок?
18.Яка суть схеми Ейткена?

118
12. Лабораторна робота 11. РОЗВ’ЯЗУВАННЯ ЗАДАЧ КОШІ
ЧИСЕЛЬНИМИ МЕТОДАМИ

Мета роботи: ознайомлення на практиці з методами наближеного


розв’язування задач Коші.

12.1. Диференціальні рівняння

Багато практичних задач, зокрема коливання струни, мембрани,


поширення тепла, дифузійні процеси, а також задачі проектування, які
пов’язані з розрахунком потоків енергії чи руху тіл, призводять до
розв’язування диференціальних рівнянь.

Диференціальні рівняння – це рівняння, які, окрім невідомих функцій


однієї або декількох незалежних змінних, містять також і їхні похідні.
Диференціальні рівняння називають звичайними, якщо невідомі функції є
функціями однієї змінної, в іншому випадку - рівняннями з частковими
похідними.

Приклади диференціальних рівнянь:

dy d2y 2 z 2 z
 2  y  3 ;  t  1;   0;
dx dt 2 x 2 y 2

d2y
x2  2; 2s dt  t ds ; y  x2 ; xdy  y3dx.
dx 2

Звичайні диференціальні рівняння записують у вигляді

F ( x, у, y, …, y(n)) = 0, (12.1)

де x – незалежна змінна, yx  – шукана функція.

Найвищий порядок n похідної, що входить у рівняння (12.1), називають


порядком диференціального рівняння. У загальному випадку вищий порядок
похідної можна виразити у явному вигляді, наприклад,

119
y= f ( x, у), y= f ( x, у, y).

Лінійним диференціальним рівнянням називається рівняння, лінійне


щодо шуканої функції та її похідних, наприклад, у'– х2у = sin х.

Розв’язком диференціального рівняння (13.1) називають будь-яку n разів


диференційовану функцію y  f x  , яка після її підстановки у вихідне
рівняння перетворює його в тотожність.

Графік розв’язку звичайного диференціального рівняння називають


інтегральною кривою цього рівняння.

Рис. 12.1. Сімейство інтегральних кривих диференціального рівняння

Розв’язок диференціального рівняння, що містить кількість довільних


незалежних (сталих) параметрів, яка дорівнює його порядку, називають
загальним розв'язком (або загальним інтегралом) цього рівняння.

Загальний розв’язок диференціального рівняння (12.1) має вигляд:

у =  (х, С1, С2, …, Сn), (12.2)

де Сi , i  1,n – довільні сталі.

Частинним розв'язком диференціального рівняння називають будь-який


розв’язок, який отримують зі загального при визначенні числових значень

120
довільних сталих. Довільні сталі, що входять у загальний розв’язок,
визначають з початкових або крайових умов.

Наведемо геометричну інтерпретацію загального розв’язку (12.2). Цей


розв’язок описує нескінченне сімейство інтегральних кривих з параметром С,
а частинному розв’язку відповідає єдина крива з цього сімейства (рис. 12.1).

Залежно від способу задавання додаткових умов для отримання


частинного розв’язку диференціального рівняння існують два різних типи
задач: задачі Коші та крайові задачі. Додатковими умовами можуть бути
значення шуканої функції та її похідних при деяких значеннях незалежної
змінної, тобто у певних точках.

Якщо ці умови задають в одній точці, то таку задачу називають задачею


Коші. Додаткові умови в задачі Коші називають початковими умовами, а
точка х=х0, в якій їх задають – початковою точкою.

Для рівняння першого порядку додатковою є одна умова, тому для цього
випадку формулюють так задачу Коші: для заданих х0, y0 знайти такий
розв’язок у=у(х) рівняння (12.1), для якого у(х0) = у0.

Якщо ж для рівняння порядку n>1 додаткові умови задають в більше, ніж
одній точці, тобто для різних значень незалежної змінної, то таку задачу
називають крайовою задачею. Додаткові умови називаються при цьому
крайовими умовами. На практиці, як правило, крайові умови задають у двох
точках х=а та х=b, що є кінцями відрізка, на якому розв’язують крайову
задачу.

Методи розв’язування звичайних диференціальних рівнянь поділяють на


графічні, аналітичні, наближені і чисельні.

Графічні методи використовують для геометричного зображення


розв’язку. За допомогою аналітичних методів отримують точний або
наближений розв’язок диференційного рівняння у вигляді аналітичного

121
виразу. У наближених методах використовують різні спрощення
диференціальних рівнянь шляхом обґрунтованого відкидання деяких членів,
які вони містять, а також спеціальним вибором класів шуканих функцій.

Чисельні методи дають змогу отримати чисельний розв’язок, оскільки за


допомогою аналітичних методів розв’язують вузьке коло задач. При
використанні чисельних методів виникають похибки обчислень, пов'язані з
чисельною апроксимацією. Джерелами таких похибок є:

1) похибки заокруглення зумовлені обмеженнями зображення числових


даних в пам’яті комп’ютера, оскільки кількість значущих цифр, що
запам'ятовуються і використовуються в обчисленнях, є обмеженою;

2) похибки відсікання пов'язані з тим, що для апроксимації функції замість


послідовності

y  y0 , y  y0 , y  y0, ... , y 


n 1
 y0
n 1
для x  x0 (12.3)

часто використовуюся лише декілька перших її членів;

3) похибки поширення є результатом накопичення похибок, що з'явились у


попередніх результатах обчислень. Так як ні одним з наближених методів не
можна знайти точний розв’язок, то будь-яка похибка, що виникла в процесі
обчислень, зберігається і в подальших обчисленнях (рис. 12.2).

Рис.12.2. Геометричне подання накопичування похибок в процесі обчислень

122
12.2. Задача Коші

У залежності від вигляду диференціального рівняння (12.1) задачу Коші


формулюють так:

1. Якщо n  1 , то потрібно знайти функцію y  y(x) , що задовольняє


рівняння

dy
 f (x) (12.4)
dx

та приймає для x  x0 задане значення y0

y ( x0 )  y0 . (12.5)

2. Задача Коші для диференціального рівняння n-го порядку

y ( n )  f ( x, y, y,..., y ( n1) ) (12.6)

полягає у знаходженні функції y  y(x) , що задовольняє рівняння (12.6) та


початкові умови

y ( x0 )  y0 , y( x0 )  y0 , …, y ( n1) ( x0 )  y0( n1) , (12.7)

де y0 , y '0 ,..., y0( n1) – задані числові значення функції y0 та її похідних

y0 , y0 , ..., y0( n1 ) до ( n  1 ) порядку в точці x = x0.

Розглянемо деякі чисельні методи розв’язування задач Коші для


звичайного диференційного рівняння першого порядку.

12.3. Метод Ейлера

Розглянемо диференціальне рівняння першого порядку

y '  f ( x, y) (12.8)

з початковою умовою

y( x0 )  y0 . (12.9)

123
Потрібно знайти розв’язок рівняння на відрізку [ x0 , xn ] .

Розіб'ємо відрізок [ x0 , xn ] на n рівних частин і отримаємо послідовність


x0 , x1 , x2 ,..., xn , де xi  x0  ih (i  0,1,2,..., n) , h  ( xn  x0 ) / n – крок інтегрування.

Виберемо k-й відрізок [ xk , xk 1 ] та проінтегруємо рівняння (12.8)

xk 1 xk 1 x k 1

 f ( x, y )dx   ydx  y ( x) |  y ( xk 1 )  y ( xk )  yk 1  yk
xk xk
xk

або
xk 1
yk 1  yk   f ( x, y )dx. (12.10)
xk

Якщо підінтегральну функцію на відрізку [ xk , xk 1 ] вважатимемо сталою


та обчислимо інтеграл за формулою лівих прямокутників, то одержимо

уk 1  yк  hf ( xk , yк )  O(h2 ). (12.11)

Відкинувши в цій рівності доданок порядку O(h2), отримаємо


розрахункову формулу

yk 1  yk  hf ( xk , yk ) , (12.12)

h  xk 1  xk , k  0, n  1,

яку називають формулою Ейлера.

Продовжимо цей процес, вважаючи, що на відрізку [ xk , xk 1 ] інтегральна


крива y  F ( x) є прямолінійним відрізком, що починається в точці M k ( xk ; yk ) з
кутовим коефіцієнтом f ( xk , yk ) . Отже, як наближення шуканої інтегральної
кривої, одержуємо ламану лінію з вершинами в точках
M 0 ( x0 ; y0 ), M1 ( x1; y1 ), ..., M n ( xn ; yn ) (рис. 12.3).

124
Рис. 13.3. Геометрична інтерпретація методу Ейлера

Зауважимо, що похибка розв’язку, отриманого за методом Ейлера на


кожному кроці є величиною порядку O(h2). Точність розв’язку, отриманого за
цим методом, є досить малою і з переходом від точки хk до точки хk+1 його
похибка зростає.

13.4. Метод Рунге-Кутта

Методом Рунге-Кутта одержують точніший розв’язок порівняно з


методом Ейлера.

Нехай на відрізку [a, b] потрібно знайти чисельний розв’язок рівняння

y '  f ( x, y) (12.13)

з початковою умовою y( x0 )  y0 .

Розіб’ємо відрізок [a, b] на п рівних частин точками xi  x0  ih (i  0, n) , де


h  (b  a) / n – крок інтегрування. Використовуючи метод Рунге-Кутта,
аналогічно як і метод Ейлера, послідовні значення yі ( i  1, n ) шуканої функції
у визначають за формулою

yi 1  yi  yi . (12.14)

125
Якщо розкласти функцію у в у ряд Тейлора та обмежитися членами
розкладу до h4, то Δу можна подати у вигляді

h2 h3 h4
y  y ( x  h)  y ( x)  hy( x)  y( x)  y( x)  y IV ( x). (12.15)
2 6 24

Замість безпосередніх обчислень за формулою (12.15) спочатку


визначають такі величини:

k1  hf ( x, y ),
h k
k2  hf ( x  , y  1 ),
2 2 (12.16)
h k
k3  hf ( x  , y  2 ),
2 2
k4  hf ( x  h, y  k3 ).

Можна довести, що якщо величини k1, k2, k3, k4 розглядати відповідно з


1 1 1 1
вагами 1/6, 1/3, 1/3, 1/6, то значення виразу k1  k2  k3  k4 з точністю до
6 3 3 6
четвертого степеня h дорівнює значенню у, яке визначають за формулою
(12.15), тобто

1
y  (k1  2k2  2k3  k4 ). (12.17)
6

Таким чином, для кожної пари біжучих значень xі і yі з формул (12.16)


визначають значення коефіцієнтів

k1(i )  hf ( x i , y i ),
h k1(i )
k (i )
2  hf ( x i  , y i  ),
2 2 (12.18)
h k 2(i )
k 3(i )  hf ( x i  , y i  ),
2 2
k1(i )  hf ( x i  h, y i  k 3(i ) )

а потім обчислюють yi 1  yi  yi (i  0, n).

126
12.5. Геометрична інтерпретація визначення розв’язку задачі Коші
методом Рунге-Кутта 4-го порядку

Із точки (xi , yi) рухаємось по дотичній з кутом нахилу, тангенс якого


дорівнює f(xi , yi). На цій дотичній вибираємо точку з координатами
(xi+h/2, yi+k1/2). Далі із точки (xi, yi) проводимо лінію, паралельну дотичній,
проведеній із отриманої точки. Тангенс кута її нахилу дорівнює
f(xi+h/2, yi+k1/2). На ній вибираємо наступну точку (xi+h/2, yi+k2/2). Нарешті,
із точки (xi , yi) рухаємось по лінії з кутом нахилу, що відповідає тангенсу
f(xi+h/2, yi+k2/2), і на ній вибираємо точку (xi+h, yi+k3). Цим задають ще один
напрям, визначений тангенсом кута нахилу, який дорівнює f(xi+h, yi+k3).
Чотири отримані напрямки усереднюють у відповідності з формулою (12.17).
На цьому кінцевому напрямку і вибираємо чергову точку (xi+1 , yi+1). Процес
знаходження точки (xi+1 , yi+1) можна прослідкувати на рис. 13.4.

Рис.12.4. Геометрична інтерпретація методу Рунге-Кутта

Знаходження числового розв’язку задачі Коші методом Рунге-Кутта


зручно виконувати за таким алгоритмом:
1. Значення х0 и у0 підставляють у праву частину диференціального
рівняння (12.13) і визначають f ( x, y) .

127
2. Отримане значення f ( x0 , y0 ) множать на крок інтегрування h та
обчислюють k1  hf ( x0 , y0 ) .
h
3. Змінюють значення х0 на x 1  x0  .
0 2
2

k1
4. Визначають допоміжне значення y0 д  y0  .
2
5. Обчислюють похідну в точці ( x 1 , y0 д ), що дорівнює y0' д  f  x 1 , y0 д  .
0 0
2 2

6. Отримують значення коефіцієнта k 2  h f  x 1 , y0 д  .


0
2

k2
7. Обчислюють нове допоміжне значення y0д  y0  .
2
8. Визначають значення похідної в точці ( x 1
, y0д ) y0' д  f  x 1 , y0 д  .
0 0
2 2

9. Одержують значення k3  hy0' д  hf  x 1 , y0 д  .


0
2

10. Обчислюють нове допоміжне значення y1д  y0  k3 .


h
11. Змінюють значення x 1 на x1  x 1  .
0 0 2
2 2

12. Знову визначають допоміжну похідну в точці ( x1 , y1д ) y1' д  f  x1 , y1д  .

13. Одержують значення коефіцієнта k4  hy1' д  hf  x0  h, y0  k3  .


14. Обчислюють нове значення у1 за формулою
1
y1  y0  (k1  2k 2  2k3  k 4 ).
6
Для визначення y2 , y3 ,..., yn повторюють ітераційний процес, починаючи з
першого кроку.

Далі всі обчислення повторюють починаючи з першого кроку, поки не


буде пройдений весь відрізок [a, b] .

Порядок точності методу Рунге-Кутта складає h4 на усьому відрізку [a, b] .

128
12.6. Багатокрокові методи прогнозу і корекції

На відміну від розглянутих однокрокових методів Ейлера та Рунге-Кутта,


у методах прогнозу і корекції для обчислення положення нової точки
використовують інформацію про декілька раніше отриманих точок. Такі
методи називають багатокроковими. Схеми алгоритмів для таких методів
приблизно є однаковими, вони відрізняються лише формулами.

Обчислення виконують у такій послідовності. Спочатку за формулою


прогнозу та початковими значеннями змінних визначають значення yn( 0)1 .
Верхній індекс означає, що прогнозоване значення є одним із послідовності
значень yn1 , розташованих в порядку зростання точності. За прогнозованим

значенням yn( 0)1 з допомогою диференціального рівняння

y ( x)  f x, y , (12.19)

знаходимо похідну


y n( 0)1  f xn1 , y n( 0)1 . (12.20)

Цю похідну підставляють у формулу корекції для обчислення уточненого

значення yn( K11) (k  0,1,...) . В свою чергу yn( k11) використовують для
одержання більш точного значення похідної


y nk11  f xn1 , y n( k11)  . (12.21)

Якщо це значення похідної недостатньо близьке до попереднього, то його


вводять у формулу корекції і ітераційний процес продовжують. Якщо ж

похідна змінюється в допустимих межах точності, то значення yn( k11)'


використовують для обчислення остаточного значення yn1 . Після цього
процес повторюють - виконують наступний крок, на якому обчислюють yn2 .

129
Розглянемо один з багатокрокових методів - метод Адамса, зя яким
отримують розв’язок четвертий порядок точності. Формула прогнозу цього
методу ґрунтується на використанні інтерполяційної формули Ньютона

h55 y n'  59 y n' 1  37 y n' 2  9 y n' 3  


1 251 5 (5)
y n1  y n  h y , (12.22)
24 720

а формула корекції має вигляд

h9 yn' 1  19 y n'  5 yn' 1  y n' 2  


1 19 5 (5)
yn1  y n  h y . (12.23)
24 720

Для того, щоб застосувати метод Адамса 4-го порядку, необхідно наперед
обчислити значення y0' , y1' , y2' для перших трьох кроків. Найчастіше для цього
використовують метод Рунге-Кутта, за допомогою якого отримують значення
з досить високою точністю.

12.7. Приклади розв’язування задач

Приклад 12.1. Методом Ейлера сформувати таблицю розв’язків на


2x
відрізку [0;1] для рівняння y   y  з початковою умовою y(0)  1 та
y
кроком h  0,2 .

Розв’язування. У першому рядку для i  0 записуємо x0  0 , y0  1. Далі


обчислюємо

f ( x0 , y0 )  1, y0  hf ( x0 , y0 )  0,2 .

Тоді за формулою (12.12) отримуємо

y1  y0  hf ( x0 , y0 )  1  0,2  1,2 .

У другому рядку для i  1 записуємо x1  x0  h  0,2 та отримане


значення y1  1,2 . Використовуючи їх, обчислюємо

130
f ( x1 , y1 )  0,8667 , y1  hf ( x1 , y1 )  0,1733 .

Тоді

y2  y1  y1  1,2  0,1733  1,3733 .

Аналогічні обчислення проводимо для i  2,3,4,5. В останньому стовпчику


таблиці для порівняння записано значення точного розв’язку.

Таблиця 12.1

i xi yi  yi y  2x  1
0 0 1,0 0,2 1,0
1 0,2 1,2 0,1733 1,1832
2 0,4 1,3733 0,1561 1,3416
3 0,6 1,5294 0,1492 1,4832
4 0,8 1,6786 0,1451 1,6124
5 1,0 1,8237 1,7320

Із таблиці видно, що абсолютна похибка для y5 дорівнює


  1,8237  1,7320  0,0917 , що складає 5%.

Приклад 12.2. Методом Рунге-Кутта розв’язати диференціальне рівняння

y  y  x

з початковою умовою y(0)  1,5 та кроком h  0,25 на відрізку [0;1,5].

Розв’язування. Відрізок інтегрування [0;1,5] розіб’ємо на шість рівних


частин точками x0  0 , x1  0,25 , x2  0,50 , x3  0,75 , x4  1,00 , x5  1,25 ,
x6  1,50. З початкових умов маємо x0  0; y0  1,5 . Знайдемо перше наближене

y1  y0  y0 , де

y 0  k1  k 20   2k30  k 40 .


1 0 
6

131
Використовуючи формули (12.18), обчислюємо значення коефіцієнтів k i( 0 )

( i  0,4 )

k1( 0 )  ( y 0  x0 )h  1,5000  0,25  0,3750,


 k1( 0 )   h 
k (0)
2   y 0     x0   h  [(1,5000  0,1875)  0,125]  0,25  0,3906,
 2   2 
 k 2( 0 )   h 
k 3( 0 ) 
  y 0     x0   h  [(1,5000  0,1953)  0,125]  0,25  0,3926,
 2   2 
k 4( 0 )  
  y 0  k 3( 0 )    x0  h  h  [(1,5000  0,3926)  0,125]  0,25  0,4106.

1
Отже, y0  (0,3750  2  0,3906  2  0,3926  0,4106)  0,3920 ,
6

y1  1,5000  0,3920  1,8920.

Результати обчислень наведено в таблиці 12.2.

Таблиця 12.2

i x y y   f ( x, y) k  hf ( x, y) y
0 1,5000 1,5000 0,3750 0,3750
0,125 1,6875 1,5625 0,3906 0,7812
0
0,125 1,6953 1,5703 0,3926 0,7852
0,25 1,8926 1,6426 0,4106 0,4106
0,3920
0,25 1,8920 1,6420 0,4105 0,4105
0,375 2,0973 1,7223 0,4306 0,8612
1
0,375 2,1073 1,7323 0,4331 0,8662
0,50 2,3251 1,8251 0,4562 0,4562
0,4323
0,50 2,3243 1,8243 0,4561 0,4561
2 0,625 2,5523 1,9273 0,4818 0,9636
0,625 2,5652 1,9402 0,4850 0,9700

132
0,75 2,8093 2,0593 0,5148 0,5148
0,4841
0,75 2,8084 2,0584 0,5146 0,5146
0,875 3,0657 2,1907 0,5477 1,0954
3
0,875 3,0823 2,2073 0,5518 1,1036
1,00 3,3602 2,3602 0,5900 0,5900
0,5506
1,00 3,3590 2,3590 0,5898 0,5898
1,125 3,6539 2,5289 0,6322 1,2644
4
1,125 3,6751 2,5501 0,6375 1,2750
1,25 3,9965 2,7465 0,6866 0,6866

1,25 3,9950 2,7450 0,6862 0,6862


1,375 4,3381 2,9631 0,7408 1,4816
5
1,375 4,3654 2,9904 0,7476 1,4952
1,50 4,7426 3,2426 0,8106 0,8106
0,7456
6 1,50 4,7406

Остаточно отримуємо y(1,5)  4,74 .

Варіанти завдань

Застосовуючи метод Ейлера, метод Рунге-Кутта 4-го порядку та метод


Адамса, скласти програму чисельного розв’язування задачі Коші на відрізку
[a,b] у відповідності до варіанту:

y
№1 y  x  cos y0(1,8)=2,6 x  [1,8; 2,8]
5

133
y
№2 y  x  cos у0(0,6)=0,8 х  [0,6;1,6]
10

y
№3 y   x  cos у0(1,4)=2,2 х  [1,4;2,4]
2,25

y
№4 y  x  cos у0(0,8)=1,4 х  [0,8;1,8]
2

y
№5 y  x  sin у0(1,8)=2,6 х  [1,8;2,8]
5

y
№6 y  x  sin у0(0,6)=0,8 х  [0,6;1,6]
8

y
№7 y   x  sin у0(1,7)=5,3 х  [1,7;2,7]

y
№8 y  x  sin у0(0,8)=1,3 х  [0,8;1,8]
2

y
№9 y  x  sin у0(1,1)=1,5 х  [1,1;2,1]
3

y
№ 10 y  x  sin у0(0,5)=1,8 х  [0,5;1,5]
1,25

y
№ 11 y  x  sin у0(0,2)=1,1 х  [0,2;1,2]
15

y
№ 12 y   x  sin у0(0,5)=0,6 х  [0,5;1,5]
0,3

y
№ 13 y   x  cos у0(0,4)=0,8 х  [0,4;1,4]
1,25

134
y
№ 14 y   x  cos у0(0,7)=2,1 х  [0,7;1,7]
0,3

y
№ 15 y   x  cos у0(0,9)=1,7 х  [0,9;1,9]
0,7

Вимоги до програми

У програмі передбачити такі можливості:

1. У автоматизованому режимі отримати розв’язок задачі Коші


заданими методами.
2. Ввід у ручному режимі меж інтегрування та кроку.
3. Обчислення кроку інтегрування з використанням методу Рунге-
Кутта.
4. Вивід покрокового виконання обчислень розв’язку для кожного
методу.

Контрольні запитання

1. Дати означення диференціального рівняння.


2. Дати означення звичайного диференціального рівняння.
3. Що називають порядком диференціального рівняння?
4. Дати означення загального та частинного розв’язків
диференціального рівняння.
5. Розкрити поняття «інтегральної кривої».
6. Сформулювати задачу Коші та крайову задачу.
7. Назвати методи розв’язування звичайних диференціальних
рівнянь.

135
8. Вказати суть чисельних методів розв’язування звичайних
диференціальних рівнянь.
9. Як називають додаткові умови в задачі Коші?
10. Як називають додаткові умови в крайовій задачі?
11. Вказати відмінність між однокроковими і багатокроковими
методами розв’язування задачі Коші.
12. Сформулювати суть методу Ейлера.
13. Сформулювати суть методу Рунге-Кутта.
14. Навести покроковий алгоритм методу Рунге-Кутта.
15. Вказати спосіб вибору кроку для методу Рунге-Кутта.
16. Вказати суть методів прогнозу та корекції.
17. Сформулювати суть методу Адамса?

136
СПИСОК ЛІТЕРАТУРИ

1. Бахвалов Н.С. Численные методы / Н.С. Бахвалов, Н.П. Жидков – М.:


Лаборатория базовых знаний, 2002. – 632 с.
2. Бойко Л.Т. Основи чисельних методів: навч. Посібник / Л.Т. Бойко – Д.:
Вид-во ДНУ, 2009. – 244 c.
3. Гаврилюк І.П. Методи обчислень. Частина 1 / І.П. Гаврилюк,
В.Л. Макаров - К.: Вища школа, 1995. – 369 с.
4. Гаврилюк І.П. Методи обчислень. Частина 2 / І.П. Гаврилюк,
В.Л. Макаров - К.: Вища школа, 1995. – 433 с.
5. Иванов В.В. Методы вычислений на ЭВМ: Справочное пособие /
В.В. Иванов - К.: Наукова думка, 1986. – 584 с.
6. Зеленський К.Х. Комп’ютерні методи прикладної математики /
К.Х. Зеленський, В.М. Ігнатенко, О.П. Коц – К.: Академперіодика, 2002. –
480 с.
7. Киреев В.И. Численные методы в примерах и задачах / В.И Киреев,
А.В. Пантелеев - М.: Высшая школа , 2008. - 480 с
8. Копченова Н.В. Вычислительная математика в примерах и задачах /
Н.В. Копченова, И.А. Марон – С-Пб.: Лань, 2009. – 368 с.
9. Коссак О. Методи наближених обчислень: Навч. посіб. / О. Коссак,
О. Тумашова, О. Коссак – Львів: Бак, 2003. – 168 с.
10. Лук’яненко С.О. Чисельні методи розв’язування диференційних рівнянь:
Навч. посібн. / С.О. Лук’яненко – К.: Знання України, 2007. – 136 с.
11. Ортега Дж. Введение в численные методы решения дифференциальных
уравнений: Пер. с англ. / Дж. Ортега, У. Пул – М.: Наука, 1986. – 288с.
12. Самарский А.А. Численные методы / А.А. Самарский, А.В. Гулин – М.:
Наука, 1989. – 432 с.
13. Турчак Л. И. Основы численных методов / Л.И. Турчак, П.В. Плотников
— М.: ФИЗМАТЛИТ, 2003. — 304 с.

137
14. Фельдман Л.П. Чисельні методи в інформатиці / Л.П. Фельдман,
А.І. Петренко, О.А. Дмитрієва – К.: Видавнича група BHV, 2006. – 480 с.
15. Цегелик Г.Г. Чисельні методи / Г.Г. Цегелик – Львів: ВЦ ЛНУ ім.
І.Франка, 2004. – 408 с.
16. Шахно С.М. Чисельні методи лінійної алгебри / С.М. Шахно - Львів: ВЦ
ЛНУ ім.І.Франка, 2007. – 245 с.
17. Шахно С.М. Практикум з чисельних методів: навч. посібник /
С.М. Шахно, А.Т. Дудикевич, С.М. Левицька - Львів: ЛНУ ім.І.Франка,
2013. – 432 с.

138
ЗМІСТ

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ .................................................... 1


1. Основні поняття теорії нелінійних рівнянь ...................................................... 3
1.1. Класифікація нелінійних рівнянь ...................................................................... 3
1.2. Наближене розв’язування нелінійних рівнянь ................................................ 5
1.3. Методи відокремлення коренів ......................................................................... 5
1.4. Чисельні методи уточнення коренів ............................................................... 10
Контрольні запитання .............................................................................................. 10
2. Лабораторна робота № 1. Розв’язування нелінійних рівнянь методом
дихотомії та методом хорд ...................................................................................... 11
2.1. Метод поділу відрізка навпіл........................................................................... 11
2.2. Метод хорд......................................................................................................... 13
2.3. Приклади розв’язування задач ........................................................................ 15
Варіанти завдань ...................................................................................................... 17
Контрольні запитання .............................................................................................. 18
3. Лабораторна робота № 2. Розв’язування нелінійних рівнянь методом
дотичних та методом послідовних наближень ..................................................... 19
3.1. Метод Ньютона (метод дотичних) .................................................................. 19
3.2. Метод простої ітерації (метод послідовних наближень) .............................. 21
3.3. Приклади розв’язування задач ........................................................................ 23
Завдання .................................................................................................................... 25
Вимоги до програми ................................................................................................ 25
Контрольні запитання .............................................................................................. 26
4. Лабораторна робота № 3. Розв’язування систем лінійних алгебраїчних
рівнянь методом Крамера та методом оберненої матриці................................... 27
4.1. Системи лінійних алгебраїчних рівнянь......................................................... 27
3.2. Метод Крамера .................................................................................................. 29
4.3. Метод оберненої матриці (матричний метод) ............................................... 29

139
4.4. Приклади розв’язування задач......................................................................... 31
Варіанти завдань ...................................................................................................... 34
Вимоги до програми ................................................................................................ 35
Контрольні запитання .............................................................................................. 35
5. Лабораторна робота № 4. Розв’язування систем лінійних алгебраїчних
рівнянь методом Гауса та методом LU-розкладу ................................................. 37
5.1. Метод Гауса ....................................................................................................... 37
5.2. Метод Гауса з вибором головного елемента .................................................. 40
5.3. Застосування прямого ходу метода Гауса для пошуку визначників ........... 41
5.3. Метод LU-розкладу........................................................................................... 42
5.4. Приклади розв’язування задач......................................................................... 45
Варіанти завдань ...................................................................................................... 50
Вимоги до програми ................................................................................................ 50
Контрольні запитання .............................................................................................. 51
6. Лабораторна робота № 5. Наближені методи розв’язування систем лінійних
алгебраїчних рівнянь ............................................................................................... 52
6.1. Метод простої ітерації (Якобі)......................................................................... 52
6.2. Збіжність ітераційного процесу ....................................................................... 55
6.3. Критерії припинення ітераційного процесу ................................................... 56
6.4. Метод Зейделя ................................................................................................... 57
6.5. Приклади розв’язування задач......................................................................... 58
Варіанти завдань ...................................................................................................... 61
Контрольні запитання .............................................................................................. 64
7. Лабораторна робота № 6. Розв'язування перевизначених систем лінійних
алгебраїчних рівнянь ............................................................................................... 65
7.1. Метод найменших квадратів для розв'язування перевизначених СЛАР .... 65
Варіанти завдань ...................................................................................................... 71
Контрольні запитання .............................................................................................. 72

140
8. Лабораторна робота № 7. Чисельні методи розв’язування систем нелінійних
рівнянь ....................................................................................................................... 73
8.1. Метод простої ітерації ...................................................................................... 73
8.2. Метод Ньютона ................................................................................................. 75
Варіанти завдань ...................................................................................................... 79
Контрольні запитання .............................................................................................. 80
9. Лабораторна робота № 8. Наближення дискретних (таблично заданих)
функцій ...................................................................................................................... 81
9.1. Інтерполяція табличних функцій .................................................................... 81
9.2. Інтерполяційний поліном Лагранжа ............................................................... 84
9.3. Інтерполяційний поліном Ньютона ................................................................ 87
Варіанти завдань ...................................................................................................... 92
Вимоги до програми ................................................................................................ 95
Контрольні запитання .............................................................................................. 95
10. Лабораторна робота 9. Наближення функцій методом найменших квадратів
97
10.1. Формулювання задачі ..................................................................................... 97
10.2. Часткові випадки апроксимаційних поліномів ............................................ 98
Варіанти завдань .................................................................................................... 101
Контрольні запитання ............................................................................................ 102
11. Лабораторна робота 10. Чисельні методи інтегрування .............................. 103
11.1. Чисельне інтегрування ................................................................................. 103
11.2. Метод прямокутників ................................................................................... 105
11.3. Метод трапецій .............................................................................................. 107
11.4. Метод Сімпсона ............................................................................................ 108
11.5. Вибір кроку інтегрування............................................................................. 110
11.6. Приклади розв’язування задач .................................................................... 112
Варіанти завдань .................................................................................................... 116
Вимоги до програми .............................................................................................. 117

141
Контрольні запитання ............................................................................................ 118
12. Лабораторна робота 11. Розв’язування задач Коші чисельними методами
119
12.1. Диференціальні рівняння ............................................................................. 119
12.2. Задача Коші.................................................................................................... 123
12.3. Метод Ейлера................................................................................................. 123
13.4. Метод Рунге-Кутта........................................................................................ 125
12.5. Геометрична інтерпретація визначення розв’язку задачі Коші методом
Рунге-Кутта 4-го порядку ...................................................................................... 127
12.6. Багатокрокові методи прогнозу і корекції.................................................. 129
12.7. Приклади розв’язування задач..................................................................... 130
Варіанти завдань .................................................................................................... 133
Вимоги до програми .............................................................................................. 135
Контрольні запитання ............................................................................................ 135
СПИСОК ЛІТЕРАТУРИ........................................................................................ 137

142
НАВЧАЛЬНЕ ВИДАННЯ

ЧИСЕЛЬНІ МЕТОДИ

НАВЧАЛЬНИЙ ПОСІБНИК
з дисципліни «Чисельні методи»
для студентів спеціальності
«Інженерія програмного забезпечення»

Укладачі Гавриш Василь Іванович


Мельник Наталія Богданівна

Редактор

Комп’ютерне верстання

143

You might also like