You are on page 1of 32

Міністерство освіти та науки України

Донбаська державна машинобудівна академія

ЧИСЕЛЬНІ МЕТОДИ В ІНФОРМАТИЦІ

Методичні вказівки
до виконання контрольної роботи

(для студентів 4-го курсу спеціальності


7.080404 «Інтелектуальні системи прийняття рішень»
заочної форми навчання)
Краматорськ 2009
Міністерство освіти та науки України
Донбаська державна машинобудівна академія

ЧИСЕЛЬНІ МЕТОДИ В ІНФОРМАТИЦІ


Методичні вказівки
до виконання контрольної роботи

(для студентів 4-го курсу спеціальності


7.080404 «Інтелектуальні системи прийняття рішень»
заочної форми навчання)

Затверджено
на засіданні методичної ради
Протокол № від

2
Краматорськ 2009

3
УДК 519.6

Методичні вказівки до виконання контрольної роботи з дисципліни


«Чисельні методи в інформатиці» (для студентів 4-го курсу спеціальності
7.080404 «Інтелектуальні системи прийняття рішень» заочної форми
навчання) / укл. : В. М. Чорномаз, Н. Ю.Шевченко. – Краматорськ :
ДДМА, 2008. – 35 с.

Наведено теоретичні відомості та варіанти завдань для виконання


контрольної роботи.

Укладачі: В.М. Чорномаз, доц.,


Н.Ю.Шевченко, cт. викл.

Відп. за випуск Г.В. Макаркіна, доц.

4
ЗМІСТ

Вступ 5
Лабораторна робота 1. Інтерполювання функцій 7
Лабораторна робота 2. Чисельні методи обчислення визначених
інтегралів 9
Лабораторна робота 3. Розв’язання нелінійних рівнянь f ( x)  0 14
Лабораторна робота 4. Методи чисельного розв’язання систем
нелінійних рівнянь 20
Лабораторна робота 5. Чисельне розв’язання звичайних
диференційних рівнянь 29
Список рекомендованої літератури 34

5
ВСТУП

Головним інструментом майбутньої діяльності спеціаліста з


побудови інтелектуальних систем прийняття рішень буде ЕОМ –
електронно-обчислювальна машина. Перше слово в назві відображає
принцип дії, останнє нагадує, що яким би “інтелектуальним” не був
комп’ютер, він залишається не більше, ніж машиною. Зверніть увагу на
центральне слово “обчислювальна”, воно вказує на головне призначення
ЕОМ – проводити обчислення.
Дослідження будь-якої фізичної або економічної системи, як
правило, зводиться до побудови математичної моделі.
Математична модель – це сукупність математичних об’єктів
(констант, змінних, функцій, рівнянь, систем рівнянь і т. д.) і відношень
між ними, що відображають деякі істотні характеристики досліджуваної
системи.
Коли математичну модель створено, її потрібно досліджувати, тобто
обчислювати інтеграли, розв’язувати рівняння та системи рівнянь. На
жаль, аналітично, тобто у вигляді деяких виразів від коефіцієнтів,
розв’язується лише невелика кількість “класичних” рівнянь та систем
(лінійні, квадратні рівняння, лінійні алгебраїчні системи, деякі типи
диференційних рівнянь та систем). Дослідження реальних систем потребує
вміння обчислювати або розв’язувати практично будь-які задачі. Це
роблять за допомогою чисельних методів.
Чисельний метод – метод наближеного або точного розв’язання
математичної задачі, що ґрунтується на побудові скінченної послідовності
дій над скінченною множиною чисел.
У визначенні чисельного методу слід звернути увагу на дві
обставини:
1) визначення чисельного методу практично співпадає з
визначенням алгоритму;
2) поняття чисельного методу розповсюджується на одержання як
наближеного, так і точного розв’язку.
Чисельний метод повинен задовольняти наступним вимогам – бути
усталеним та збіжним.
Чисельний метод називається усталеним, якщо результати
безперервно залежать від вхідних даних задачі і похибка округлення, що
виникає в процесі реалізації чисельного методу на ЕОМ, залишається
обмеженою при заданих межах зміни параметрів чисельного методу.
Чисельний метод називається збіжним, якщо результати можуть як
завгодно близько наближатися до точного рішення.
Чисельні методи, які ми будемо розглядати, усталені та збіжні по
замовчуванню. У випадку, коли можливі порушення цих передумов,
будуть наведені необхідні та достатні умови усталеності та збіжності,
виконання яких необхідно перевірити перед запуском чисельного методу
на виконання.
6
Більшість чисельних методів реалізовані в пакетах прикладних
програм: MathCad, Maple, Matematica та інших. Оволодіння вашою
спеціальністю зумовлює уміння використати той чи інший пакет для
реалізації чисельного методу у випадку розв’язання конкретної
“одноразової” задачі або у випадку проектування вами власної
інтелектуальної системи, скласти алгоритм реалізації чисельного методу,
написати програму, реалізувати цей алгоритм на комп’ютері.
Ціллю лабораторних робіт є здобуття практичних навичок розробки
алгоритмів і програм чисельних методів та вміння користуватись пакетами
комп’ютерної математики для реалізації чисельних методів.

Правила оформлення контрольної роботи

При виконанні контрольної роботи необхідно жорстко


притримуватися вказаних нижче правил. Роботи, які виконані без
дотримання цих правил, не розглядаються та повертаються студентові для
переробки. Контрольна робота виконується на аркушах формату А4.
Кожне завдання контрольної роботи повинно містити:
1 Ціль роботи
2 Умову індивідуального завдання
3 Розрахункові формули чисельного методу
4 Блок-схему алгоритму методу
5 Розв’язання задачі на ЕОМ, у випадку необхідності – графічна
ілюстрація розв’язку
6 Код програми або розрахункову частину коду
7 Висновки по роботі
Варіант обирається за номером залікової книжки відповідно до
наступної таблиці (табл. 1).

Таблиця 1

Друга Остання цифра залікової книжки


з кінця
цифра
1 2 3 4 5 6 7 8 9 0
залікової
книжки
0 1 2 3 4 5 6 7 8 9 25
1 11 12 13 14 15 16 17 18 19 10
2 21 22 23 24 25 1 2 3 4 20
3 6 7 8 9 10 11 12 13 14 5
4 16 17 18 19 20 21 22 23 24 15
5 1 2 3 4 5 6 7 8 9 25
6 11 12 13 14 15 16 17 18 19 10
7 21 22 23 24 25 1 2 3 4 20
8 6 7 8 9 10 11 12 13 14 5
9 16 17 18 19 20 21 22 23 24 15

7
Лабораторна робота 1
ІНТЕРПОЛЮВАННЯ ФУНКЦІЙ

Ціль роботи – здобути практичні навички розробки алгоритмів та


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

Теоретичні відомості

Нехай задана система точок: ( x 0 , y 0 ), ( x1 , y1 ), ..., ( x i , y i ), ...., ( x n , y n ) ,


при цьому x0  x1  ...  xi  x n . Надалі ці точки будемо називати вузлами
інтерполяції.
Задача інтерполяції полягає в побудові деякої функції y  f (x) ,
графік якої проходить через вузли інтерполяції, тобто для будь-якого xi
маємо y i  f ( xi ) . Така функція називається інтерполяційною для заданого
набору вузлів.
Найпростішим серед можливих інтерполяційних функцій є
інтерполяційний многочлен, зокрема, многочлен Лагранжа:

n
( x  x0 )...( x  xk 1 )( x  xk 1 )...( x  xn )
Ln ( x)   y k . (1)
k 0 ( xk  x0 )...( xk  xk 1 )( xk  xk 1 )...( xk  xn )

Якщо многочлен Лагранжа будується один для всієї системи точок,


то таку інтерполяцію будемо називати глобальною.
Досить часто для кожної пари точок ( x i , y i ), ( x i 1 , y i 1 ) ,
(i  0, 1, ..., n  1) будують лінійні інтерполяційні поліноми:

( x  xi 1 ) ( x  xi )
L1 ( x)  y i  y i 1 , (2)
( xi  x i 1 ) ( x i 1  x i )

де xi  x  xi 1 .
В багатьох наближених обчисленнях (наприклад, формула Сімпсона
при обчислені інтегралів) використовують також квадратичну
інтерполяцію. Для цього область інтерполювання необхідно поділити на
парне число відрізків.
Беремо три вузли інтерполяції: ( x i , y i ), ( x i 1 , y i 1 ), ( x i  2 , y i  2 ) , де
i  (0, 2, 4, ..., n  2) :

( x  xi 1 )( x  xi  2 ) ( x  xi )( x  xi  2 ) ( x  xi )( x  xi 1 )
L2 ( x )  y i  y i 1  yi2 . (3)
( xi  xi 1 )( xi  xi  2 ) ( xi 1  xi )( xi 1  xi  2 ) ( xi  2  xi )( xi  2  xi 1 )
Інтерполяцію за формулами (2), (3) називають, відповідно,
локальною лінійною та локальною квадратичною інтерполяцією.

8
Індивідуальне завдання

Для функцій, заданих в таблиці 2, побудувати графік (для цього


можна використати пакети MathCad, Maple). Інтервал інтерполювання для
змінної x підібрати так, щоб на ньому функція мала один максимум та
один мінімум. Обчислити координати шести характерних точок, які лежать
на графіку функції (за ці точки краще взяти кінці відрізка інтерполювання,
точку максимуму, мінімуму та перегину). Взяти ці точки за вузли
інтерполяції.
Скласти програму, що реалізує:
1) глобальну інтерполяцію;
2) локальну лінійну інтерполяцію;
3) локальну квадратичну інтерполяцію;
4) графіки заданої функції та трьох видів інтерполяції сумісно;
5) для довільно вибраної точки x 0  x  x n , яка не співпадає з
вузлами інтерполяції для кожного виду інтерполяції
обчислення відносної похибки за формулою

y набл  y точн
  100% . (4)
y точн

Зробити висновки.

Таблиця 2 – Варіанти завдань

Номер Номер
Функція Функція
варіанту варіанту
1 y  4  cos x 2 14 y  ln(4  cos x)
2 ye sin( x  2 )
15 y  3  cos( x 2 )
3 y  e cos 2 x 16 y  2 sin x  cos 2 x
4 y  2  ln(4  sin x) 17 y  e cos( 2  x )
5 y  4  sin( 2  x 2 ) 18 y  2  sin( x / 2)
6 y  ln(4  cos x) 19 y  e (1 sin( x / 2 ))
7 y  e sin 2 x 20 y  ln(3  sin( x / 2))
8 y  ln(4  sin 2 x) 21 y  e sin( x / 2 )
9 y  2  cos x 22 y  ln(3  cos x 2 )
10 y  3 sin(e x ) 23 y  2  sin( x 2 / 2)
11 y  2  cos(e x ) 24 y  sin 3 x  cos( x  5)
12 y  2  sin( x 2 ) 25 y  3  sin x
13 y  4  ln(2  sin x)

9
Лабораторна робота 2
ЧИСЕЛЬНІ МЕТОДИ ОБЧИСЛЕННЯ ВИЗНАЧЕНИХ ІНТЕГРАЛІВ

Ціль роботи – здобути практичні навички розробки алгоритмів і


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

Теоретичні відомості

Чисельні методи обчислення визначеного інтегралу ґрунтуються на


його визначенні та геометричній інтерпретації. З геометричної точки зору
визначений інтеграл
b
S  f ( x)dx
a

є площа криволінійної трапеції, обмеженої графіком функції f (x ) та


прямими x  a, x  b .
Розділимо відрізок  a, b  на n рівних частин довжиною h :

ba
h .
n

Надалі h будемо називати шагом чисельного методу.


Тоді координати кінців відрізків поділу визначаються за формулою
xi  x 0  ih ,

де x0  a, i  0,1,..., n . Через кожну точку поділу проведемо пряму


паралельно осі oy , тим самим криволінійну трапецію розіб’ємо на n
частинних криволінійних трапецій.
Найпростіші чисельні методи наближеного обчислення визначеного
інтегралу – це метод лівих прямокутників та метод правих прямокутників.
А: Метод лівих прямокутників одержуємо, коли площу кожної i -
ї частинної криволінійної трапеції замінимо на прямокутник, ширина якого
h , висота дорівнює значенню функції f ( xi ) (надалі це значення будемо
позначати f i ).
Розрахункова формула має вигляд:

S n 1  h( f 0  f1  ...  f n 1 ) .

Для організації циклу краще використати її аналог:


S 0  hf 0  S i  S i 1  hf i , (i  1, ..., n  1) .
(5)
Б: Метод правих прямокутників одержуємо, коли площу кожної
i -ї частинної криволінійної трапеції замінимо на прямокутник, ширина

10
якого h , висота дорівнює значенню функції на правому кінці частинної
криволінійної трапеції.
Розрахункова формула має вигляд:
S n  h( f 1  f 2  ...  f n ) .

Для організації циклу краще використати її аналог:

S 0  hf1 ; S i  S i 1  hf i , (i  1, ..., n) . (6)

В: Метод трапецій. Маємо площу кожної i -ї трапеції з висотою


h та основами f i 1 , f i .
Розрахункова формула має вигляд:

f f f  f2 f  fn 
S n  h 0 1  1  ...  n 1 .
 2 2 2 

Для організації циклу краще використовувати її аналог:

f 0  f1 f  fi
S1  h; S i  S i 1  h i 1 ; (i  2, ..., n) . (7)
2 2

Зауваження: якщо врахувати результати лабораторної роботи 1, то


формулу трапеції ми одержуємо заміною функції f (x) кусочно-лінійною
інтерпретацією з послідуючим інтегруванням.
Г: Метод парабол (формула Сімпсона). Більш висока точність
обчислення інтегралів забезпечується при виконанні кусочно-параболічної
інтерпретації підінтегральної функції f (x) , при цьому відрізок
інтегрування розбивається на парне n  2m число відрізків з кроком

ba
h .
2m

При цьому беремо три точки (вузли інтерполяції). Почнемо з


( x 0 , f 0 ); ( x1 , f 1 ); ( x 2 , f 2 ) .
Здійснюємо локальну квадратичну інтерполяцію
(дивись лабораторну роботу 1) і беремо інтеграл. Тоді площа під
параболою на відрізку  x0 , x 2  дорівнює

1
I0   f 0  4 f1  f 2  h .
3

Беремо наступну пару відрізків  x 2 , x3 ,  x3 , x 4  і повторимо попередні


обчислення:
1
I2   f2  4 f3  f4  .
3

11
Продовжуючи обчислення, знайдемо наближено інтеграл над
останньою парою відрізків  x 2 m  2 , x 2 m 1 ,  x 2 m 1 , x 2 m  :

1
I 2 m2   f 2m 2  4 f 2m 1  f 2 m  .
3

Шукане наближення значення інтегралу на відрізку  a, b одержимо,


коли визначимо суму площин всіх параболічних сегментів
m 1
S 2 m  2   I 2i .
i 0

Після деяких перетворень одержимо формулу Сімпсона:

1
S 2 m2   f 0  4 f1  2 f 2  4 f 3  ...  2 f 2 m2  4 f 2 m1  f 2m  h .
3

Більш зручною для програмування є формула

1
S0   f 0  4 f1  f 2  h; S 2i  S 2i  2  1  f 2i  4 f 2i 1  f 2i  2  h, (i  1,..., m  1) . (8)
3 3

Оцінка похибки

Похибкою чисельного методу (зокрема обчислення інтегралу) є


  S точне  S набл
, але ми точне значення ніколи не знаємо, тому похибку
потрібно оцінити зверху.
Оцінкою похибки називають досить мале число   0 , таке, що    ,
при цьому кажуть, що інтеграл обчислено з точністю  .
Зрозуміло, що похибка залежить від точності чисельного методу та
від кількості частинних відрізків n , на які розбивають відрізок
інтегрування  a, b .
Доведено, що похибка методів лівих та правих прямокутників
пропорційна n 1 , або h . Це записують так:   0(n 1 )  0(h) .
Похибка методу трапецій   0(n 2 )  0(h 2 ) .
Похибка методу Сімпсона   0(n 4 )  0(h 4 ) .
Ці похибки, відповідно, називають похибками першого, другого та
третього порядку.
Зазвичай відрізок  a, b розбивають на таку кількість n частинних
відрізків, щоб забезпечити необхідний порядок або оцінку похибки.
Існують більш складні, але більш конкретні оцінки похибки, а саме:
- для методу трапецій

12
(b  a) 3
  M 2 , де M 2  max f ( x) , (9)
12n 2 a  x b

де f (x) – друга похідна функції f (x ) ;


- для методу Сімпсона

(b  a ) 5
  M 4 , де M 4  max f IV
( x) , (10)
180n 4 a  x b

де f IV (x) – четверта похідна функції f (x) .


На практиці часто для досягнення заданої точності використовують
метод подвійних перерахунків. Обчислення інтегралу починають для
невеликих n , а потім число відрізків, на яке розбивають  a, b , подвоюють,
умовою виходу з циклу є:

S 2n  S n   . (11)

Індивідуальні завдання

1 Обчислити інтеграл запропонованими двома методами (табл. 3).


2 Забезпечити в першому методі заданий порядок похибки.
3 В другому методі забезпечити задану оцінку похибки.
4 Порівняти результати.

Таблиця 3 – Варіанти завдань

Номер Мето
Інтеграл Порядок похибки Оцінка похибки
варіанту д
1 2 3 4 5
1.6
dx
1
0.8
 2x 2  1
А, В 0,01 0,001 (за формулою (7))
2 .7
dx
2 
1 .2 x 2  3.2
Б, Г 0,001 0,01
2
dx
3 
1 2x 2  1.3
А, Г 0,0001 0,001
1 .2
dx
4 
0 .2 x2 1
Б, В 0,01 0,0001

Продовження таблиці 3

Номер Мето
Інтеграл Порядок похибки Оцінка похибки
варіанту д
1 .4
dx
5 
0 .8 2x 2  3
Б, Г 0,001 0,01

13
1.2
dx
6 
0.4 0.5 x 2  2
В, Г 0,001 0,0001 (за формулою (7))
2.1
dx
7
1.4
 3x 2  1
А, В 0,01 0,0001
2.4
dx
8
1.2
 x  0.5
2
А, Г 0,001 0,01
1. 2
dx
9 
0. 4 x2  3
Б, В 0,0001 0,01
1.5
dx
10 
0.6 2x 2  1
Б, Г 0,01 0,0001 (за формулою (7))
3.5
dx
11 
2 x2 1
В, Г 0,001 0,01
1.3
dx
12 
0.5 x2  2
А, В 0,0001 0,01
2.6
dx
13
1.2
 x  0.6
2
А, Г 0,01 0,0001 (за формулою (7))
2. 2
dx
14
1.4
 3x 2  1
Б, В 0,001 0,01
1.8
dx
15 
0.8 x2  4
Б, Г 0,0001 0,01
2 .2
dx
16 
1 .6 x 2  2. 5
В, Г 0,01 0,0001 (за формулою (7))
1.6
dx
17
0.6
 x 2  0.8
А, В 0,001 0,01
2
dx
18
1.2
 x 2  1 .2
А, Г 0,001 0,01
2
dx
19 
1.4 2x 2  0.7
Б, Г 0,0001 0,01
4
dx
20 
3.2 0.5 x 2  1
В, Г 0,01 0,0001
1.7
dx
21 
0.8 2x 2  0.3
А, В 0,001 0,01

Продовження таблиці 3

Номер Мето
Інтеграл Порядок похибки Оцінка похибки
варіанту д
2
dx
22 
1 .2 0.5 x 2  1.5
А, Г 0,0001 0,01
3.6
dx
23 
2.1 x2  3
Б, В 0,01 0,001

14
2.5
dx
24 
1.3 0 .2 x 2  1
Б, Г 0,001 0,01
3.5
dx
25 
2.3 x2  4
В, Г 0,0001 0,01

Лабораторна робота 3
РОЗВ’ЯЗАННЯ НЕЛІНІЙНИХ РІВНЯНЬ f ( x)  0

Ціль роботи – здобути практичні навички розробки алгоритмів і


програм чисельних методів розв’язання нелінійних рівнянь f ( x)  0 .

Теоретичні відомості

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


f ( x)  0 .
Розв’язком рівняння називається таке значення x (корінь рівняння),
при якому f ( x)  0 . Зазвичай точне знаходження коренів рівняння
неможливе, крім деяких спеціальних випадків, які вивчались у школі
(лінійні, квадратичні рівняння та рівняння, що зводяться до них).
Задача знаходження наближеного значення кореня розпадається на
два етапи:
1 Відокремлення коренів
2 Уточнення кореня
Відокремлення коренів – це знаходження відрізка, на якому лежить
цей і тільки цей корінь рівняння.
Для відокремлення коренів корисні дві теореми з математичного
аналізу.
Теорема 1. Якщо функція y  f (x) безперервна на відрізку  a; b та
f (a )  f (b)  0 , то всередині відрізка  a; b існує по меншій мірі один корінь
рівняння f ( x)  0 .
Теорема 2. Якщо функція y  f (x) безперервна на відрізку  a; b
f (a )  f (b)  0 та f (x ) на інтервалі зберігає знак, то всередині відрізка  a; b
існує тільки один корінь рівняння f ( x)  0 .
Для відокремлення коренів використовують також графік функції
y  f (x) . Коренями рівняння є ті значення, при яких графік функції
y  f (x) перетинає вісь абсцис. Якщо побудова графіку функції y  f (x)
викликає складності, то рівняння потрібно привести до вигляду
 1 ( x)   2 ( x) таким чином, щоб графіки функцій y   1 ( x) та y   2 ( x ) були
достатньо простими. Абсциси точок перетину цих графіків і будуть
коренями рівняння.
Уточнення кореня. Припустимо, що корінь рівняння відокремлено і
він знаходиться на відрізку  a; b . Подальше уточнення кореня будемо
знаходити одним із чисельних методів.

15
А: Метод половинного ділення
Описання алгоритму
Припустимо, що f ( a )  f (b )  0 . Поділимо відрізок  a; b навпіл та
ab
знайдемо значення функції f (x ) в точці x . Може статись, що
2
a b a  b
f 0, тоді корінь рівняння знайдено. Якщо ж f  2   0 , то на кінцях
 2   
 a  b a  b 
одного з відрізків a; 2  або  2 ; b  функція буде приймати значення
різних знаків. Позначимо цей відрізок через  a1 ; b1  і відмітимо, що
ba
b1  a1  . Якщо b1  a1   , то будь-яка точка з інтервалу  a1 ; b1  може
2
бути прийнята за наближене значення кореня. Якщо ж b  a   , то 1 1

приймається a  a1 , b  b1 , і продовжується процес ділення відрізка навпіл.


Через деяку скінченну кількість кроків отримують точне значення кореня,
або довжина відрізка  a; b стане меншою за  . В останньому випадку за
наближене значення кореня можна взяти будь-яку точку відрізка  a; b ,
часто беруть його середину.

Б: Метод хорд
Описання алгоритму
Припустимо, що f (a)  f (b)  0 та f (x) , f (x) на інтервалі  a; b
зберігають знак, тобто графік функції y  f (x) монотонний та опуклий,
тоді можна застосовувати метод хорд.
Отримаємо перше наближення. Проведемо через точки A(a, f (a)) та
B (b, f (b)) пряму лінію (хорду), рівняння якої можна записати у вигляді:

xa y  f (a )

ba f (b)  f ( a) .
Одержимо точку перетину хорди з віссю абсцис, припустимо, y  0:

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

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


пошуку кореня.
Б1: Друге наближення розраховується за формулою (12), в
залежності від того, на кінцях якого з відрізків,  a; x1  чи  x1 ; b , функція
приймає значення різних знаків. Якщо f (a)  f ( x1 )  0 , то приймемо b  x1 ,
якщо ні – a  x1 .
Б2: Припустимо, що друга похідна f (x) на інтервалі  a; b має
один знак. Тоді, якщо f ( x)  0 , графік функції y  f (x) опуклий догори та
лежить вище хорди. В цьому випадку точка перетину хорди з віссю абсцис

16
знаходиться між коренем рівняння f ( x)  0 і тим кінцем відрізка  a; b , на
якому значення функції f (x) додатне.
У випадку f ( x)  0 графік функції y  f (x) опуклий донизу і лежить
нижче хорди. В цьому випадку точка перетину хорди з віссю абсцис
знаходиться між коренем рівняння f ( x)  0 та тим кінцем відрізка  a; b , на
якому значення f ( x)  0 .
Таким чином, маємо, що в будь-якому випадку наближене значення
кореня лежить між точним його значенням і тим кінцем відрізка  a; b , в
якому f (x) та f (x) протилежні.
Висновки: якщо відомо (n  1) -е наближення кореня, то його n -е
наближення обчислюється за формулою

xn 
 bf ( x n 1 )  x n1 f (b)
(13)
 f ( x n 1 )  f (b)
у випадку f (a)  f (a)  0 , чи

xn 
 af ( x n1 )  x n 1 f (a)
(14)
 f ( x n1 )  f (a)
у випадку f (b)  f (b)  0 .
Незалежно від того, за якою схемою, (Б1) чи (Б2), будується
алгоритм наближеного розв’язання рівняння, умовою закінчення
обчислень (виходу з циклу) може бути одна з умов:
– мінімізація нев’язки
f ( xn )   , (15)

або
x n  x n 1   . (16)

Більш надійною умовою є:

 x n  x n1  2
. (17)
2 x n 1  x n  x n  2

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

Нехай f (a)  f (b)  0 та f (x) зберігає знак на інтервалі  a; b .


Проведемо дотичну до графіка функції y  f (x) на тому кінці відрізка
 a; b , де знаки f (x) та f (x) співпадають. Рівняння дотичної має вигляд:

y  f (a )  f (a )( x  a) , якщо f ( a) f (a )  0 ;

y  f (b)  f (b)( x  b) , якщо f (a ) f (a )  0 .

17
Знайдемо точку перетину дотичної з віссю абсцис. Приймемо y  0,
тоді:

x1  a  f (a ) / f / (a ) , якщо f (a) f (a)  0 ;

x1  b  f (b) / f / (b) , якщо f (a) f (a)  0 .

Одержане значення x1 приймемо за наближене значення кореня.


Наступні наближення обчислимо за формулою

x n  x n 1  f ( x n 1 ) / f / ( x n 1 ); n  2,3... (18)

Обчислення повторюють до тих пір, доки не виконається одна з умов


(15)…(17), в залежності від того, яку з них обрано за критерій виходу з
циклу.

Г: Комбінований метод

Нехай f (x) зберігає знак на інтервалі  a; b . Було показано, що


уточнення кореня методом хорд та дотичних відбувається з різних сторін:
один з недостачею, другий з надлишком. Комбінований метод полягає у
послідовному застосуванні методу хорд та дотичних.
Якщо, наприклад, f (a) f (a)  0 , то зліва застосовуємо метод
дотичних:

f (a)
a1  a  ,
f (a )

а праворуч – метод хорд:

f (a )
b1  a  (b  a) .
f (b)  f (a )

Припустимо, a  a1 та b  b1 , тоді отримаємо новий відрізок  a; b ,


довжина якого менша за довжину попереднього. Обчислення повторюємо
до тих пір, доки b  a   .
За наближене значення кореня беруть:

x*  a – з недостачею;

x*  b – з надлишком;

ab
x*  – середнє значення.
2

18
Д: Метод ітерацій (метод послідовних наближень)

Замінимо рівняння f ( x)  0 еквівалентним йому рівнянням

x   (x ) . (19)

Це можна зробити, наприклад, так:

x  x  cf (x) ,

де c – константа.
Припустимо, що обрано деяке початкове наближення до кореня x0
рівняння (19).
Визначимо числову послідовність за формулою (задамо ітераційний
процес)

xn 1   ( x n ), n  0,1, 2... . (20)

Теорема про нерухому точку. Якщо на відрізку  a; b , що містить


точку x0 та всі наступні наближення xn , буде виконуватись умова
 ( x )  q  1 , то ітераційний процес сходиться до єдиного на відрізку  a; b
кореня рівняння (19).
Іноді виконання умови збіжності вдається досягти вдалим вибором
константи c .
Вихід із циклу відбувається при виконанні однієї з умов (15)…(17).
Зауваження. На практиці умову  ( x )  1 часто не перевіряють, а
запускають ітераційний процес з заданим числом ітерацій. Якщо збіжність
не відбувається, то шукають рішення при іншому значенні константи c
або взагалі змінюють метод пошуку кореня.

Індивідуальні завдання

1 Відділити корені запропонованого рівняння.


2 Якщо коренів декілька, то уточнити один із них з заданою
точністю  двома вказаними методами.
3 Порівняти результати, зробити перевірку.
Варіанти завдань надані в таблиці 4.

Таблиця 4 – Варіанти завдань

Номер Мето Умова виходу Оцінка похибки


Рівняння 
варіанту д з циклу
1 2 3 4 5
1 x  sin x  0.25 А 4 0,001

19
Б1 5
А 4
2 3 x  cos x  1  0 0,01
Б2 6
А 5
3 x  ln x  0.25 0,001
В 6
Б1 4
4 x 2  4 sin x  0 0,0001
Д 5
Г 4
5 3x  cos x  1  0 0,01
Д 6
В 5
6 3x  e x  0 0,001
Д 6
Б2 4
7 x 2  sin x 0,0001
Д 5
А 4
8 x 3  3x 2  24 x  3  0 0,01
Г 6
А 5
9 2  x  ln x 0,001
Д 6
Г 4
10 x3  4x  6  0 0,01
Д 5
А 4
11 x  cos x  1 0,001
Д 6
Б1 5
12 x 3  sin x 0,01
Д 6
А 5
13 2 x 3  3x 2  12 x  8  0 0,001
Г 6
А 4
14 tg (0.55 x  0.1)  x 2 0,0001
В 5
Продовження табиці. 4

Номер Мето Умова виходу Оцінка похибки


Рівняння 
варіанту д з циклу
А 4
15 e x sin x  1  0 0,001
Д 6
А 5
16 arcsin x  2 x  0.1  0 0,001
Б2 6
Г 6
17 x 2  2 cos x  0 0,01
Д 4
А 5
18 x 2  20 sin x  0 0,001
Б1 4
x В 6
19 ctgx  0 0,001
4 Д 5
А 4
20 x3  4x  6  0 0,0001
Г 5
А 4
21 e x (2  x)  0.5  0 0,001
Г 5
А 5
22 ( x  2) 2  2 x  1 0,001
Б1 4
А 5
23 x 4  3x  2 0,01
Б2 6
А 6
24 2e x  5 x  2 0,001
Д 4

20
А 6
25 x3  2x  4  0 0,001
Д 4

Лабораторна робота 4
МЕТОДИ ЧИСЕЛЬНОГО РОЗВ’ЯЗАННЯ СИСТЕМ
НЕЛІНІЙНИХ РІВНЯНЬ

Ціль роботи – здобути практичні навички розробки алгоритмів і


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

Теоретичні відомості

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


f i ( x1 , x 2 , x n )  0, i  1,..., n;
( x1 , x2 , ..., x n ) .
, (21)

де f i – деякі нелінійні функції.


Якщо ввести позначення X   x1 , x2 , ..., xn  та F   f 1 , f 2 , ..., f n  ,
систему (21) можна записати в матричному вигляді:

F(X )  0 . (22)

Системи нелінійних рівнянь розв’язуються ітераційними методами,


які є узагальненням методів розв’язання одного рівняння f ( x)  0 .

А: Метод простої ітерації

У методі простої ітерації ітераційна формула має вигляд:

X k 1  X k  HF ( X k ), k  0, 1, ..., n . (23)

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


початкової точки X 0 та вектора H  (h1 , h2 , ..., hn ) , де hi – деякі константи.
Зупинимось більш детально на системі двох рівнянь з двома
невідомими:
 f 1 ( x, y )  0,

 f 2 ( x, y )  0. (24)

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


Приведемо систему до вигляду, зручного для застосування методу
простої ітерації та методу Зейделя:
 x  x  h1 f 1 ( x, y ),

 y  y  h2 f 2 ( x , y ), ,

21
Або, позначивши  1 ( x, y )  x  h1 f 1 ( x, y ),  2 ( x, y )  y  h2 f 2 ( x, y ) , одержимо:

x   1 ( x, y ),
y   2 ( x, y ).
(25)

Тоді ітераційна формула в методі простої ітерації має вигляд:

x k 1   1 ( x k , y k ),
y k 1   2 ( x k , y k ), k  0, 1, ..., n.
(26)

X 0  ( x 0 ,y 0 ) – початкове наближення.

Б: Метод Зейделя

Метод Зейделя відрізняється від методу простої ітерації тим, що в


ньому покращення кожного наступного наближення відбувається
покоординатно, а в методі простої ітерації – повекторно. Як правило,
збіжність у методі Зейделя більш висока.
Для системи (25) ітераційна формула за методом Зейделя має вигляд:

x k 1   1 ( x k , y k ),
y k 1   2 ( x k 1 , y k ), k  0, 1, ..., n.
(27)

де X 0  ( x 0 ,y 0 ) – початкове наближення.
Умовою досягнення заданої точності   0 в методах (А) та (Б) є

X k 1  X k  

– збіжність за евклідовою нормою.


Для системи двох рівнянь (25) ця умова матиме вигляд

( x k 1  x k ) 2  ( y k 1  y k ) 2   . (28)

Можна також використати умову мінімізації нев’язки:

f 12 ( x k 1 , y k 1 )  f 22 ( x k 1 , y k 1 )   . (29)

Оскільки достатні умови збіжності ми не розглядали, то, якщо


точність не досягається за задану кількість ітерацій, обчислювальний
процес переривається з повідомленням “точність не досягнуто, рішення не
знайдено”. В цьому випадку потрібно повернутись до системи (24) і
спробувати уточнити X 0  ( x 0 ,y 0 ) – початкову умову, або більш вдало
вибрати H  (h1 , h2 ) .

22
Чисельний розв’язок системи лінійних рівнянь

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


невідомими:
 a11 x1  a1 2 x 2  ...  a1n x n  b

. (30)
1
a   . ..  
 2 1 x1 a 22 x 2 a 2n x n b2

...
 a n1 x1
  a n 2 x 2  . ..  a nn x n  bn

або в матричному вигляді:

A X  B.

З курсу вищої математики відомо, що необхідною і достатньою


умовою розв’язання системи (30) є умова:
det( A)  A  0 . (31)

Якщо умова (31) виконана, то система (30) розв’язується точно,


причому існує декілька методів такого розв’язання (метод Крамера, метод
Гауса, матричний метод та інші).
Недоліком є те, що точний розв’язок можна одержати лише для
систем, в яких кількість рівнянь невелика. Якщо кількість рівнянь велика,
то, поряд з технічними труднощами, виникають похибки обчислень, і
отримують, по суті, наближене рішення.
Будемо розв’язувати лінійну систему алгебраїчних рівнянь (30)
наближено. Тому що лінійна система є частковим випадком нелінійної, до
неї можна застосовувати запропоновані вище методи простої ітерації та
метод Зейделя.

АЛ: Метод простої ітерації для системи лінійних алгебраїчних


рівнянь

Приведемо систему A  X  B до вигляду

X C X  D.

Запишемо детально цю систему для трьох рівнянь:


 x1  c11 x1  c12 x 2  c13 x 3  d1

x2
x
 3
 c 2 1 x1
 c 31 x1
 c 22 x 2
 c 32 x 2
 c 23 x 3
 c 33 x3 
 d 2
d 3 . (32)

Метод простої ітерації для системи (32) має вигляд:

x1( k 1)  c11 x1( k )  c12 x2( k )  c13 x3( k )  d1 ,


x 2( k 1)  c 21 x1( k )  c 22 x2( k )  c23 x3( k )  d 2 , (33)
x3( k 1)  c31 x1( k )  c32 x 2( k )  c33 x3( k )  d 3 , k  0,1, ..., n.

23
За початкове наближення можна взяти будь-яку точку, але зазвичай
беруть:

 d1 
 
X 0  d2  . (34)
d 
 3

БЛ: Метод Зейделя для системи лінійних рівнянь

Метод Зейделя для системи (32) має вигляд:

x1( k 1)  c11 x1( k )  c12 x 2( k )  c13 x3( k )  d1 ,


x2( k 1)  c21 x1( k 1)  c22 x 2( k )  c 23 x3( k )  d 2 , (35)
x3( k 1)  c31 x1( k 1)  c32 x 2( k 1)  c33 x3( k )  d 3 , k  0,1, ..., n.

За початкову умову також можна взяти формулу (34).


Для системи (30) методи простої ітерації та Зейделя збігаються при
виконанні умови:

a ii   a ij , i  1, n
i j
. (36)

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


більші за суму модулів всіх інших коефіцієнтів цього рівняння.
Для системи лінійних рівнянь у вигляді (32) достатньою умовою
збіжності є одна з умов:
n

c
j 1
ij  1, i  1, n;

c
i 1
ij  1, i  1, n; (37)
n n 2


i 1 j 1
c ij  1.

Якщо система у вигляді (30) не задовольняє умові збіжності, то її


можна привести до еквівалентної системи рівнянь, що буде задовольняти
умові збіжності. Це роблять шляхом додавання та віднімання рівнянь
системи.
Приклад. Дана система рівнянь:
 4.5 x1  1.8 x  3.6 x 3  1.7;

.
2

3.1x1  2.3 x 2  1.2 x 3  3.6;
1.8 x1  2.5 x  4.6 x 3  2.2.
 2

24
Привести систему до вигляду, в якому елементи головної діагоналі
були б більші за модулем, ніж інші елементи (умова (36)).
Зробимо перетворення:
7.6 x1  0.5 x 2  2.4 x 3  1.9; (I  II )

2.2 x1  9.1x 2  4.4 x 3  9.7; ( 2 III  II  I )

 1.3 x1  0.2 x 2  5.8 x 3  1.4; ( III  II ).

 1
 x1  ( 0.5 x 2  2.4 x 3  1.9);
7.6

 1
x2  ( 2.2 x 2  4.4 x 3  9.7 );
 9.1
 1
 x3  (1.3 x 2  0.2 x 3  1.4).
 5.8

Тепер можна застосовувати методи (АЛ) та (БЛ).

Індивідуальні завдання

Завдання 1. Запропонованим методом (табл. 5) розв’язати систему


нелінійних рівнянь, обравши в якості початкового наближення точку X 0 .
За точність обчислень виберіть   10 4 . Зробіть перевірку. Спробуйте
змінити початкову умову та знайти інше рішення системи.

Таблиця 5 – Варіанти завдань

Умова
Номер Початкова Мето
Система рівнянь досягнення
варіанту точка д
точності
1 2 3 4 5

x  e
x
cos y  1
1 

y  e
x
sin y  1 (-0,9;1,4) 8 А

 x  0.25( x
2
 y2 )  x2 y 2
 0.5
2 

 y  xy ( x
2
 y 2 )  0 .5 (1;1) 8 Б

 x  x /( x
2
 y 2 )  0 .4
3 

 y   y( x
2
 y 2 )  1.4 (1;1) 9 Б
 x  x 2  0.8 y 2
 0.1
4 
 y  2 xy  0.1 (0;0) 8 Б
x  x 2  y 2  0.1
5 
y  2 xy  0.1 (0;0) 9 А
x  x 2  y 2  0 .1
6 
y  2 xy  0.1 (0;0) 9 Б
 x  x 2  y 2  0.1
7 
 y  2 xy  0.1 (0;0) 8 Б
Продовження таблиці 5

1 2 3 4 5

x  1  e
x
cos y
8 

y  e
x
sin y  1 (0,9;1,4) 8 Б
 x  x 2  y 2  0.1
9 
 y  2 xy  0.1 (0;0) 9 А

 x  x /( x
2
 y 2 )  0.4
10 

 y  (1  y ) /( x
2
 y2) 1 (1;1) 9 А

x  x y
2 2
 0.25( x 2  y 2
) 2  0.5
11 

 y  xy ( y 2
 x 2 )  0.5 (-0,5;0,5) 9 А

 x  x /( x
2
 y 2 )  0.4
12 

 y  1.4  y /( x
2
 y2 ) (-1;1) 9 Б

x   x
2
 0.8 y 2  0.1
13 

y  y
2
 x 2  0.1 (0;0) 9 А
x   x 2  y 2  0.1
14 
y  2 xy  0.1 (0;0) 8 А
x   x 2  y 2  0 .1
15 
y  0.1  2 xy (0;0) 9 Б
 x   x 2  y 2  0.1
16 
 y  2 xy  0.1 (0;0) 8 Б
 x   x 2  y 2  0.1
17 
 y  2 xy  0.1 (0;0) 9 А

25

 x  x /( x
2
 y 2 )  0. 4
18 

y  e
x
sin y  1 (-1;1) 8 А

 x  1  e
x
cos y
19 

y  e
x
sin y  1 (-0,9;-1,4) 9 А

 xy
2
 1  0
20 

y  e
x
 0 (0,5;-1,5) 8 Б

 xy
2
 1  0
21 

y  e
x
 0 (0,5;1,5) 9 А
1  x 2  e y
 0
22 
 xy  1  0 (2;2) 9 А

x
2
y  1  0
23 

x  e
y
 0 (1,5;0,5) 8 Б
1  y 2  e x
 0
24 
 xy  1  0 (-2;2) 8 Б
Продовження таблиці 5

1 2 3 4 5
1  y 2  e  x  0
25 
 y  tgx  0 (0;1) 9 Б

Завдання 2. Запропонованим методом розв’язати систему лінійних


рівнянь з точністю 0,001. Спочатку привести систему до зручного для
ітерацій вигляду. Варіанти завдань наведені в таблиці 6.

Таблиця 6 – Варіанти завдань

Номер варіанту Система рівнянь Умова досягнення точності Метод


1 2 3 4
 2.7 x1  3.3 x 2  1.3 x 3  2.1

1 
3.5 x1

 4.1x1
 1.7 x 2
 5.8 x 2

8
2.8 x 3
 1.7 x 3
 1.7

БЛ
0.8
3.1x1  2.8 x  1.9 x 3  0 .2

2 9 БЛ
2

1.9 x1  3.1x 2  2.1x 3  2.1
7.5 x  3.8 x 2  4.8 x 3  5.6
 1

9.1x1  5.6 x 2  7.8 x 3  9.8

3 
3.8 x1

 4.1x1


5.1x 2
5.7 x 2
 2.8 x 3
 1.2 x 3
9 

6.7
5.8
АЛ
1.7 x1  2.8 x  1.9 x 3  0. 7

4 9 АЛ
2

2.1x1  3.4 x 2  1. 8 x 3  1.1
 4. 2 x  1.7 x  1.3 x 3  2.8
 1 2

3.3 x1  2.1x 2  2. x 3  0.8

5 
 4.1x1

 2.7 x1
 3.7 x 2
 1.8 x 2
 4.8 x 3
 1.1x 3  3.2
8
 5.7
БЛ
3.2 x1  2.5 x  3.7 x 3  6.5

6 8 БЛ
2

0.5 x1  0.34 x 2  1.7 x 3  0.24
1.6 x1  2.3 x 2  1.5 x 3  4.3

3.6 x1  1.8 x 2  4.7 x 3  3.8

7 
 2.7 x1

1.5 x1
 3.6 x 2
 4.5 x 2
 1.9 x 3
 3.3 x 3
8 

0.4
1.6
БЛ
 2.4 x1  3.7 x  8.3 x 3  2.3

8 9 БЛ
2

1.8 x1  4.3 x 2  1.2 x 3  1.2
3.4 x  2.3 x 2  5.2 x 3  3.5
 1

Продовження таблиці 6

Номер варіанту Система рівнянь Умова досягнення точності Метод


2.4 x1  2.5 x 2  2.9 x 3  4.5

9 
0.8 x1

1.5 x1


3.5 x 2
2.3 x 2
 1.4 x 3
 8.6 x 3
8  3.2
 5.5
АЛ
1.5 x1  2.3 x  3.7 x 3  4.5

10 9 АЛ
2

 2.8 x1  3.4 x 2  5.8 x 3  3.2
1.2 x1  7.3 x 2  2.3 x 3  5.6

3.7 x1  2.3 x 2  4.5 x 3  2.4

11 
2.5 x1

1.6 x1


4.7 x 2
5.3 x 2
 7.8 x 3
 1.3 x 3 
8
 3.5
2.4
АЛ
3.2 x1  11 .5 x  3.8 x 3  2.8

12 9 БЛ
2

0.8 x1  1.3 x 2  6.4 x 3  6.5
   1.2 x 3 
 2.4 x1 7.2 x 2 4.5
5.4 x1  2.4 x 2  3. x 3  5.5

13 
0.8 x1
2.4 x
 1
 1.3 x 2
 7.2 x 2
 6.4 x 3
 1.2 x 3


86.5
4.5
БЛ
5.4 x1  2.4 x  3.8 x 3  5.5

14 9 БЛ
2

 2.5 x1  6.8 x 2  1.1x 3  4.3
  0.6 x 2  1.5 x 3  3.5
 2.7 x1
0.9 x1  2.7 x 2  3.8 x 3  2.4

15 
 2.5 x1
 4.5 x
 1


5.8 x 2
2.1x 2


0.5 x 3
3.2 x 3
8 

3.5
1.2
БЛ
6.3 x1  5.2 x  0.6 x 3  1.5

16 9 АЛ
2

3.4 x1  2.3 x 2  3.4 x 3  2.7
  1.4 x 2  3.5 x 3  2.3
0.8 x1
 4.1x1  5.2 x 2  5.8 x 3  7.0

17 
3.8 x1
7.8 x
 1
 3.1x 2
 5.3 x 2
 4.0 x 3
 6.3 x 3
8 

5.3
5.8
АЛ

26
7.1x1  6.8 x  6.1x 3  7.0

18 9 БЛ
2

5 x1  4.8 x 2  5.3 x 3  6.1
  7.8 x 2  7.1x 3  5.8
8.2 x1
 2.8 x1  3 .8 x  3.2 x 3  4.5

19 8 БЛ
2

 2.5 x1  2.8 x 2  3 .3 x 3  7 .1
6.5 x  7.1x 2  4.8 x 3  6 .3
 1

3.8 x1  4.1x 2  2.3 x 3  4.8

20 
  2.1x1

1.8 x1
 3.9 x 2
 1.1x 2
 5.8 x 3
 2.1x 3 

5.8
3.3
9 БЛ
Продовження таблиці 6

Умова досягнення Мето


Номер варіанту Система рівнянь
точності д
5.4 x1  6 .2 x  0.5 x 3  0.52

21 8 БЛ
2

3.4 x1  2.3 x 2  0.8 x 3  0.8
  1.1x   1.8
 2.4 x1 2 3 .8 x 3
 4.5 x1  3 .5 x  7 .4 x 3  2.5

22 9 АЛ
2

3.1x1  0.6 x 2  2.3 x 3  1.5
0.8 x  7.4 x  0.5 x 3  6 .4
 1 2

5.6 x1  2 .7 x  1 .7 x 3  1 .9

23 8 АЛ
2

3.4 x1  3.6 x 2  6.7 x 3  2.4
  1 .3 x 2  3 .7 x 3  1 .2
0.8 x1
5.4 x1  2 .3 x  3 .4 x  3.5

24 9 БЛ
2 3

 4.2 x1  1 .7 x 2  2 .3 x 3  2 .7
3.4 x  2 .4 x  7 .4 x  1 .9
 1 2 3

7.6 x1  5.8 x 2  4.7 x 3  10.1

25 
3.8 x1

 2.9 x1


4.1x 2
2.1x 2
 2.7 x 3
 3.8 x 3
9 

9.7
7.8
АЛ

Лабораторна робота 5
ЧИСЕЛЬНЕ РОЗВ’ЯЗАННЯ ЗВИЧАЙНИХ ДИФЕРЕНЦІЙНИХ
РІВНЯНЬ

Ціль роботи – здобути практичні навички розробки алгоритмів і


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

Теоретичні відомості

Задача Коші для диференційного рівняння першого порядку має


вигляд:
 y   f ( x, y )

 y( x0 )  y 0 . (38)

Розв’язати диференційне рівняння (38) – це значить знайти на


відрізку  x 0 , a  функцію y  y (x) , яка при підстановці її в рівняння та
початкову умову перетворює їх в тотожність.
Типи рівнянь, для яких можна знайти точне рішення, охоплюють
невелику частину задач, які виникають на практиці. Тому потрібні
чисельні методи розв’язання задачі Коші (38).
Загальний підхід до чисельного розв’язання диференційних рівнянь
– це розбити відрізок  x 0 , a  на частинні відрізки точками x  x  ih, i  1, n ,i 0

потім на кожному частинному відрізку замінити похідну деяким її


різницевим наближенням та одержати замість диференційного рівняння
систему кінцево-різницевих рівнянь. Розв’язавши цю систему, одержимо
систему точок ( x 0 , y 0 ), ( x1 , y1 ), ..., ( x i , y i ), ..., ( x n , y n ) . Чисельним розв’язком
є ламана лінія, що з’єднує ці точки.

А: Метод Ейлера

27
y y
На частинному відрізку  x i , x i 1  замінимо y ( xi )  i 1 i , одержимо
h
y i 1  y i
 f ( xi , y i ) , звідки
h

 xi 1  xi  h

 y i 1  y i  hf ( xi , y i ), i  1, n . (39)

Формула (39) описує реалізацію методу Ейлера.


Цей метод має перший порядок точності (порядок апроксимації).
Його похибка дорівнює   kh 2 , або, що те ж саме,   0(h 2 ) .

Б: Полагоджений метод Ейлера

В практичних обчисленнях частіше застосовується модифікований


метод Ейлера.
На частинному відрізку  x i , x i 1  замінимо похідну на середнє
арифметичне похідних (нахилів) на кінцях відрізка і одержимо
розрахункову формулу полагодженого методу Ейлера:
 xi 1  xi  h




h
y i 1  y i   f ( x i , y i )  f ( xi  h, y i  f ( xi , y i ))
2
.

При програмуванні краще використовувати більш поетапну


модифікацію цієї формули:

. (40)
 xi 1  xi  h

 y i 1  y i  f ( xi , y i )

 y i 1  y i 

h
2
f ( xi , y i )   f ( xi 1 , y i 1 ) ,  i  1, n

Метод має другий порядок точності, його помилка апроксимації


дорівнює   0(h 3 ) .

В: Модифікований метод Ейлера

У модифікованому методі похідну на частинному відрізку  x i , x i 1 


замінюють нахилом в середній точці відрізка. Рекурентні співвідношення
мають вигляд:
 xi 1  x i  h





h
 y i 1  y i  h  f ( x i  2 , y i 
hf ( xi , y i ) 
2 , i  1, n

. (41)

Цей метод також має другий порядок точності з помилкою


апроксимації   0(h 3 ) .

Г: Метод Рунге – Кутта четвертого порядку

На практиці найбільш часто використовують саме цей метод, що


описується системою співвідношень:

28
 x i 1  xi  h

 k1  hf ( xi , yi )
  h k1 
k 2  hf  xi  , yi  
  2 2 

  h k 2 
k 3  hf  xi  , yi  
  2 2 
k 4  hf  xi  h, yi  k 3 

1
 y
 i 1  yi   k1  2k 2  2k 3  k 4 , i  1, n
 6

. (42)

Помилка апроксимації методу   0(h 5 ) , тому його називають


методом Рунге – Кутта четвертого порядку.

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

Слід відзначити: наближеним рішенням є функція, яка задана


множиною точок ( x 0 , y 0 ), ( x1 , y1 ), ..., ( x i , y i ), ..., ( x n , y n ) . Це означає, що
похибку потрібно оцінювати для кожної з цих точок.
Для практичної оцінки похибки в точці  x i , y i  використовують
правило Рунге подвійного перерахунку:
y h ( xi )  y h / 2 ( xi )
i  ,
2p 1

де y h ( xi ) та y h / 2 ( x i ) – наближені рішення, обчислені в точці xi з кроком h


та h / 2 ; p – точність чисельного методу.
Для методу Ейлера p  1 :

 i  y h ( x i )  y h / 2 ( xi ) . (43)

Для полагодженого та модифікованого методів Ейлера p2:

y h ( xi )  y h / 2 ( xi )
i  . (44)
3

Для методу Рунге – Кутта p4:

yh ( xi )  yh / 2 ( xi )
i  . (45)
15

Знайти наближене рішення з заданою точністю   0 – це значить


підібрати такий крок hi , щоб виконувалась умова

max  i   . (46)
1 i  n

На практиці діють одним з двох способів.


1 Забезпечення точності з постійним кроком ( hпост )
Вибирають деякий досить малий крок h . В кожній точці роблять
подвійний перерахунок з кроками h / 2 та h і оцінюють похибку.

29
Якщо умова (46) не виконується, то за нове h беруть h / 2 і
повторюють подрібнення кроку до тих пір, доки умова (46) не буде
виконана.
2 Забезпечення точності з автоматичним вибором кроку( h змін )
Вибирають деякий досить малий крок h . В першій точці роблять
подвійний перерахунок з кроками h / 2 та h і оцінюють похибку.
Величину подальших кроків вибирають за одним з двох правил:
0.5hi , якщо   ;
hi 1 

 hi , якщо

1.5hi , якщо
/ 10 






/ 10.
;
(47)

(правило трьох зон),


0.5hi , якщо    ;

hi 1  

hi
p 1
 /  , якщо   . (48)

Якщо невдалим був вже перший крок, то його зменшують (перший


крок повинен завжди бути вдалим).

Індивідуальні завдання

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


 y   f ( x, y )

 y( x0 )  y 0 .

На відрізку  x 0 , a  забезпечити точність розв’язку   0.01 .


Побудувати графік наближеного розв’язку. Варіанти завдань наведені в
таблиці 7.

Таблиця 7 – Варіанти завдань

Номер Спосіб забезпечення точності


f ( x, y ) x0 y0 a Мето
варіанту д (1- hпост ; 2- hзмін )
1 2 3 4 5 6 7
3x 2
1 1 0 2 А 1
x3  y  1
y
2 0 2 3 Б 2
1 x
2x
3 y 0 1 1 В 1
y
2y
4 x3  1 2 3 Г 2
x
y
5 4 1 6 А 1
2 x
y  x2  y2
6 1 0 2 Б 1
x
y2 y
7 2
 1 1 3 В 2
x x

30
x  1  y3
8 1 -1 3 Г 2
3y 2
xy 2  xy
9 0 0 3 А 1
1 x2
2 xy
10 1 1 2 Б 2
3x  y 2
2

Продовження таблиці 7

1 2 3 4 5 6 7
1 y2
11 1 1 4 В 1
xy
y2
12  4 1 6 Г 2
2x  1
x  y2
2
13 1 1 2 А 1
10
14 x 2  xy 3 0 0 3 Б 2
15 xy  1 0 0 2 В 2
16 x  xy  y 2
2
0 0 3 А 2
17 2 xy 3  1 0 0 2 Г 1
x2  y2
18 2 3 3 Б 1
12
4x 2  y 2
19 0 -1 2 А 2
4
20 xy  2 1 2 3 Б 1
21 y3  x3 0 1 2 В 2
x 2  3y 2
22 2 0 5 Г 1
4
23 x2  y3 0 0 2 А 1
24 x y 2
0 1 3 Б 2
25 2x  y 2 0 0 2 В 1

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

1 Иванов, В.В. Методы вычислений на ЭВМ / В. В.  Иванов. –


Киев : Наукова думка, 1986. – 583 с.
2 Бахвалов, Н.С. Численные методы / Н. С.  Бахвалов,
Н. П. Житков, Г. М. Кобельков. – М. : Лаборатория базовых знаний, 2001.
– 598 с.
3 Бахвалов, Н.С., Численные методы в задачах и упражнениях /
Н. С. Бахвалов, А. В. Лапин, Е. В. Чижонков. – М. : Высшая школа, 2000. –
348 с.
4 Поршнев, С.В. Численные методы на базе MathCad /
С. В. Поршнев, И. В. Беленкова. – СПб. , 2005. – 450 с.

31
Навчальне видання

ЧИСЕЛЬНІ МЕТОДИ В ІНФОРМАТИЦІ

Методичні вказівки
до виконання контрольної роботи

(для студентів 4-го курсу спеціальності


7.080404 «Інтелектуальні системи прийняття рішень»
заочної форми навчання)

Укладачі: ЧОРНОМАЗ Володимир Миколайович


ШЕВЧЕНКО Наталя Юріївна

Редактор О. О. Дудченко
Комп’ютерна верстка О. П. Ордіна

332/2008 Підп. до друку Формат 60х84/16.


Папір офсетний. Ум. друк. арк. Обл.-вид. арк.
Тираж прим. Зам. №

Видавець і виготівник
«Донбаська державна машинобудівна академія»
84313, м. Краматорськ, вул. Шкадінова, 72
Свідоцтво про внесення суб’єкта видавничої справи до державного реєстру
серія ДК № 1633 від 24.12.2003

32

You might also like