«ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/mmm/mmm_lb.pdf0.11)...

78
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ КРЕМЕНЧУЦЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ ІМЕНІ МИХАЙЛА ОСТРОГРАДСЬКОГО ІНСТИТУТ ЕЛЕКТРОМЕХАНІКИ, ЕНЕРГОЗБЕРЕЖЕННЯ І СИСТЕМ УПРАВЛІННЯ МЕТОДИЧНІ ВКАЗІВКИ ЩОДО ЛАБОРАТОРНИХ РОБІТ З НАВЧАЛЬНОЇ ДИСЦИПЛІНИ «ЧИСЕЛЬНІ МЕТОДИ» ДЛЯ СТУДЕНТІВ ДЕННОЇ ТА ЗАОЧНОЇ ФОРМИ НАВЧАННЯ СПЕЦІАЛЬНОСТІ 151 – «АВТОМАТИЗАЦІЯ ТА КОМП’ЮТЕРНО- ІНТЕГРОВАНІ ТЕХНОЛОГІЇ» КРЕМЕНЧУК 2018

Upload: others

Post on 31-Jul-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

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

КРЕМЕНЧУЦЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ

ІМЕНІ МИХАЙЛА ОСТРОГРАДСЬКОГО

ІНСТИТУТ ЕЛЕКТРОМЕХАНІКИ, ЕНЕРГОЗБЕРЕЖЕННЯ

І СИСТЕМ УПРАВЛІННЯ

МЕТОДИЧНІ ВКАЗІВКИ

ЩОДО ЛАБОРАТОРНИХ РОБІТ

З НАВЧАЛЬНОЇ ДИСЦИПЛІНИ

«ЧИСЕЛЬНІ МЕТОДИ»

ДЛЯ СТУДЕНТІВ ДЕННОЇ ТА ЗАОЧНОЇ ФОРМИ НАВЧАННЯ

СПЕЦІАЛЬНОСТІ 151 – «АВТОМАТИЗАЦІЯ ТА КОМП’ЮТЕРНО-

ІНТЕГРОВАНІ ТЕХНОЛОГІЇ»

КРЕМЕНЧУК 2018

Page 2: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

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

«Математичні методи моделювання» для студентів денної та заочної форми

навчання спеціальності 151 – Автоматизація та комп’ютерно-інтегровані

технології.

Укладачі: д.т.н., проф. О. П. Чорний,

старш. викл. Н. М. Істоміна

к.т.н., старш. викл. В. В. Ченчевой,

старш. викл. О. А. Хребтова

Рецензент к. т. н., доц. Ю. В. Зачепа

Кафедра систем автоматизованого управління та електропривода

Затверджено методичною радою Кременчуцького національного

університету імені Михайла Остроградського

Протокол № «____»від «_____» _________ 2018 р.

Голова методичної ради______________ проф. В. В. Костін

Page 3: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

ЗМІСТ

Вступ ............................................................................................................................. 3�

Перелік лабораторних робіт ....................................................................................... 5�

1.� Лабораторна робота №1 Знайомство з прикладним пакетом «Mathcad» ............. 5�

2.� Лабораторна робота №2 Розв’язування систем лінійних алґебраїчних

рівнянь ........................................................................................................................ 13�

3.� Лабораторна робота №3 Розв’язування нелінійних рівнянь та їх систем .......... 20�

4.� Лабораторна робота №4 Інтерполяція функцій .................................................... 30�

1.� Лабораторна робота №5 Апроксимація функцій .................................................. 37�

1.� Лабораторна робота №6 Обчислення визначених інтеґралів .............................. 49�

1.� Лабораторна робота №7 Розв’язування диференціальних рівнянь та їх

систем ......................................................................................................................... 61

1.� Критерії оцінювання знань студентів...................................................................... 75�

Список літератури ..................................................................................................... 76�

Page 4: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

ВСТУП

Навчальна дисципліна «Математичні методи моделювання» лежить в

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

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

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

загального призначення, а також для проектування, моделювання та

дослідження електромеханічних систем.

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

отриманих на лекціях, та оволодіння навичками застосування математичних

методів в обчисленнях на ЕОМ, необхідних для: розв’язування лінійних,

нелінійних рівнянь та їх систем; проведення інтерполяції та апроксимації

таблично заданих функцій; обчислення визначених інтегралів; розв’язування

диференціальних рівнянь та їх систем; виконання самостійних робіт з

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

навчальної дисципліни «Чисельні методи».

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

розв’язування, приклади виконання завдань та контрольні питання для

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

рівнянь та їх систем, інтерполяції функцій.

Міждисциплінарні зв’язки: «Фізика», «Вища математика», «Комп’ютерні

технології та програмування», «Теоретичні основи електротехніки», забезпечує

засвоєння навчальних курсів – «Теорія автоматичного керування»,

«Моделювання електромеханічних систем», «Системи керування

електроприводами» тощо.

Згідно з вимогами освітньо-професійної програми студенти повинні

знати:

– основні числові методи та особливості їх застосування;

уміти:

Page 5: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

– вибирати та обґрунтовувати використання на практиці числових

методів стійких до похибок і найбільш ефективних під час їх практичної

реалізації на ЕОМ;

– досліджувати обчислювальні алгоритми, виявляти їх переваги та

недоліки;

– вибирати оптимальні алгоритми розв’язання науково-технічних задач,

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

даних спеціального та загального використання.

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

розв’язування, приклади виконання завдань і контрольні питання для

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

їх систем, інтерполяції функцій.

Звіт з практичного заняття повинен містити:

1. Титульну сторінку.

2. Тему, мету роботи, лістинґ проведених розрахунків з поясненнями.

3. Висновки.

Page 6: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

ПЕРЕЛІК ЛАБОРАТОРНИХ РОБІТ

Лабораторна робота №1

Тема. Знайомство з прикладним пакетом «Mathcad»

Мета: вивчення основних засобів пакета Mathcad, що застосовуються для

розв’язування задачі, графічного та табличного зображення результатів, роботи

з матрицями, інтегралами, похідними тощо.

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

Пакет Mathcad компанії Mathsoft є одним з найбільш популярних

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

програмного забезпечення.

Mathcad – це програмне середовище для розв’язування задач,

математичний редактор, що дозволяє проводити різноманітні наукові та

інженерні розрахунки. Робота пакета значною мірою є результатом виконання

вбудованих алгоритмів, що не доступні погляду користувача.

За допомогою цього пакета можна виконувати не лише прості та

допоміжні обчислення, але й доволі складні розрахунки і наукові дослідження,

які використовують комбінації різних числових алгоритмів та аналітичних

перетворень.

Вікно пакета має ту саму структуру, що й більшість програм Windows

(рис. 0.1).

Рисунок 0.1 – Зовнішній вигляд програми Mathcad

Page 7: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Рисунок 0.3

Рисунок 0.2

Рисунок 0.6

Рисунок 0.4

Рисунок 0.5

Окрім елементів керування, притаманних

типовому текстовому редактору, Mathcad має

допоміжні засоби введення та редаґування

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

інструментів Math (Математика, рис. 0.2).

Панель Math призначена для виклику на екран 9 панелей:

1. Панель Calculator (Калькулятор, рис. 0.3)

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

синус, косинус, тангенс, натуральний та десятковий

логарифми, факторіал, комплексні числа, модуль числа,

корінь, експонента, вставка дужок, піднесення до степеня,

число π тощо.

2. Панель Graph (Графік, рис. 0.4) призначена для

вставки графіків у системі координат Декарта (X-Y Plot),

полярній (Polar Plot), побудови тривимірних графіків (Surface

Plot – тривимірна поверхня, Contour Plot – лінії рівня, 3D Bar

Plot – тривимірна гістограма, 3D Scatter Plot – тривимірна

множина точок, Vector Field Plot – векторне поле), зміни

масштабу зображення (Zoom) та відстеження координат точок,

що належать побудованому графіку (Trace).

3. Панель Matrix (Матриця, рис. 0.5) призначена для

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

матриці, отримання оберненої матриці, визначника,

векторизації, вибірки за зазначеним стовпцем, транспонованої

матриці, задання інтервалу, алґебраїчного та векторного

добутку, суми елементів матриці.

4. Панель Evaluation (Вирази, рис. 0.6) призначена для

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

операторів числового одержання результату, присвоєння,

глобального присвоєння, символьного одержання результату.

Page 8: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Рисунок 0.9

Рисунок 0.7

Рисунок 0.8

5. Панель Calculus (Обчислення, рис. 0.7)

призначена для вставки операторів інтеґрування,

диференціювання, підсумовування, за її допомогою можна

задавати похідну довільного порядку, визначений та

невизначений інтеграл, суму та добуток елементів, межі.

6. Панель Boolean (Булеві оператори, рис. 0.8)

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

рівності, більше, менше, більше або дорівнює, менше або

дорівнює, нерівності, заперечення, логічного «і», «або»,

«або, що виключає».

7. Панель Programming (Програмування, рис.

0.9) призначена для програмування засобами Mathcad;

дозволяє створювати цикли з операторами «локального

присвоєння», «якщо», «інакше», «для», «доки»,

«розрив», «продовження», «повернення», «реакція на

помилку».

8. Панель Greek (Грецькі символи, рис. 0.10) призначена для введення

малих та великих літер грецького алфавіту.

Рисунок 0.10

Рисунок 0.11

9. Панель Symbolic (Символіка, рис. 0.11) призначена для вставки

символьних операторів: символьне одержання результату, обчислення з

плаваючою точкою (float), запис у комплексному вигляді (complex), спрощення

математичного виразу (simplify), підстановка змінної (substitute), розкладення

Page 9: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

на множники (factor), розкладення функції (expand), обчислення коефіцієнтів

полінома (coeffs), розкладення функції в ряд за декількома змінними (series),

розкладення на прості дроби (parfrac), пряме та обернене перетворення Фур’є

(fourier, invfourier), пряме та обернене перетворення Лапласа (laplace,

invlaplace), пряме та обернене Z-перетворення (ztrans, invztrans).

Завдання для розрахунку

1. Задати функції ( )xf1

, ( )xf2

(згідно з табл. 0.1) та змінні xi й xh ,

відповідно за допомогою інтервалу й кроку. Побудувати в одній площині

графіки залежностей ( )xf1

, ( )xif1

, ( )xhf1

, задати сітку, тип та колір лінії для

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

суми, різниці, добутку та частки функцій ( )xf1

та ( )xf2

; а також вирази

перетворення Лапласа, Фур’є та Z- перетворення для функції ( )xf1

.

Таблиця 0.1 − Варіанти функцій

варіанта Функції

варіанта Функції

1 2 1 2

1 ( ) xxxf +=2

1

,

( ) ( )xcosxxf ⋅=2

2 ( ) ( )xtgxf =1

,

( ) ( )22

20 x.cosxf ⋅=

3 ( ) xxf =1

,

( ) ( )xcosxxf ⋅=2

2

4 ( ) xexf =1

,

( ) ( )xcosxxf ⋅=3

2

5 ( ) 2

1

xxf = ,

( ) ( )xcosxxf 2

2

⋅=

6 ( ) 3

1

xxf = ,

( ) ( )xsinxxf ⋅=2

2

7 ( )

22

1

2

1

+⋅−

=

xxxf ,

( )x

xf1

2

=

8 ( )

( )xsinxf

1

1

= ,

( )2

2

1

xxf =

9 ( )2

21

xxf = ,

( ) ( )xcosxxf 3

2

⋅=

10 ( ) ( )xlnxf =1

,

( ) ( )xsinxxf ⋅=2

Page 10: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Подовження табл. 0.1

1 2 1 2

11 ( ) ( )11

+= xlnxf ,

( ) ( )xsinxxf ⋅=3

2

12 ( ) ( )xsinxxf =1

,

( ) ( )xsinxxf 2

2

⋅=

13 ( ) ( ) xxlnxf +=1

,

( ) ( )xsinxxf 3

2

⋅=

14 ( ) ( )21

xlnxf = ,

( ) ( )xarctgxxf ⋅=2

15 ( ) ( )xtgexf =1 ,

( ) ( )xarcsinxxf ⋅=2

16 ( ) ( )xsinexf =1

,

( ) ( )xarccosxxf ⋅=2

17 ( ) ( )xarccosxf =1

,

( ) xexxf ⋅=2

18 ( ) ( ) xxsinxf −=1

,

( ) ( )12

2

++= xxlnxf

19 ( ) ( )xarcsinxf =1

,

( ) ( )xsinexxf ⋅=2

20 ( ) ( )xarctgxf 3

1

= ,

( ) ( ) ( )xsinxxlnxf ++−= 12

2

21 ( ) ( )xarctgxf =1

,

( ) ( )12

2

+−= xxlnxf

22 ( ) ( )xcosxf =1

,

( ) ( )xlnxxf ⋅=2

23 ( ) ( )xcosxf 3

1

= ,

( ) ( ) xxxlnxf ++−= 12

2

24 ( ) ( )21

20 x.sinxf ⋅= ,

( ) ( )142

2

+⋅−= xxlnxf

25 ( ) ( )xtgxf 2

1

= ,

( ) ( ) ( )xsinxcosxf ⋅−= 22

26 ( ) ( )xarcsinxf 3

1

= ,

( ) ( ) ( )22

xxsinxcosxf −−=

27 ( ) ( )xsinxf 2

1

= ,

( ) ( )xsinxxf ⋅+= 102

2

28 ( ) ( )xcosxf 2

1

= ,

( ) ( )22

20 x.arctgxf ⋅=

29 ( ) ( ) ( )xlnxsinxf −=1

,

( ) ( )22

20 x.arccosxf ⋅=

30 ( ) ( )xsinxf =1 ,

( ) ( )22

20 x.arcsinxf ⋅=

2. Задати матрицю за формулою (0.1), вивести значення елемента

матриці 11,

A , обчислити визначник, знайти транспоновану та обернену матриці,

зробити вибірки за стовпцями матриці A , обчислити суму елементів у кожному

стовпці, алґебраїчний та векторний добуток першого та другого стовпця

Page 11: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

матриці A . Побудувати поверхневий та діаграмний графіки

масиву A .

+

=

521

23

2

kn

k

knnk

A ,

(0.1)

де k − задає викладач для кожної академічної групи окремо; n − порядковий

номер студента за переліком у журналі.

Приклад

Задамо функції ( )xf1

, ( )xf2

і двома способами задамо ранжирувані змінні

xi й xh .

Побудуємо графіки функції ( )xf1

залежно від змінних x , xi та xh .

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

функцій ( )xf1

і ( )xf2

.

f1 x( ) sin x( ) x+:= f2 x( ) x 5−( )2

:=

xi 0 1, 10..:=

a 0:= b 10:= h 2:= Nb a+

h:= N 5=

k 0 1, N 1−..:= xhk 1+ xhk h+:=

0 1 2 3 4 5 6 7 8 9 10

0

0.97

1.94

2.91

3.88

4.85

5.82

6.79

7.76

8.73

9.7

f

1

x( )

f

1

xi( )

f

1

xh( )

x xi, xh,

Page 12: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Знайдемо символьний розв’язок перетворення Лапласа, Фур’є та

Z - перетворення для функції ( )xf1

.

Задамо матрицю A , передивимось елемент матриці з номером 1, 1,

обчислимо визначник матриці.

Знайдемо транспоновану та обернену матриці.

Зробимо вибірку за стовпцями матриці A , отримаємо нові матриці-

стовпці 0A , 1A , 2A та обчислимо для них суми елементів за стовпцем.

Обчислимо алґебраїчний та векторний добуток матриць 1A та 2A .

f1 x( ) f2 x( )+ sin x( ) x+ x 5−( )2

+→

f1 x( ) f2 x( )− sin x( ) x x 5−( )2

−+→

f1 x( )

f2 x( )

sin x( ) x+

x 5−( )2

f1 x( ) f2 x( )⋅ sin x( ) x+( ) x 5−( )2

⋅→

f1 x( ) laplace x,1

s2

1+

1

s2

+→

f1 x( ) fourier x, i− π⋅ ∆ ω 1−( )⋅ i π⋅ ∆ ω 1+( )⋅+ 2 i⋅ π⋅ ∆ 1 ω,( )⋅+→

f1 x( ) ztrans x, z2− z⋅ cos 1( )⋅ sin 1( ) 2 sin 1( )⋅ z⋅−+ z

2

+ 1+ sin 1( ) z2

⋅+

2− z3

⋅ cos 1( )⋅ z4

+ 2 z2

⋅+ 4 z2

⋅ cos 1( )⋅ 2 z3

⋅− 2 z⋅− 2 z⋅ cos 1( )⋅−+ 1+

⋅→

A 45=A1 1, 3=A

1

4

5

2

3

6

3

7

2

:=

AZ

0.8−

0.6

0.2

0.311

0.289−

0.089

0.111

0.111

0.111−

=AZ A1−

:=AT

1

2

3

4

3

7

5

6

2

=AT AT

:=

A2∑ 12=A2

3

7

2

=A1

2

3

6

=A0

1

4

5

=

A1∑ 11=A0∑ 10=A2 A

2⟨ ⟩:=A1 A

1⟨ ⟩:=A0 A

0⟨ ⟩:=

Page 13: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Побудуємо просторові графіки для матриці A (тривимірні гістограма та

поверхня).

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

1. Поясніть призначення панелі Математика.

2. Поясніть призначення панелі Калькулятор.

3. Поясніть призначення панелі Графік.

4. Поясніть призначення панелі Матриця.

5. Поясніть призначення панелі Вирази.

6. Поясніть призначення панелі Обчислення.

7. Поясніть призначення панелі Булеві оператори.

8. Поясніть призначення панелі Програмування.

9. Поясніть призначення панелі Символіка.

10. Які перетворення можна реалізувати за допомогою вбудованих

функцій пакета?

Література: [6, с. 10-13; 7, с. 108-155; 9, с. 17-103]

A1 A2×

36−

14

5

=A1 A2⋅ 39=

A A

Page 14: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Лабораторна робота №2

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

Мета: вивчення методів та набуття навичок розв’язування систем

лінійних алґебраїчних рівнянь за допомогою пакета Mathcad.

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

Методи розв’язування систем лінійних алґебраїчних рівнянь (СЛАР)

можна поділити на дві групи: прямі та ітераційні. Прямі методи дозволяють

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

операцій. Ітераційні методи основані на отриманні та уточненні послідовних

наближень до точного розв’язку. Прямі методи – метод Крамера, Гаусса,

матричний. Ітераційні – метод простих ітерацій, Зейделя тощо.

СЛАР у загальному вигляді:

=+++

=+++

=+++

mnmnmm

nn

nn

bxa...xaxa

...............

bxa...xaxa

bxa...xaxa

2211

22222121

11212111

.

(0.2)

У матричному вигляді СЛАР представляється наступним чином:

BXA =⋅ , (0.3)

де A – матриця коефіцієнтів СЛАР,

=

mnmm

n

n

a...aa

............

a...aa

a...aa

A

21

22221

12111

;

(0.4)

X – вектор невідомих,

=

n

x

...

x

x

X2

1

;

(0.5)

B – вектор правих частин (або вільних членів),

Page 15: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

=

m

b

...

b

b

B2

1

.

(0.6)

Насамперед потрібно переконатись, що СЛАР має єдиний розв’язок.

Система має єдиний розв’язок, якщо ранг матриці A дорівнює кількості

невідомих n, та нескінченно багато розв’язків, якщо ранг А менший за кількість

невідомих. Тобто СЛАР має єдиний розв’язок, якщо матриця A квадратна

nm = та її визначник не дорівнює нулю, або, якщо ранг матриці коефіцієнтів

СЛАР А дорівнює рангу розширеної матриці D:

=

mmnmm

n

n

b

...

b

b

a...aa

............

a...aa

a...aa

D2

1

21

22221

12111

.

(0.7)

Розв’язування СЛАР матричним методом виконують за формулою:

BAX ⋅=−1 . (0.8)

При розв’язуванні СЛАР за методом Гаусса необхідно розширену

матрицю (0.7) звести до трапецієподібного вигляду шляхом введення

коефіцієнтів, що множать рядки, та додавання їх до інших рядків матриці таким

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

дорівнювали нулю:

=

'b

...

'b

'b

'a...

............

'a...'a

'a...'a'a

'D

mmn

n

n

2

1

222

12111

00

0.

(0.9)

При розв’язуванні СЛАР методом Крамера для кожної невідомої

задається відповідна матриця, що дорівнює матриці коефіцієнтів A , у якій

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

частини B , як показано для невідомої 0

X у (0.10).

Page 16: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

=

mnmm

n

n

a...ab

............

a...ab

a...ab

A

2

2222

1211

0

.

(0.10)

Тоді невідомі знаходять за наступною формулою:

A

AX

i

i

= , (0.11)

де i − номер стовпця.

При використанні ітераційних методів СЛАР необхідно звести до

ітераційного вигляду, який у матричній формі можна записати так:

β+α=− )k()k(

xx1

, (0.12)

де k – номер ітерації.

Ітераційний процес припиняється при виконанні умови:

ε<−− )k()k(

xx1 , (0.13)

де ε – задана точність розв’язування.

Аналіз збіжності ітераційних методів розв’язування СЛАР пов'язаний з

поняттям норми матриці. Найбільшого поширення набули наступні норми

матриць:

– норма одиниці,

∑=

≤≤

α=Α

n

i

ij

nj

max

1

1

1

; (0.14)

– норма нескінченності,

∑=

≤≤

α=Α

n

j

ij

ni

max

1

1

; (0.15)

– евклідова норма

∑=

α=Α

n

j,i

ij

E

1

2

. (0.16)

Існує правило: якщо хоча б одна з перелічених норм матриці коефіцієнтів

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

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

Page 17: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Завдання для розрахунку

Розв’язати наведену нижче СЛАР, використовуючи:

– обчислювальний блок;

– убудований метод розв’язування;

– матричний метод;

– метод Гаусса;

– метод Крамера;

– метод простих ітерацій.

+

+−

=

−⋅

+⋅

−+

=

5

2

20

15

210

30532

21

04

254

3

313202

26

25

10

k

n

n

B,

nk

n

kkn

kn

nn

nnn

A ,

(0.17)

де k − задає викладач для кожної академічної групи окремо; n − порядковий

номер студента за переліком у журналі.

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

отримані різними методами.

Приклад

Дана СЛАР

.

xxx

xxx

xxx

=⋅+⋅+

=+⋅+⋅−

=⋅+⋅+⋅

1082

11103

7348

321

321

321

Задамо матрицю коефіцієнтів СЛАР і вектор правої частини.

Знайдемо розширену матрицю.

A

8

3−

1

4

10

2

3

1

8

:= B

7

11

10

:=

Page 18: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Визначимо, чи має задана СЛАР розв’язок двома засобами, перевіривши:

– рівність рангу матриці A та рангу матриці D ;

– рівність кількості рядків та стовпців матриці A й нерівність визначника

матриці A нулю.

Розв’яжемо СЛАР, застосовуючи обчислювальний блок, та перевіримо

отриманий результат.

Розв’яжемо СЛАР убудованим методом пакета та перевіримо отриманий

результат.

Розв’яжемо СЛАР матричним методом та перевіримо отриманий

результат.

D augment A B,( ):= D

8

3−

1

4

10

2

3

1

8

7

11

10

=

rank A( ) 3= rank D( ) 3=

cols A( ) 3= rows A( ) 3= A 676=

x1 0:= x2 0:= x3 0:=

Given

A0 0, x1⋅ A0 1, x2⋅+ A0 2, x3⋅+ B0

A1 0, x1⋅ A1 1, x2⋅+ A1 2, x3⋅+ B1

A2 0, x1⋅ A2 1, x2⋅+ A2 2, x3⋅+ B2

X Find x1 x2, x3,( ):= X

0

1

1

= A X⋅ B−

0

0

0

=

X lsolve A B,( ):= X

0

1

1

= A X⋅ B−

0

0

0

=

Page 19: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Розв’яжемо СЛАР методом Гаусса та перевіримо отриманий результат.

Розв’яжемо СЛАР методом Крамера та перевіримо отриманий результат.

Розв’яжемо СЛАР методом простих ітерацій та перевіримо отриманий

результат.

Перевіримо збіжність ітераційного процесу за всіма нормами:

Отримаємо запис СЛАР для ітераційного процесу.

Задамо кількість рядків та стовпців матриці.

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

X A1−

B⋅:= X

0

1

1

= A X⋅ B−

0

0

0

=

ED rref D( ):= ED

1

0

0

0

1

0

0

0

1

0

1

1

=

X EDrank A( )⟨ ⟩

:= X

0

1

1

= A X⋅ B−

0

0

0

=

A0 augment B A1⟨ ⟩

, A2⟨ ⟩

,( ):= A1 augment A0⟨ ⟩

B, A2⟨ ⟩

,( ):=

A2 augment A0⟨ ⟩

A1⟨ ⟩

, B,( ):=

A0

7

11

10

4

10

2

3

1

8

= A1

8

3−

1

7

11

10

3

1

8

= A2

8

3−

1

4

10

2

7

11

10

=

X0

A0

A:= X

1

A1

A:= X

2

A2

A:= X

0

1

1

= A X⋅ B−

0

0

0

=

norm1 A( ) 16= norme A( ) 16.371= normi A( ) 15=

i 0 rows A( ) 1−..:= j 0 cols A( ) 1−..:=

Page 20: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

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

знаходження невідомих.

Переглянемо перебіг ітераційного процесу.

Зробимо перевірку отриманого результату.

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

1. Наведіть форму запису СЛАР в алгебраїчному вигляді.

2. Наведіть форму запису СЛАР у матричному вигляді.

3. Наведіть засоби перевірки того, що матриця має єдиний розв’язок.

4. Які операції можна виконувати над матрицями?

ai j, if i j≠

Ai j,−

Ai i,, 0,

:= bi

Bi

Ai i,:=

a

0

0.3

0.125−

0.5−

0

0.25−

0.375−

0.1−

0

= b

0.875

1.1

1.25

=

X0⟨ ⟩

b:= N 10:= k 0 N 1−..:= Xk 1+⟨ ⟩

a Xk⟨ ⟩

⋅ b+:=

X

5 6 7 8 9 10

0

1

2

-3.868·10

-3

4.928·10

-4

3.502·10

-4

-1.231·10

-4

-1.658·10

-5

1.728·10

-5

1.001 0.999 1 1 1 1

0.998 1 1 1 1 1

=

k

0

1

2

3

4

5

6

7

8

9

= Xk 1+⟨ ⟩

Xk⟨ ⟩

1.097

0.293

0.115

0.04

9.496·10

-3

5.258·10

-3

1.081·10

-3

5.348·10

-4

1.717·10

-4

4.523·10

-5

=

A XN⟨ ⟩

⋅ B−

1.494 104−

×

8.558− 105−

×

8.457 105−

×

=

Page 21: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

5. У чому полягає суть методу Гаусса?

6. Поясніть поняття «розширена матриця»?

7. Поясніть поняття прямий та зворотний хід метода Гаусса.

8. Поясніть поняття «одинична матриця».

9. У чому полягає суть методу Крамера?

10. Які способи обчислення визначника матриці ви знаєте?

11. У чому полягає суть матричного методу?

12. Як знаходять обернену матрицю?

13. Поясніть поняття «транспонована матриця».

14. Поясніть поняття «мінор елемента матриці».

15. Наведіть форму запису СЛАР для ітераційного процесу.

16. У чому полягає суть методу простих ітерацій?

17. Як перевіряється збіжність ітераційного процесу?

18. Наведіть умову припинення ітераційного процесу.

19. Якими засобами пакета Mathcad можна розв’язати СЛАР?

20. Як перевіряється точність розв’язку СЛАР?

21. Назвіть сфери застосування матричної форми запису СЛАР?

Література: [1, с. 649-654; 6, с. 211-234; 9, с. 125-129]

Лабораторна робота №3

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

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

рівнянь та їх систем засобами пакета MathCAD

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

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

0=)x(F . (0.18)

Розв’язок нелінійного рівняння складається з двох етапів: відокремлення

коренів та уточнення коренів. Задача відокремлення коренів – визначення

Page 22: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

інтервалів, на яких функція існує і має лише один корінь. Задача уточнення

коренів – знаходження значення кореня із заданою точністю на інтервалі,

визначеному на попередньому етапі. Методи відокремлення коренів: графічний

та числовий. Методи уточнення коренів: метод дихотомії (поділу навпіл), метод

Ньютона (дотичних), метод хорд, метод простих ітерацій. Для розв’язку

рівняння (0.18) функція )x(F повинна бути безперервною на проміжку [ ]b,a й

задовольняти умову 0<⋅ )b(F)a(F . Пошук кореня функції проводиться доти,

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

У методі поділу навпіл відрізок [ ]b,a ділиться навпіл і вибирається той

інтервал, на кінцях якого знаки функції )x(F різні. Метод поділу навпіл досить

повільний, однак він завжди збігається, тобто при його використанні завжди

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

У методах простих ітерацій, хорд, Ньютона використовується значення

початкового (нульового) наближення до шуканого кореня.

Ідея методу Ньютона зводиться до заміни функції )x(F на кожній

ітерації дотичною до неї в точці k

x . У цьому методі за початкове наближення

0

x вибирається той з кінців відрізка [ ]b,a , у якому знаки )x(F0

і )x(F0

збігаються, тобто 0>⋅ )x('F)x(F , і обчислення проводять за формулою

)x(F

)x(Fxx

k

k

kk

′−=

+1

. (0.19)

Метод хорд використовується, коли на відрізку [ ]b,a зберігає знак не

тільки перша похідна )x(F′ , а й друга − )x(F ′′ , тоді хорда, яка з’єднує кінці

дуги ab графіка функції, завжди розташована з боку увігнутості цієї дуги, і

точка 0

x , що є нульовим наближенням кореня, завжди розташована ближче до

того кінця відрізка [ ]b,a , у якому знак функції )x(F протилежний )x(F ′′ ,

тобто 0<′′⋅ )x(F)x(F .

Якщо 0<′′⋅ )b(F)b(F , то за початкове наближення береться права межа

відрізка [ ]b,a , тобто bx =0

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

Page 23: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

)a(F)x(F

)x(F)ax(xx

k

kk

kk

−=+1

. (0.20)

Якщо 0<′′⋅ )a(F)a(F , то за початкове наближення береться ліва межа

відрізка [ ]b,a , тобто ax =0

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

)x(F)b(F

)x(F)xb(xx

k

kk

kk

−=+1

. (0.21)

Метод простих ітерацій має недолік: сфера його застосування обмежена.

Якщо в межах кореня похідна 1<′ )x(f і початкове наближення достатньо

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

ітераційний процес є розбіжним. Збіжність методу суттєва тоді, коли

1<<′ )x(f .

Для числового обчислення коренів рівнянь з однією змінною в пакеті

призначені функції polyroots і root. Функція polyroots повертає розв’язок у

вигляді матриці-стовпця. Функція root обчислює один корінь. Перед

використанням функції root значення змінної повинно бути визначене

(наприклад, з графіка функції). Пакет використовує це значення як початкову

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

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

може бути записана так:

0=)x(fnn

. (0.22)

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

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

Метод Ньютона ґрунтується на введені матриці Якобі ii

xf)x(J ∂∂= -

матриця перших частинних похідних функцій за змінними n,1,i ...,xi

= ,

причому функції n1,...,i =),x(fi

є безперервно диференційованими. Якщо

матриця )x(J не є виродженою, то система має єдиний розв’язок. Наближення

обчислюється за формулою: i

)k(

i

)k(

i

xxx ∆+=+1 . Ітераційний процес

припиняється, якщо виконується умова ε<∆i

x для кожного i

x∆ . За початкове

Page 24: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

наближення може бути прийнято будь-яке значення шуканого кореня. Однак

метод Ньютона ефективний при наближенні, що близьке до значення кореня.

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

еквівалентною n...,),x(xii

1,i =ϕ= . Задаються початкові наближення, і

здійснюється ітераційний процес Зейделя:

( )k

n

k

i

k

i

kk

i

k

i

x,...,x,x,...,x,xx1

1

1

2

1

1

1 +

+++

ϕ= , (0.23)

тобто вже обчислені наближення невідомих 1

1

1

1

+

+ k

i

k

x,...,x використовуються при

обчисленні 1+k

i

x . Критерій припинення ітераційного процесу може бути

використана умова: n,1,i 1

...,xxk

i

k

i

=ε<−+ . Обчислення за методом Зейделя

достатньо прості. Однак отримання системи )x(x ϕ= , еквівалентної початковій

0=)x(f з одночасним забезпеченням збіжності, є складною задачею.

Ітераційний процес збігається за умови:

∑=

<∂

ϕ∂n

k,i

k

i

x1

1. (0.24)

Розв’язування систем нелінійних рівнянь у пакеті здійснюється за

допомогою обчислювального блоку (Given, Find та Minerr).

Завдання для розрахунку

1. Знайти корені кубічного полінома (табл. 0.2) за допомогою функції

polyroots.

Таблиця 0.2 – Коефіцієнти полінома ( )01

2

2

3

3

axaxaxaxf +⋅+⋅+⋅=

0

a 1

a 2

a 3

a

( ) kk

⋅−1 nk k n⋅5

де k − задає викладач для кожної академічної групи окремо; n − порядковий

номер студента за переліком у журналі.

2. Для наведеної у табл. 0.3 функції відділити корені, використовуючи

графічні та числовий методи; обчислити корені функції методами поділу

навпіл, Ньютона, хорд, а також використовуючи обчислювальний блок.

3.

Page 25: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Таблиця 0.3 – Нелінійні рівняння

варіанта Рівняння

варіанта Рівняння

1 2 1 2

1 ( ) 100210 −⋅+= xxf x 2 ( ) ( ) ( )xcosxxsinxf ⋅−=

3 ( ) 2525160 ...xf x

−⋅= 4 ( ) 0963 .xxxf −−=

5 ( ) ( ) 35022 .xxarccosxf −−⋅= 6 ( ) ( ) 250.xsinxxf +−=

7 ( ) 593 .xxxf −−= 8 ( ) 252 −⋅+= xexf x

9 ( ) 65923

−⋅+⋅−= xxxxf 10 ( ) 5543 .exxf x

−+=⋅

11 ( ) ( ) 065

12 .

xxcosxf +−⋅=

12 ( ) ( )

xxarctgxf

+

−⋅=

1

12

13 ( ) 65412

−⋅−⋅= xxxf . 14 ( ) 20−−= xexf x

15 ( ) ( ) ( )xcosxxsinxf ⋅+= 16 ( ) ( )22

+−=− xlnexf x

17 ( ) 588435 .xxxf −⋅−= 18 ( ) xxxxxf −−⋅+=

34

2

19 ( ) 250

2 xexf x.

−⋅=⋅−

20 ( ) 1

1−−=

xexf x

21 ( ) ( ) 60212 .xxln.xf −⋅⋅= 22 ( ) ( ) ( ) 1

3

−−= xtgxtgxf

23 ( ) ( ) ( ) ( )11 −−−⋅= xxxsinxf 24 ( ) ( ) 20−−= xlnexf x

25 ( ) ( ) xxcosxf ⋅−= 3 26 ( ) ( )xtgxxf −−= 1

27 ( ) ( ) 7591

22 .xlnxxf −+−= 28 ( ) ( ) ( ) xxcosxsinxf ⋅+−= 2

29 ( ) ( )xcosxxf −= 30 ( ) ( )2−=

xlnxxf

4. Розв’язати систему нелінійних рівнянь (табл. 0.4) за допомогою

обчислювального блока та методу Ньютона.

Page 26: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Таблиця 0.4 – Системи нелінійних рівнянь

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

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

1 2 1 2

1

−=+

=+

22

122

yxln

yx

2

+−=−

=+

)yx(yx

yx

22

1622

3

=

= −

33

2142

y

)(x

xln

y

4

=−−

=−+=++

23212

5251

2

,z.ylogx

,zlogyxlog,

zlogylogxlog

5

=+

=+

1336

02

2

xy

ylogxlog

6

=

=+

2

05

xy

ylogxlog

7

=−

=

8

6

2

yx

xy

8

=

=−+

3

51

2

2

y

x

yx

9

=−

=

0

2

xlogylog

x yx

10

=

=−

8

42

xy

yx

11

=−

=+

1

23

ysinxsin

yx

12 ( )

( )

=+

=−−

24

222

yxcos

yx

13

=

=+

1

42

xsin

y

yx

14

=+

=−+

20

1023

xy

yxx

x

15

=+

=+

yx

yxx

21

1

232

16

=−

=+

xxy

xcosx

y

23

2

17 ( )

( )

=−

=+

02

2

2 yxcos

yxln

18 ( )

( )

=+

−=+−

15

205

2

3

yxsin

yx

19 ( )

=+

=−+

10

122

3

yx

yx

20 ( )

=−

=−+

1

82

2

2

ycosxsin

yx

21

=−+

=+

1

322

yxxlog

yx

22

=+

=+

5

2

2

yx

ytgx

23

=

=−

yx

yxx

x

24

24

=+

=+

xcosyx

yx

x2

2

Page 27: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Подовження табл. 0.4

1 2 1 2

25 ( )

=

=−−

10

4102

4

xy

yx

26

=+

=+−

1

152

yxsin

xyxx

27

( )

=+

=−

42

210

2

4

xyx

yxx

28

( )

=

=−

+

6

233

yx

x

yx

29 ( )( )

=

=++

+

x

yx

yx

3

1632

30 ( )

=+

=++

12

522

yxcos

yxx

Приклад

1. Розв’язування кубічного полінома.

Примітка: наступну частину завдання слід виконувати у новому листі,

щоб уникнути дублювання змінних.

2. Графічне та числове відділення коренів.

f z( ) z3

3 z2

⋅+ 24 z⋅− 1+:=

a

1

24−

3

1

:= x polyroots a( ):= x

6.638−

0.042

3.596

= f x( )

8.527− 1014−

×

0

0

=

f x( ) cos x( ) 0.2 x⋅−:=

6 5 4 3 2 1 0 1 2 3 4

2

1.5

1

0.5

0

0.5

1

1.5

2

2.5

3

f x( )

x

z 4−:= root f z( ) z,( ) 3.838−=

z 3−:= root f z( ) z,( ) 3.837−=

z 2−:= root f z( ) z,( ) 1.977−=

z 1−:= root f z( ) z,( ) 1.976−=

z 1:= root f z( ) z,( ) 1.306=

z 2:= root f z( ) z,( ) 1.306=

Page 28: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

За результатами можна відділити три інтервали: [ ]34 −− ; , [ ]12 −− ; , [ ]21; .

Обчислимо корені на відділених інтервалах.

Метод поділу навпіл.

Метод Ньютона.

f1 x( ) cos x( ):= f2 x( ) 0.2 x⋅:=

6 5 4 3 2 1 0 1 2 3 41

0.8

0.6

0.4

0.2

0

0.2

0.4

0.6

0.8

1

f1 x( )

f2 x( )

x

a 6−:= b 4:= h 1:= nb a+

h:= n 10=

i 0 1, n..:= z0

6−:= zi 1+

zi

h+:=

augment z f z( ),( )T

0 1 2 3 4 5 6 7 8

0

1

-6 -5 -4 -3 -2 -1 0 1 2

2.16 1.284 0.146 -0.39 -0.016 0.74 1 0.34 -0.816

=

a0 4−:= b0 3−:= k 0 50..:= R d c,( ) if f d( ) f c( )⋅ 0> c, d,( ):=

ak 1+

bk 1+

R ak

ak bk+

2,

R bk

ak bk+

2,

:= zalast a( ) blast b( )+

2:= z 3.837−=

a0 1:= b0 2:= f1 x( )xf x( )

d

d:= z0 if f a0( ) f1 a0( )⋅ 0> a0, b0,( ):= z0 2=

zk 1+ zk

f zk( )f1 zk( )

−:= zlast z( ) 1.306=

Page 29: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Метод хорд.

За допомогою обчислювального блока.

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

За допомогою обчислювального блока.

Використовуючи метод Ньютона.

Запишемо матрицю-Якобиан для обчислення частинних похідних.

a0 2−:= b0 1−:= f2 x( )2xf x( )

d

d

2

:=

z0 if f a0( ) f2 a0( )⋅ 0> a0, b0,( ):= z0 1−= a if f a0( ) f2 a0( )⋅ 0< a0, b0,( ):= a 2−=

zk 1+ zk

a zk−( ) f zk( )⋅

f a( ) f zk( )−( )−:= zlast z( ) 1.977−=

x 5−:=

given

cos x( ) 0.2 x⋅− 0

find x( ) 3.837−=

F x y, z,( ) x2

y2

+ sin z( )− 41.5−:=

G x y, z,( ) x y⋅ y tan z( )⋅− 20−:=

H x y, z,( ) x y⋅ sin z( )− 10−:=

f x y, z,( )

F x y, z,( )

G x y, z,( )

H x y, z,( )

:=

a0 1:= a1 2:= a2 2:=

Given

f a0 a1, a2,( ) 0

a Find a0 a1, a2,( ):= a

1.726

6.273

2.171

= f a0 a1, a2,( )

8.132 106−

×

4.484− 106−

×

4.055− 106−

×

=

Page 30: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Задамо початкові наближення, кількість ітерацій та обчислимо визначник

матриці-Якобиану.

Умовна функція знаходження наступного наближення, за допомогою

розв’язування Якобиана матричним методом має вигляд:

Знайдемо корені системи нелінійних рівнянь, і перевіримо їх:

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

1. Наведіть класифікацію нелінійних рівнянь.

2. Що є розв’язком нелінійних рівнянь та їх систем?

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

нелінійних рівнянь та їх систем?

4. З яких етапів складається знаходження коренів нелінійного рівняння?

J x y, z,( )

xtr f x y, z,( )

T( ) 0⟨ ⟩

d

d

xtr f x y, z,( )

T( ) 1⟨ ⟩

d

d

xtr f x y, z,( )

T( ) 2⟨ ⟩

d

d

ytr f x y, z,( )

T( ) 0⟨ ⟩

d

d

ytr f x y, z,( )

T( ) 1⟨ ⟩

d

d

ytr f x y, z,( )

T( ) 2⟨ ⟩

d

d

ztr f x y, z,( )

T( ) 0⟨ ⟩

d

d

ztr f x y, z,( )

T( ) 1⟨ ⟩

d

d

ztr f x y, z,( )

T( ) 2⟨ ⟩

d

d

:=

x0 1:= y0 2:= z0 2:= k 0 50..:= J x0 y0, z0,( ) 71.79−=

∆a c d, e,( ) J c d, e,( )1−

− f c d, e,( )⋅:=

( )

xk 1+

yk 1+

zk 1+

xk ∆a xk yk, zk,( )0+

yk ∆a xk yk, zk,( )1+

zk ∆a xk yk, zk,( )2+

:=

x

y

z

xlast x( )

ylast y( )

zlast z( )

:=

x

y

z

1.726

6.273

2.171

= f x y, z,( )

7.105 1015−

×

3.553 1015−

×

0

=

Page 31: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

5. Що означає відділення та уточнення коренів?

6. Як графічне відділення коренів уточнюється з допомогою обчислень?

Які властивості функції однієї змінної при цьому використовуються?

7. У чому суть методу відділення коренів?

8. У чому суть методу поділу навпіл?

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

10. У чому суть методу хорд? Як вибирається початкове наближення?

11. У чому суть методу Ньютона для розв’язування нелінійних рівнянь та

їх систем? Як вибирається початкове наближення?

12. У чому суть методу простої ітерації для розв’язування нелінійних

рівнянь?

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

рівнянь?

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

15. Як функціями пакета MathCAD обчислити корені алґебраїчних,

трансцендентних рівнянь та їх систем.

Література: [1, с. 655-658; 6, с. 153-183; 9, с. 130-138]

Лабораторна робота №4

Тема. Інтерполяція функцій

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

функцій за допомогою пакета Mathcad.

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

Інтерполяція функції )x(fy = , що задана таблично, полягає в

знаходженні таких значень функції для значень аргументу, які знаходяться в

проміжках між вузлами i

x (значеннями аргументу, що задані в таблиці).

Обчислення значень функції для будь-яких значень аргументу на відрізку

визначення функції виконується за побудованою (наближеною) функцією

)x(F . У більш загальному випадку за допомогою інтерполяції розв’язують

Page 32: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

широке коло задач числового аналізу − диференціювання й інтеґрування

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

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

Найчастіше замість довільної функції )x(F шукають поліном )x(Pn

ступеня не

вище за n. Найбільш відомими методами інтерполяції є: поліноми Лаґранжа,

формули Ньютона, ітераційна та сплайн-інтерполяція.

Інтерполяційний поліном Лаґранжа застосовується в загальному випадку

для довільно розташованих вузлів. Інтерполяційний поліном )x(Pn

, що

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

( )( ) ( )( ) ( )∑∑ ∏

==

=

⋅−⋅−

⋅−⋅−⋅=

−⋅=

n

i

ii

i

n

i

n

ji

i

ji

j

in

...xxxx

...xxxxy

xx

xxyxP

0

10

10

00

.

(0.25)

При значеннях i

xx ≠ різниця

)x(P)x(f)x(Rnn

−= (0.26)

у загальному випадку відмінна від нуля і являє собою похибку методу.

Інтерполяційні формули (поліноми) Ньютона використовуються у

випадку значень аргументу (вузлів), що розташовані на однаковій відстані,

тобто consthxxii

==−−1

.

Розрізняють першу й другу інтерполяційні формули Ньютона.

Перша інтерполяційна формула Ньютона використовується для

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

( ) ( ) ( ) ( )

( ) ( ) ( )n

n

n

n

xx...xxxxhn

y...

...xxxxh

yxx

h

yyxP

−⋅⋅−⋅−⋅∆

+

+−⋅−⋅∆

+−⋅∆

+=

10

0

10

2

0

2

0

0

0

!

!2!1,

(0.27)

де h − крок інтерполяції, ii

xxh −=+1

; i

y∆ − кінцева різниця 1-го порядку,

iii

yyy −=∆+1

; i

y2

∆ − кінцева різниця 2-го порядку, iii

yyy ∆−∆=∆+1

2 ; i

n

y∆ −

кінцева різниця n -го порядку, i

n

i

n

i

n

yyy1

1

1 −

+

∆−∆=∆ .

Page 33: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Друга інтерполяційна формула Ньютона використовується для

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

аргументу, які знаходяться на однаковій відстані. Вона відрізняється від першої

лише порядком перебору вузлів:

)xx)...(xx)(xx(h!n

y...

...)xx)(xx(h!

y)xx(

h!

yy)x(N)x(P

nn

n

n

nn

n

n

n

nnn

01

0

1

2

2

2

1

21

−−−∆

+

+−−∆

+−∆

+==

−−

.

(0.28)

Похибка інтерполяційних формул Ньютона обчислюється аналогічно до

похибки інтерполяційної формули Лаґранжа.

Інтерполяція сплайн-функціями. При великій кількості вузлів інтерполяції

зростає ступінь інтерполяційних поліномів, що робить їх незручними при

обчисленнях. У подібних випадках зручно використовувати сплайн-функцію,

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

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

виглядати так: для функції )x(fy = , що задана таблицею значень

n0,1,...,i =),y,x(ii

, необхідно на кожному відрізку ]x,x[ii 1−

завдовжки

n)1,2,...,(i 1

=−=−iii

xxh побудувати інтерполюючу функцію у вигляді

кубічного сплайна

3

1

2

11

)xx(d)xx(c)xx(ba)x(Siiiiiii −−−

−+−+−+= . (0.29)

де iiii

d,c,b,a − невідомі коефіцієнти (оскільки сплайн будується для n

інтервалів, то необхідно знайти 4n невідомих коефіцієнтів).

Інтерполяція функцій у пакеті MathCAD. Пакет містить групу

вбудованих функцій інтерполяції:

– linterp(vx,vy,x) − повертає значення функції в точці x, що

обчислюється методом лінійної інтерполяції на основі значень з векторів vx та

vy;

– lspline(vx,vy) − повертає вектор коефіцієнтів, який використовується

функцією interp для побудови лінійного сплайна. При цьому побудований

Page 34: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

сплайн на межах інтервалу має рівні нулю другу та третю похідні;

– pspline(vx,vy) − повертає вектор коефіцієнтів, який використовується

функцією interp для побудови параболічного сплайна. При цьому побудований

сплайн на межах інтервалу має рівну нулю третю похідну;

– cspline(vx,vy) − повертає вектор коефіцієнтів, який використовується

функцією interp для побудови кубічного сплайна. При цьому на поведінку

сплайна на межах інтервалу ніяких обмежень не накладається;

– interp(vs,vx,vy,x) − повертає інтерпольоване значення в точці x. Вектор

vs є результатом, який повертає одна з функцій cspline, pspline або lspline.

Завдання для розрахунку

Для заданої функції (табл. 0.5) виконати інтерполяцію за допомогою:

– убудованої лінійної інтерполяції пакета;

– поліному Лаґранжа;

– першої формули Ньютона;

– лінійної, параболічної та кубічної сплайн-функцій.

Побудувати графіки вихідної функції та інтерполюючих. Знайти значення

функцій інтерполяції у точках 117030 .;.;.x = .

Таблиця 0.5 – Таблично задана функція

i

x 0 0.2 0.4 0.6 0.8 1 1.2 1.4

i

y k

n

⋅3 40

2.

n

+ 5010

.

n

+ 0.45

32

n

5

n

− 43.k − kn ⋅

де k − задає викладач для кожної академічної групи окремо; n − порядковий

номер студента за переліком у журналі.

Приклад

Убудована лінійна інтерполяція пакета.

Page 35: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Інтерполяція за поліномом Лаґранжа.

Інтерполяція за першою формулою Ньютона.

Page 36: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Лінійна, параболічна та кубічна сплайн-функції.

Page 37: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

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

1. Сформулюйте задачу інтерполяції.

2. Назвіть галузі, у яких застосовується інтерполяція.

3. Яку функцію називають інтерполяційною?

4. Як будується інтерполяційний поліном Лагранжа?

5. Що називається кінцевою різницею?

6. Як обчислюється кінцева різниця n -го порядку?

7. Поясніть поняття першої та другої формули Ньютона.

8. Проведіть порівняльний аналіз формул Ньютона та Лагранжа.

9. Поясніть поняття сплайн-інтерполяції.

10. Як розв’язують задачу інтерполяції засобами пакета Mathcad?

Література: [1, с. 663-667; 6, с. 416-441]

Page 38: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Лабораторна робота №5

Тема. Апроксимація функцій

Мета: вивчення методів та набуття навичок апроксимації табличних

функцій за допомогою пакета Mathcad.

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

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

наступному вигляді. Функція f(x) задана таблицею значень, й необхідно знайти

залежність (функцію заданого вигляду), значення якої при i

x мало відрізнялися

б від експериментальних даних i

y )n,,,i( K1 0= . Зазвичай функцію, що

наближає табличну (отриману експериментально), називають емпіричною

формулою або емпіричною залежністю [2].

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

загального вигляду цієї формули та визначення найкращих значень її

коефіцієнтів [11].

Емпіричні формули вибираються з геометричних міркувань:

експериментальні точки наносяться на графік й приблизно визначається

загальний вигляд залежності шляхом порівняння отриманої кривої з графіками

відомих функцій. Якщо характер залежності невідомий, то вигляд емпіричної

формули може бути довільним [12].

На практиці велике поширення отримав метод найменших квадратів

(МНК). Емпіричні формула для нього має вигляд [1]:

m

mm

xaxaxaaaxP ++++= K

2

210

),( . (5.30)

Коефіцієнти даного полінома обчислюються для умови мінімальної

квадратичної похибки

( )( )∑∑==

→−==

n

i

iiim

n

i

i

mіnyaxPE

0

2

0

2

,ε . (5.31)

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

записується наступним чином [2]:

Page 39: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

=++++

=++++

=++++

∑∑∑∑∑

∑∑∑∑∑

∑∑∑∑

===

+

=

+

=

==

+

===

====

n

i

i

m

i

n

i

m

im

n

i

m

i

n

i

m

i

n

i

m

i

n

i

ii

n

i

m

im

n

i

i

n

i

i

n

i

i

n

i

i

n

i

m

im

n

i

i

n

i

i

yxxaxaxaxa

yxxaxaxaxa

yxaxaxana

00

2

0

2

2

0

1

1

0

0

00

1

0

3

2

0

2

1

0

0

000

2

2

0

10

...

K

K

K

.

(5.32)

Залежно від ступеня полінома розрізняють:

− лінійне наближення за МНК – ( ) xaaxP10

+= ;

− квадратичне наближення – ( ) 2

210

xaxaaxP ++= ,

− кубічне наближення – ( ) 3

3

2

210

xaxaxaaxP +++= тощо.

Поліноміальна апроксимація теж базується на отриманні емпіричної

залежності вигляду (5.30). Коефіцієнти полінома в цьому випадку

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

Коефіцієнти для апроксимації через мінімізацію знаходяться шляхом

розв’язування рівняння

( )( ) 0,

0

2

=−∑=

n

i

iii

yaxf , (5.33)

де ( )ii

axf , – вибрана емпірична залежність будь-якого виду.

У деяких випадках, замість поліноміальної апроксимації, зручно

застосовувати апроксимацію рядом Фур’є. Тоді емпірична залежність має

вигляд [11]:

∑ ∑= =

⋅⋅+

⋅⋅+=

m

k

m

k

kk

xL

kbxL

kaa

xf

1 1

0 sincos2

)(ππ

, (5.34)

де k

a , k

b – коефіцієнти розкладання вихідної функції в ряд Фур’є,

∑=

⋅⋅⋅⋅=

n

e

eek

xL

kyL

ha

0

cos

π

, ∑=

⋅⋅⋅⋅=

n

e

eek

xL

kyL

hb

0

sinπ

. (5.35)

де k – нумерація елементів полінома, Kk ..1,0= ; K – необхідний ступінь

полінома апроксимації;

Page 40: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

2

nK = ,

де n – кількість точок апроксимації; h – крок між точками апроксимації;

M – заданий ступінь полінома апроксимації.

У пакеті Mathcad передбачені вбудовані функції [5]:

− intercept(x,y), slope(x,y) і linfit(x,y,f) – для лінійної апроксимації;

− genfit(x,y,z,f), regress(x,y,k), loess(x,y,span) – для нелінійної

апроксимації.

Завдання для розрахунку

Провести апроксимацію заданої табличної функції за наведеними нижче

методами, побудувати графіки вихідної та відтворених функцій, обчислити

квадратичну похибку методу:

1. Метод найменших квадратів.

2. За допомогою вбудованих показової, лінійної та ступеневої функцій.

3. Метод мінімізації.

4. Поліноміальна апроксимація.

5. Апроксимація рядом Фур’є.

Таблиця 5.1 − Таблично задана функція

i

x 1 2 3 4 5 6 7

i

y ns,k 10+ k

ns kns− kns+ ( )kcosns ⋅ ( )nslnk ⋅ nsk ⋅

де k − задає викладач для кожної академічної групи окремо; ns − порядковий

номер студента за переліком у журналі.

Page 41: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Приклад Задамо значення табличних аргументу та функції.

Визначимо довжину матриць і номер останнього елемента матриці.

1. Для апроксимації методом МНК задамо ступінь апроксимуючого

полінома.

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

Визначимо матрицю коефіцієнтів системи рівнянь k та матрицю правої

частини yd для методу МНК за допомогою рекурентних формул.

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

Задамо апроксимуючий поліном за допомогою рекурентної формули.

x

0

1

2

3

4

:= y

1.5

1

2.5

3

0.5−

:=

d length x( ):= n d 1−:= n 4=

K 2:=

n

i 0 K..:= j 0 K..:=

n

ki j,

0

n

e

xe

( )i j+

∑=

:= ydi

0

n

e

xe

( )i ye

⋅∑=

:=

k

5

10

30

10

30

100

30

100

354

= yd

7.5

13

30

=

a k1−

yd⋅:=

a

0.9

1.8

0.5−

=

f z( )

0

K

i

ai

zi

⋅∑=

:=

Page 42: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Побудуємо графіки вихідної та відтвореної функцій.

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

ступеня.

Якщо задати ступінь поліному 4=K , отримаємо наступні квадратичну

похибку та графіки.

0 0.41 0.82 1.23 1.64 2.05 2.46 2.87 3.28 3.69 4.1

0.6

0.22

0.16

0.54

0.92

1.3

1.68

2.06

2.44

2.82

3.2

y

f z( )

x z,

E

0

n

e

f xe

( ) ye

−( )2∑=

:= E 3.6=

E

0

n

e

f xe

( ) ye

−( )2∑=

:= E 0=

0 0.41 0.82 1.23 1.64 2.05 2.46 2.87 3.28 3.69 4.1

0.6

0.22

0.16

0.54

0.92

1.3

1.68

2.06

2.44

2.82

3.2

y

f z( )

x z,

Page 43: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

2. Апроксимація вбудованими функціями базується на обчисленні

логарифмів табличних аргументів та функцій, тому необхідно спочатку

перенести задану функцію у перший квадрант.

Знайдемо коефіцієнти показової функції, визначимо саму функцію та

обчислимо квадратичну похибку для неї.

Знайдемо коефіцієнти лінійної функції, визначимо саму функцію та

обчислимо квадратичну похибку для неї.

Знайдемо коефіцієнти ступеневої функції, визначимо саму функцію та

обчислимо квадратичну похибку для неї.

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

методами функцій апроксимації в одній площині.

x x 1+:= y y 1+:=

aeexp intercept x ln y( )

,( )( )

slope x ln y( )→

,( )

:= ae4.344

0.253−

= fe z( ) ae0

eae

1

z⋅

⋅:=

Ee

0

n

e

fe xe( ) ye−( )2∑=

:= Ee 9.672=

alintercept x y,( )

slope x y,( )

:= al3.1

0.2−

= fl z( ) al0

al1

z⋅+:=

El

0

n

e

fl xe

( ) ye

−( )2∑=

:= El 7.1=

apexp intercept ln x( )

ln y( )→

,( )( )

slope ln x( )→

ln y( )→

,( )

:= ap3.159

0.459−

= fp z( ) ap0 zap

1

⋅:=

Ep

0

n

e

fp xe( ) ye−( )2∑=

:= Ep 9.494=

Page 44: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

3. Для апроксимації через мінімізацію вибираємо апроксимуючу

функцію вигляду

( ) n

n

xaxaxaaxf ⋅++⋅+⋅+= ...

2

210

.

Задамо ступінь полінома та нумерацію елементів.

За допомогою обчислювального блоку розв’яжемо рівняння

забезпечення мінімуму квадратичної похибки і знайдемо значення коефіцієнтів

вибраної для апроксимації функції.

Задамо функцію та обчислимо значення квадратичної похибки.

1 1.4 1.8 2.2 2.6 3 3.4 3.8 4.2 4.6 50.5

0.85

1.2

1.55

1.9

2.25

2.6

2.95

3.3

3.65

4

y

fe z( )

fl z( )

fp z( )

x z,

K 2:= e 0 K..:=

ame 0:=

Given

0

n

i

yi

0

K

e

ame xi( )e⋅

=

2

∑=

0 am Minerr am( ):= am

0.396−

2.796

0.499−

=

fm z( )

0

K

i

ami zi

⋅∑=

:= Em

0

n

e

fm xe( ) ye−( )2∑=

:= Em 3.6=

Page 45: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Побудуємо графік.

Якщо ступінь вибраного полінома задати 4=K , отримаємо наступні

значення квадратичної похибки та графік функції.

1 1.4 1.8 2.2 2.6 3 3.4 3.8 4.2 4.6 50.5

0.85

1.2

1.55

1.9

2.25

2.6

2.95

3.3

3.65

4

y

fm z( )

x z,

Em

0

n

e

fm xe( ) ye−( )2∑=

:= Em 2.133 105−

×=

1 1.4 1.8 2.2 2.6 3 3.4 3.8 4.2 4.6 50.5

0.9

1.3

1.7

2.1

2.5

2.9

3.3

3.7

4.1

4.5

y

fm z( )

x z,

Page 46: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

4. Для поліноміальної апроксимації задамо ступінь полінома та

нумерацію елементів.

Визначимо коефіцієнти поліному.

Задамо функцію та обчислимо квадратичну похибку.

Побудуємо графік функції.

Якщо ступінь полінома задати 4=K , отримаємо наступні значення

квадратичної похибки та графік функції.

K 2:= i 0 K..:=

Xi

⟨ ⟩xi

:= a XT

X⋅( )1−

XT

y⋅( )⋅:= a

0.4−

2.8

0.5−

=

f z a,( )

0

K

i

ai zi

⋅∑=

:=

Em

0

n

e

f xe a,( ) ye−( )2∑=

:= Em 3.6=

1 1.4 1.8 2.2 2.6 3 3.4 3.8 4.2 4.6 50.5

0.85

1.2

1.55

1.9

2.25

2.6

2.95

3.3

3.65

4

y

f z a,( )

x z,

Page 47: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

5. Для проведення апроксимації шляхом перетворення Фур’є ступінь

полінома апроксимації визначається кількістю точок заданої табличної функції.

Обчислимо крок між точками заданої функції.

Визначимо період табличної функції.

Знайдемо необхідний ступінь полінома апроксимації, за умови 2nK ≤ .

Задамо нумерацію елементів коефіцієнтів перетворення Фур’є.

Обчислимо коефіцієнти перетворення Фур’є.

Em

0

n

e

fm xe( ) ye−( )2∑=

:= Em 2.133 105−

×=

1 1.4 1.8 2.2 2.6 3 3.4 3.8 4.2 4.6 50.5

0.9

1.3

1.7

2.1

2.5

2.9

3.3

3.7

4.1

4.5

y

fm z( )

x z,

h x1

x0

−:= h 1=

Lh n 1+( )⋅

2:= L 2.5=

Kn

2:= K trunc K( ):= K 2=

k 0 K..:=

Page 48: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Задамо функцію апроксимації та побудуємо графік при 1=M .

При цьому квадратична похибка дорівнює:

Якщо ступінь полінома задати KM = , отримаємо наступні значення

квадратичної похибки та графік функції.

akh

L0

n

e

ye cos kπ

L⋅ xe⋅

⋅∑=

⋅:= bkh

L0

n

e

ye sin kπ

L⋅ xe⋅

⋅∑=

⋅:=

a

5

0.776−

1.224−

= b

0

0.923−

0.218

=

f z m,( )a0

21

m

k

ak cos kπ

L⋅ z⋅

⋅ bk sin kπ

L⋅ z⋅

⋅+

=

+:= M 1:=

1 1.4 1.8 2.2 2.6 3 3.4 3.8 4.2 4.6 50.5

0.85

1.2

1.55

1.9

2.25

2.6

2.95

3.3

3.65

4

y

f x M,( )

x

Ef

0

n

e

f xe M,( ) ye−( )2∑=

:= Ef 3.862=

Page 49: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

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

1. Поясніть задачу апроксимації.

2. Проведіть порівняльний аналіз інтерполяції та апроксимації.

3. Наведіть види функцій апроксимації.

4. Яким чином вибирається функція апроксимації?

5. Поясніть застосування МНК для апроксимації функцій.

6. Поясніть застосування перетворення Фур’є для апроксимації функцій.

7. Поясніть застосування методу мінімізації для апроксимації функцій.

8. Поясніть застосування поліноміальної апроксимації функцій.

Література: [1, с. 126 – 137; 5, с. 535 – 558; 7, с. 322 – 331].

Ef

0

n

e

f xe M,( ) ye−( )2∑=

:= Ef 0=

1 1.4 1.8 2.2 2.6 3 3.4 3.8 4.2 4.6 50.5

0.85

1.2

1.55

1.9

2.25

2.6

2.95

3.3

3.65

4

y

f x M,( )

x

Page 50: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Лабораторна робота №6

Тема. Обчислення визначених інтеґралів

Мета: вивчення методів та набуття навичок обчислення визначених

інтеґралів за допомогою пакета Mathcad.

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

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

Ньютона-Лейбніца [1],

( ) ( ) ( )aFbFdxxf

b

a

−=∫ . (6.1)

На практиці не завжди можна обчислити визначений інтеґрал за

формулою Ньютона-Лейбніца через наступні причини [1]:

− вигляд функції f x( ) не допускає безпосереднього інтеґрування, тобто

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

функції;

− функція f x( ) задається таблицею (масивом значень) чи графіком. У

цьому випадку поняття первісної втрачає сенс.

У таких випадках застосовують методи наближеного (числового)

інтеґрування. Задача числового інтеґрування безперервної функції )(xf на

заданому відрізку ],[ ba полягає в обчисленні ряду значень підінтеґральної

функції на вказаному інтервалі [2].

Визначений інтеґрал є площею фігури, обмеженої ординатами a , b,

віссю абсцис та графіком підінтеґральної функції )(xf . Тож при числовому

інтеґруванні заданий інтервал розбивається на множину малих інтервалів, а

загальна площа S знаходиться як сукупність елементарних площин малих

інтервалів. Таким чином, цей підхід дозволяє наближено замінити визначений

інтеґрал сумою:

∑=

⋅=+++=

n

i

in

xxfSSSS

1

21

)(... ∆Σ

, (6.2)

де x∆ – довжина проміжку між двома сусідніми табличними значеннями

Page 51: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

аргументу, є кроком інтеґрування, якщо розглядається функція з

рівновіддаленими вузлами x∆ є величиною постійною,

ii

xxx −=+1

∆ .

Залежно від способу обчислення елементарної площі i

S , існують різні

методи числового інтеґрування. Найбільш розповсюдженими на практиці є [2]:

− методи основані на графічній заміні криволінійної трапеції простими

геометричними фігурами за умови постійного кроку інтеґрування (методи

прямокутників трапецій, Сімпсона, Гаусса, Ромберга та інші);

− методи основані на використанні статистичних моделей (метод

Монте-Карло).

Метод прямокутників. Це найбільш простий метод оснований на заміні

площі часткової криволінійної трапеції площею прямокутника [2]. Розрізняють

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

функції, яку беруть за висоту прямокутника.

Запишемо рекурентні формули для методу:

− лівих прямокутників,

( )∑−

=

⋅=

1

0

n

i

i

xfhS ; (6.3)

− правих прямокутників,

( )i

n

i

xfhS ∑=

⋅=

1

; (6.4)

− середніх прямокутників,

+⋅= ∑

=

2

1

0

hxfhSi

n

i

. (6.5)

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

Метод трапецій. Зміст даного методу полягає в заміні площі часткової

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

стягує кінці інтервалів розбиття [2]:

Page 52: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

( ) ( )( )

+

+⋅= ∑

=

1

1

0

2

n

i

i

n xfxfxf

hS . (6.6)

Метод Сімпсона полягає в наступному: через кожні послідовні три точки

проводиться парабола та обчислюється інтеґрал від функції, вираженої у

вигляді цієї параболи [11]. Таким чином, площа часткової криволінійної

трапеції замінюється площею, що визначається подвоєним інтервалом

розбиття, і параболою, що проходить через ці точки,

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )[ ])...(4)...(23

1312420 −−

+++⋅++++⋅++⋅=nnn

xfxfxfxfxfxfxfxfh

S , (6.7)

тож рекурентна формула матиме вигляд:

( ) ( ) ( )( ) ( )( )

⋅+⋅++⋅= ∑∑

=

−⋅

=

1

1

12

2

1

20

423

n

i

i

n

i

in

xfxfxfxfh

S . (6.8)

Метод Монте-Карло використовується у задачах, де підінтеґральна

функція задана таблицею або вхідні дані носять випадковий характер. Цей

метод також називають методом статистико-ймовірнісного моделювання, він

полягає в тому, що розглядається деяка випадкова величина ζ , математичне

сподівання якої дорівнює величині X [11]:

[ ] XM =ζ . (6.9)

Проводиться серія n незалежних випробувань, у результаті яких

отримують (генерують) послідовність n випадкових чисел 1

ζ , 2

ζ , ... n

ζ , за

сукупністю цих значень близько визначається величина

[ ] Xn

Mn

+++

=

ζζζζ

...

21 . (6.10)

Математичне сподівання послідовності випадкових чисел }{i

ζ буде тим

точніше, чим більший обсяг вибірки (кількість випробувань) n >1000. Тоді,

уважаючи, що підінтеґральна функція безперервна на інтервалі інтеґрування, і,

вибравши в цьому інтервалі n випадкових точок i

ζ , можна вважати

Page 53: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

∑∫=

==

n

i

i

b

a

fn

abdxxfI

1

)()( ζ . (6.11)

де ( )ab − – відрізок інтеґрування; i

ζ – випадкові точки, що належать інтервалу

],[ ba .

Отримати такі випадкові точки можна на основі послідовності

випадкових значень i

ζ рівномірно розподілених в інтервалі ]1,0[ . Для цього

достатньо виконати перетворення ii

aba ζζ ⋅−+= )( .

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

формулами можна використовувати наступні співвідношення [11]:

− для методу прямокутників,

( )2

habMR

пр

⋅−⋅≤ , (6.12)

де ( )dx

xdfM

bax ],[

max

= ;

− для методу трапецій,

( )12

2

habMR

тр

⋅−⋅≤ , (6.13)

де ( )2

2

],[

max

dx

xfdM

bax∈

= ;

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

( )180

4

habMR

С

⋅−⋅≤ (6.14)

де ( )4

4

],[

max

dx

xfdM

bax∈

= ;

− для методу Монте-Карло,

2

1

≤ NRM

, (6.15)

деN – кількість точок.

Page 54: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

При обчисленні інтеґрала із заданою точністю можна оцінити початковий

крок інтеґрування, де ε – задана точність інтеґрування:

− для методу прямокутників – ε=h ,

− для методу трапецій – ε=h

− для методу Сімпсона – 4

ε=h .

Завдання для розрахунку

Для наведеної функції ( )xf (табл. 6.1) обчислити визначений інтеґрал у

межах [ ]ba, з кількістю розбиття 10=n наступними методами:

1. Методом прямокутників (правих, лівих, середніх).

2. Методом трапецій.

3. Методом Сімпсона.

4. Методом Монте-Карло.

Таблиця 6.1 − Задана функція

вар. ( )xf Межі

вар. ( )xf Межі

1 2 3 1 2 3

1 2

2

1

x⋅

=a 0,5

=b 5,5

2

10

1

−x

=a 0

=b 8

3 ( ) ( ) 101 +⋅+ xsinx

=a 0

=b 10

4 2+)xsin(

=a 0

=b 10

5 ( ) xxsin +

=a 0

=b 10

6 ( ) xxsin

,

+51

=a 0

=b 10

7 1+)xcos(

=a 0

=b 8

8 ( )2

1+

+x

xcos

=a 0

=b 10

9 )xlog(

=a 1

=b 9

10 ( )( ) 55

2

+−xlog =a 0

=b 10

Page 55: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Продовження табл. 6.1

1 2 3 1 2 3

11 ( )x

xlog

=a 1

=b 10

12 ( )2x

xlog

=a 1

=b 10

13 ( )10+x

xlog

=a 0

=b 10

14 ( )xsin

=a 0

=b 8

15 ( )xcos

=a 0

=b 8

16 ( )xcos

=a 0

=b 20

17 ( )2xcos =a 0

=b 5

18 ( )( )6xsin

=a 0

=b 5

19 ( )( ) 2

3

+xsin =a 0

=b 10

20 ( )xarctg

=a 0

=b 10

21 ( )( )10−xxarctg

=a 0

=b 10

22 ( )( ) 25

2

+−xsin =a 2

=b 8

23 ( )xsina

=a 0

=b 1

24 ( )xcosa

=a 0

=b 1

25 ( )1−xcosa

=a 0

=b 2

26 ( ) 21 +−xsina

=a 0

=b 2

27 ( )21−x

=a 0

=b 2

28 ( ) 21

3

+−x =a 0

=b 2

29 ( ) xxcos +

=a 0

=b 10

30 ( )( ) xxcos +

3 =a 0

=b 10

Приклад

Задамо функцію та межі інтегрування.

Побудуємо графік функції.

f x( ) cos x3( ) 1+:= a 0:= b 2:=

Page 56: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Числове інтеґрування рівнозначне обчисленню площі, обмеженої

функцією ( )xf та координатними осями.

Визначимо значення інтеґрала за допомогою вбудованого методу.

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

тому переведемо нашу безперервну функцію ( )xf у табличну ( )zf .

Задамо кількість точок та обчислимо крок інтеґрування.

Визначимо порядок нумерації елементів таблиці, обчислимо значення

змінної (арґументу) z .

Проглянемо значення функції у табличних точках.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

f x( )

x

S

a

b

xf x( )⌠⌡

d:= S 2.855=

n 10:= hb a−

n:= h 0.2=

i 0 n..:= zi

a i h⋅+:=

zT

0 1 2 3 4 5 6 7 8 9 10

0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

=

f z( )T

0 1 2 3 4 5 6 7 8 9 10

0 2 2 1.998 1.977 1.872 1.54 0.843 0.078 0.422 1.9 0.854

=

Page 57: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Побудуємо в одній площі графіки безперервної та табличної функції.

Обчислимо визначений інтеґрал від заданої функції всіма видами методу

прямокутників:

− правих;

− лівих;

− середніх.

Побудуємо графічну ілюстрацію заміни площі функції на множину площ

прямокутників для кожного виду методу прямокутників окремо:

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

f x( )

f z( )

x z,

Spp h

1

n

i

f zi( )∑=

⋅:= Spp 2.697=

Slp h

0

n 1−

i

f zi( )∑=

⋅:= Slp 2.926=

Scp h

1

n

i

f zi 1−

h

2+

=

⋅:= Scp 2.879=

Page 58: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

− правих;

− лівих;

− середніх.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

0.4

0.8

1.2

1.6

2

f zi

( )

f z( )

zi

h

2− z,

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

0.4

0.8

1.2

1.6

2

f zi

( )

f z( )

zi

h

2+ z,

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

0.4

0.8

1.2

1.6

2

f zi

( )

f z( )

zi

z,

Page 59: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Щоб оцінити похибку методу за (6.12), необхідно знайти похідну першого

порядку для заданої функції ( )xf і перетворити її на табличну функцію.

Обчислимо похибку для методу прямокутників.

Обчислимо визначений інтеґрал за методом трапецій.

Щоб оцінити похибку методу за (6.13), необхідно знайти похідну другого

порядку для заданої функції ( )xf і перетворити її на табличну функцію.

Обчислимо похибку для методу трапецій.

Для застосування методу Сімпсона, необхідно у два рази збільшити

кількість точок інтеґрування.

d x( )xf x( )

d

d:= d x( ) 3− x

2⋅ sin x

3( )⋅→

di d zi( ):=

dT

0 1 2 3 4 5 6 7 8 9 10

0 0

-4

-9.6·10 -0.031 -0.231 -0.941 -2.524 -4.267 -2.277 6.267 4.238 -11.872

=

M max d( ):= M 6.267=

Rp M h⋅b a−

2⋅:= Rp 1.253=

St h

f z0( ) f zn( )+

2

1

n 1−

i

f zi( )∑=

+

⋅:= St 2.811=

d x( )2xf x( )

d

d

2

:= d x( ) 6 x⋅ sin x3( )⋅− 9 x

4⋅ cos x

3( )⋅−→

di d zi( ):=

dT

0 1 2 3 4 5 6 7 8 9 10

0

-11

-2.08·10 -0.024 -0.383 -1.911 -5.565 -9.912 -4.189 28.625 41.931 -80.315 9.08

=

M max d( ):= M 41.931=

Rt M h2

b a−

12⋅:= Rt 0.28=

Page 60: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Тоді таблична функція матиме вигляд.

Знайдемо значення визначеного інтеґрала за методом Сімпсона.

Щоб оцінити похибку методу за (6.14), необхідно знайти похідну

четвертого порядку для заданої функції ( )xf і перетворити її на табличну

функцію.

Обчислимо похибку для методу Сімпсона.

Знайдемо випадкові значення розподілення змінної, щоб обчислити

інтеґрал за методом Монте-Карло.

Отримаємо значення табличних арґументу та функції.

hb a−

2 n⋅:= h 0.1= i 0 2 n⋅..:= zi a i h⋅+:=

zT

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4

=

f z( )T

0 1 2 3 4 5 6 7 8 9 10 11 12

0 2 2 2 2 1.998 1.992 1.977 1.942 1.872 1.746 1.54 1.238 0.843

=

Ss

h

3f z0( ) f zn( )+ 4

1

n

i

f z2 i⋅ 1−( )∑=

⋅+ 2

2

n

i

f z2 i 1−( )⋅ ∑=

⋅+

⋅:= Ss 2.879=

d x( )4xf x( )

d

d

4

:= d x( ) 81 x8

⋅ cos x3( )⋅ 180 x

2⋅ cos x

3( )⋅− 324 x5

⋅ sin x3( )⋅+→

di d zi( ):=

dT

0 1 2 3 4 5 6 7 8 9 10

0 0 -1.8 -7.199 -16.168 -28.476 -43.073 -56.566 -60.351 -36.566 44.704 ...

=

M max d( ):= M 1.536 104

×=

Rs M h4

b a−

180⋅:= Rs 0.017=

N 1000:= i 1 N..:= zi

a b a−( ) rnd 1( )⋅+:=

Page 61: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Обчислимо значення визначеного інтеґралу за методом Монте-Карло.

Обчислимо похибку для методу Монте-Карло.

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

1. Поясніть необхідність використання квадратурних формул для

обчислення визначеного інтеґралу.

2. У чому полягає суть методу прямокутників?

3. Які різновиди методу прямокутників ви знаєте?

4. Для яких функцій усі методи прямокутників дають однаковий

результат?

5. У чому полягає суть методу трапецій?

6. У чому полягає суть методу Сімпсона?

7. У чому полягає суть методу Монте-Карло?

8. Як працює функція rnd?

9. Яким чином можна підвищити точність методу прямокутників?

10. Яким чином можна підвищити точність методу трапецій?

11. Яким чином можна підвищити точність методу Сімпсона?

12. Яким чином можна підвищити точність методу Монте-Карло?

Література: [1, с. 291 – 313; 5, с. 469 – 470].

zT

0 1 2 3 4 5 6 7 8 9 10 11 12

0 0 1.164 0.39 0.8 0.394 1.747 1.65 0.28 1.238 1.536 0.265 1.457 1.882

=

f z( )T

0 1 2 3 4 5 6 7 8 9 10

0 2 0.995 1.998 1.872 1.998 1.58 0.784 2 0.68 0.114 2

=

Smc

b a−

N

1

N

i

f zi( )∑=

⋅:= Smc 2.799=

Rmc N

1−

2:= Rmc 0.032=

Page 62: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Лабораторна робота №7

Тема. Розв’язування диференціальних рівнянь та їх систем

Мета: вивчення методів та набуття навичок розв’язування

диференціальних рівнянь та їх систем за допомогою пакета Mathcad.

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

Розроблені аналітичні методи розв’язування диференціальних рівнянь

мають обмежене коло прикладних задач. Тому виникає необхідність у

використанні числових методів.

В основі числових методів розв’язування диференціальних рівнянь

лежить розклад функції у ряд Тейлора біля точки 0

x [1]:

)(!

1)(

2

1)()()(

0

)(

0000

xyhi

xyxyhxyhxy ii

++′′+′+=+ K , (7.16)

де h – відстань (крок) між точкою 0

x й точкою 1

x , у якій обчислюється

розв’язок.

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

що й визначає точність обчислень.

У методі Ейлера для оцінювання наступної точки функції

використовується лише один лінійний член у формулі Тейлора [2], тобто

),()(00001

yxhfyhxyy +=+= , (7.17)

де ),(00

yxf – права частина диференціального рівняння ),( yxfy =′ .

Користуючись значенням 1

y з розкладу )(xy біля точки hxx +=01

,

одержують наступне значення

),()2(11102

yxhfyhxyy +=+= . (7.18)

Тож загальна формула розв’язування диференціального рівняння за

формулою Ейлера має вигляд:

),()(01 iiii

yxhfyihxyy +=+=+

. (7.19)

Метод Ейлера має велику похибку 2h R . За рахунок систематичного

накопичування помилок часто буває нестійкий (малі локальні помилки

призводять до значного збільшення глобальної помилки). Цей метод можна

Page 63: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

вдосконалити різними засобами, що дозволяють збільшити його точність й

досягти 3

h R . Однак на практиці метод Ейлера та його модифікації

використовуються вкрай рідко [2].

Метод Рунге-Кутта – найбільш розповсюджений метод розв’язування

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

розв’язку за рахунок більшої точності обчислень на кожному кроці, меншу

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

оцінюється величиною 5h R . Уточнення досягається за рахунок спеціального

підбору координат чотирьох точок, у яких обчислюється перша похідна функції

),( yxf . Існує ряд засобів знаходження цих точок. Частіше за інших

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

методу Рунге-Кутта 4-го порядку з постійним кроком для диференціального

рівняння першого порядку полягає в циклічному обчисленні 1+i

y на кожному

1+i кроку за наступними формулами [2]:

++++=

++=

++=

++=

=

+

)22(6

),(

)2,2(

)2,2(

),(

43211

34

23

12

1

kkkkhyy

kyhxfk

kyhxfk

kyhxfk

yxfk

ii

ii

ii

ii

ii

.

(7.20)

Або для системи диференціальних рівнянь n -го порядку:

++++=

++=

++=

++=

=

+

)22(6

),(

)2,2(

)2,2(

),(

4321)1(

34

23

12

1

jjjjjiij

jjiijj

jjiijj

jjiijj

jiijj

kkkkhYY

kYhxFk

kYhxFk

kYhxFk

YxFk

,

(7.21)

де j – номер диференціального рівняння.

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

з постійним кроком h можна скористатися першою формулою Рунге:

Page 64: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

1

)()(

=p

khh

k

xyxyR ,

(7.22)

де k – величина, що визначається виразом nk ⋅ ; n – початкове число розбиття

інтервалу [ , ]a b ); p – порядок методу; )(xyh

– числове розв’язання

диференціального рівняння в точці x , отримане з кроком h ;

)(/

xykh

– числове розв’язання того самого рівняння з кроком kh .

Після визначення значення похибки можна обчислити уточнене значення

за другою формулою Рунге:

Rxy +h

y= )( . (7.23)

Завдання для розрахунку

За допомогою методів Ейлера, Рунге-Кутта з постійним і змінним кроком,

Буліша-Штера, Радау розв’язати: диференціальне рівняння першого порядку

(табл. 7.2); диференціальне рівняння другого порядку (табл. 7.3); систему

диференціальних рівнянь (табл. 7.4).

Таблиця 7.2 − Диференціальне рівняння першого порядку

№ вар. )y,x(f

0

x 0

y a b

1 yx −2 1 N 1 3

2 yx

+2 0 2N 0 1

3 ( )ycosx +2

1 N 0 1

4 22

2 yx − 0 N,10 0 1

5 )xyln( 2 2N 2 10

6 ( ) ( )ycosxcos + 0 2N 0 2

7 2

xy 1 N,010 1 2

8 xy2 1 N 1 3

9 1100

22

++ yN

x 0 N,010 0 2

10 y2 0 N,10 0 2

де N – порядковий номер студента в журналі академічної групи.

Page 65: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Таблиця 7.3 − Диференціальне рівняння другого порядку

k )y,y,x(f ′ 0

x 0

y 0

y′ a b

1 'yxx2

− 1 N -1 1 2

2 yex

−4 0 N -3 0 1

3 ( )xcosy2 1 N 0,6 1 2

4 yex

′+ 22 1 N 0 1 2

5 ( ) yxcos 43 − 0 N 2 0 2

6 yyxex

′−− 22 0 N 0 0 2

7 yex

′+ 35 0 2N 0,8 0 0,2

8 yex

−+1 0 2N 1,5 0 0,5

9 x'yx ⋅−

2 1 N 3,5 0 5

10 yy ′− 2 1 N -2 1 4

Таблиця 7.4 − Система диференціальних рівнянь

k )y,y,x(f101

)y,y,x(f

102

0

x 0

y

1

y a b

1 )yx(arctg 2

1

2

+ )yxsin(

0

+ -1 N 0 -1 1

2 )yxsin( 2

1

2

+ )xycos(

0

0 N 0 0 4

3 10

2

yyx + )xyycos(

10

+ 0 N 1 0 1

4 ( )1

ysin ( )0

ycos -1 N -0.5 -1 3

5 )yycos(x10

+ )yysin(10

− 2 N 2 2 5

6 )y(cossin1

2

0

y ⋅

10

y y coscos ⋅ -1 N 0 -1 3

7 1

2

0

yy ⋅

1

2

0

yy − 1 N,010 -1 1 3

8 2

0

2

1

yxy ++

( ) )xsin(xcosy 21

− 2 N 3.5 2 4

9 )yycos(10

)yysin(10

+ 0 N 0 0 2

10 ( )xlny1

2

10

yy + 1 N,010 -2 1 4

Page 66: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Приклад

Розв’яжемо диференціальне рівняння першого порядку

( )xydx

dy−⋅= 1 ,

на інтервалі [ ]1;0 з кількістю розбиття 10=n .

Запишемо диференціальне рівняння у вигляді задачі Коші:

( )dx

dyyxf =, , ( ) ( )xyyxf −⋅= 1, .

Задамо функцію Коші.

Задамо інтервал функції та кількість розбиття.

Обчислимо крок розв’язування.

Задамо початкові наближення, і матрицю розв’язування

диференціального рівняння за методом Ейлера.

Побудуємо графік знайденої функції.

Розглянемо розв’язання рівняння ( ) ( )xyyxf −⋅= 1, методом Рунге-Кутта

f x y,( ) y 1 x−( )⋅:=

a 0:= b 1:= n 10:=

hb a−

n:= h 0.1=

x0

y0

0

1

:= i 1 n..:=

xi

yi

xi 1−

h+

yi 1−

h f xi 1−

yi 1−

,( )⋅+

:= yE y:=

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

1

1.08

1.16

1.24

1.32

1.4

1.48

1.56

1.64

1.72

1.8

y

E

x

Page 67: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

за всіма точками наближеного обчислення.

Обчислимо загальний коефіцієнт наближення.

Запишемо початкові наближення і матрицю розв’язання для методу

Рунге-Кутта.

Побудуємо в одній площині результати розв’язання диференціального

рівняння методами Ейлера і Рунге-Кутта.

У пакеті Mathcad реалізована автоматизація методів Рунге-Кутта. Тоді

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

Задамо початкову умову та рівняння у такому вигляді

k1 x y,( ) h f x y,( )⋅:=

k2 x y,( ) h f xh

2+ y

k1 x y,( )

2+,

⋅:=

k3 x y,( ) h f xh

2+ y

k2 x y,( )

2+,

⋅:=

k4 x y,( ) h f x h+ y k3 x y,( )+,( )⋅:=

K x y,( ) k1 x y,( ) 2 k2 x y,( )⋅+ 2 k3 x y,( )⋅+ k4 x y,( )+:=

x0

y0

0

1

:= i 1 n..:=

xi

yi

xi 1−

h+

yi 1−

K xi 1−

yi 1−

,( )6

+

:= yRk y:=

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

1

1.08

1.16

1.24

1.32

1.4

1.48

1.56

1.64

1.72

1.8

y

E

y

Rk

x

Page 68: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Розв’яжемо рівняння вбудованим методом Рунге-Кутта з постійним

кроком.

Розв’яжемо рівняння убудованим методом Рунге-Кутта зі змінним

кроком.

Розв’яжемо рівняння вбудованим методом Буліша-Штера.

Розв’яжемо рівняння вбудованим методом Радау.

Побудуємо в одній площині результати розв’язання диференціального

рівняння всіма методами.

f0 1:= D x f, ( ) f0

1 x−( )⋅:=

zRk1 rkfixed f0 a, b, n, D,( ):=

zRk1T

0 1 2 3 4 5 6 7 8 9

0

1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

1 1.1 1.197 1.29 1.377 1.455 1.522 1.576 1.616 1.64

=

yRk1 zRk11

⟨ ⟩:=

zRk2 Rkadapt f0 a, b, n, D, ( ):=

zRk2T

0 1 2 3 4 5 6 7 8 9

0

1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

1 1.1 1.197 1.29 1.377 1.455 1.522 1.576 1.616 ...

=

yRk2 zRk21

⟨ ⟩:=

zB Bulstoer f0 a, b, n, D,( ):=

zBT

0 1 2 3 4 5 6 7 8 9

0

1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

1 1.1 1.197 1.29 1.377 1.455 1.522 1.576 1.616 1.64

=

yB zB1

⟨ ⟩:=

zR Radau f0 a, b, n, D,( ):=

zRT

0 1 2 3 4 5 6 7 8 9

0

1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

1 1.1 1.197 1.29 1.377 1.455 1.522 1.576 1.616 1.64

=

yR zR1

⟨ ⟩:=

Page 69: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Графік підтверджує, що всі вбудовані методи розв’язання

диференціальних рівнянь рівноцінні, а метод Ейлера є менш точним.

Розв’яжемо диференціальне рівняння другого порядку

( )xydx

yd−⋅= 1

2

2

,

що визначене на інтервалі [ ]1;0 з кількістю розбиття 10=n переліченими вище

методами.

Перейдемо до форми запису задачі Коші:

( )yxfdx

yd,

2

2

= , ( ) ( )xyyxf −⋅= 1, .

Задамо диференціальне рівняння, інтервал, кількість розбиття та

обчислимо крок розв’язання.

Розв’яжемо рівняння методом Ейлера.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

1

1.08

1.16

1.24

1.32

1.4

1.48

1.56

1.64

1.72

1.8

y

Rk1

y

Rk2

y

B

y

R

y

E

x

f x y, yd, ( ) y 1 x−( )⋅:=

a 0:= b 1:= n 10:= hb a−

n:= h 0.1=

x0

y0

yd0

0

1

0

:= i 1 n..:=

xi

yi

ydi

xi 1− h+

yi 1− h ydi 1−⋅+

ydi 1− h f xi 1− yi 1−, ydi 1−, ( )⋅+

:= yE y:=

Page 70: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Побудуємо графік отриманої функції.

Для розв’язання наведеного рівняння вбудованими методами необхідно

записати його у матричній формі, де 0f – матриця початкових наближень.

Розв’яжемо рівняння вбудованим методом Рунге-Кутта з постійним

кроком.

Розв’яжемо рівняння вбудованим методом Рунге-Кутта зі змінним

кроком.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

1

1.08

1.16

1.24

1.32

1.4

y

E

x

f01

0

:= D x f,( )f1

f0

1 x−( )

:=

zRk1 rkfixed f0 a, b, n, D,( ):=

zRk1T

0 1 2 3 4 5 6 7 8 9

0

1

2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

1 1.005 1.019 1.041 1.07 1.106 1.147 1.193 1.242 1.294

0 0.095 0.181 0.258 0.327 0.387 0.437 0.478 0.508 0.527

=

yRk1 zRk11

⟨ ⟩:=

Page 71: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Розв’яжемо рівняння вбудованим методом Буліша-Штера.

Розв’яжемо рівняння вбудованим методом Радау.

Побудуємо в одній площині результати розв’язання диференціального

рівняння всіма методами.

zRk2 Rkadapt f0 a, b, n, D,( ):=

zRk2T

0 1 2 3 4 5 6 7 8 9

0

1

2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

1 1.005 1.019 1.041 1.07 1.106 1.147 1.193 1.242 1.294

0 0.095 0.181 0.258 0.327 0.387 0.437 0.478 0.508 0.527

=

yRk2 zRk21

⟨ ⟩:=

zB Bulstoer f0 a, b, n, D,( ):=

zBT

0 1 2 3 4 5 6 7 8 9

0

1

2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

1 1.005 1.019 1.041 1.07 1.106 1.147 1.193 1.242 1.294

0 0.095 0.181 0.258 0.327 0.387 0.437 0.478 0.508 0.527

=

yB zB1

⟨ ⟩:=

zR Radau f0 a, b, n, D,( ):=

zRT

0 1 2 3 4 5 6 7 8 9

0

1

2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

1 1.005 1.019 1.041 1.07 1.106 1.147 1.193 1.242 1.294

0 0.095 0.181 0.258 0.327 0.387 0.437 0.478 0.508 0.527

=

yR zR1

⟨ ⟩:=

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

1

1.08

1.16

1.24

1.32

1.4

y

Rk1

y

Rk2

y

B

y

R

y

E

x

Page 72: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Розв’яжемо систему диференціальних рівнянь

−⋅−⋅+⋅+⋅−=

−+−+=

74242

2

2

2

2

2

xxdx

dyy

dx

yd

xxdx

dyy

dx

dy

,

що визначена на інтервалі [ ]1;0 з кількістю розбиття 10=n переліченими вище

методами.

Задамо диференціальне рівняння.

Задамо інтервал, кількість розбиття та обчислимо крок розв’язання.

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

рівнянь методом Ейлера.

Побудуємо графік отриманої функції.

n

d1 x y0, y1,( ) y0 y1+ x2

− x+ 2−:=

d2 x y0, y1,( ) 2− y0 4y1+ 2x2

+ 4x− 7−:=

a 0:= b 1:= n 10:= hb a−

n:= h 0.1=

x0

f00

f10

0

0

2

:= i 1 n..:=

xi

f0i

f1i

xi 1− h+

f0i 1− h d1 xi 1− f0i 1−, f1i 1−,( )⋅+

f1i 1− h d2 xi 1− f0i 1−, f1i 1−,( )⋅+

:= yE f0:=

yET

0 1 2 3 4 5 6 7 8 9

0 0 0 0.019 0.057 0.115 0.192 0.289 0.408 0.549 0.714

=

Page 73: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Запишемо систему рівнянь у матричній формі.

Розв’яжемо рівняння вбудованим методом Рунге-Кутта з постійним

кроком.

Розв’яжемо рівняння вбудованим методом Рунге-Кутта зі змінним

кроком.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

yE

x

f0

2

:= D x f,( )f0 f1+ x

2− x+ 2−

2− f0 4f1+ 2x2

+ 4x− 7−

:=

zRk1 rkfixed f a, b, n, D,( ):=

zRk1T

0 1 2 3 4 5 6 7 8 9

0

1

2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

0 0.01 0.04 0.09 0.16 0.25 0.36 0.49 0.64 0.81

2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9

=

yRk1 zRk11

⟨ ⟩:=

Page 74: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Розв’яжемо рівняння вбудованим методом Буліша-Штера.

Розв’яжемо рівняння вбудованим методом Радау.

Побудуємо в одній площині результати розв’язання диференціального

рівняння всіма методами.

zRk2 Rkadapt f a, b, n, D,( ):=

zRk2T

0 1 2 3 4 5 6 7 8 9

0

1

2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

0 0.01 0.04 0.09 0.16 0.25 0.36 0.49 0.64 0.81

2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9

=

yRk2 zRk21

⟨ ⟩:=

zB Bulstoer f a, b, n, D,( ):=

zBT

0 1 2 3 4 5 6 7 8 9

0

1

2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

0 0.01 0.04 0.09 0.16 0.25 0.36 0.49 0.64 0.81

2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9

=

yB zB1

⟨ ⟩:=

zR Radau f a, b, n, D,( ):=

zRT

0 1 2 3 4 5 6 7 8 9

0

1

2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

0 0.01 0.04 0.09 0.16 0.25 0.36 0.49 0.64 0.81

2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9

=

yR zR1

⟨ ⟩:=

Page 75: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

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

1. Що таке задача Коші?

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

для задачі Коші?

3. Наведіть форму запису диференціального рівняння другого порядку

для задачі Коші?

4. Наведіть форму запису системи диференціальних рівнянь для задачі

Коші?

5. Як класифікують методи розв’язування диференціальних рівнянь за

кроком?

6. Які методи розв’язування диференціальних рівнянь ви знаєте?

7. Які методи розв’язування диференціальних рівнянь є вбудованим в

пакеті Mathcad?

Література: [1, с. 272 – 290; 5, с. 559 – 594; 7, с. 331 – 338;

9, с. 291 – 346].

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.12

0.24

0.36

0.48

0.6

0.72

0.84

0.96

1.08

1.2

yRk1

yRk2

yB

yR

yE

x

Page 76: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

Критерії оцінювання знань студентів

Види занять Максимальна

сума балів

Лекції 18 Практичні заняття, лабораторні роботи: виконання, захист

32

Поточний контроль: (змістовий модуль № 1 – 10 балів; змістовий модуль № 2 – 10 балів; змістовий модуль № 3 – 10 балів; самостійна робота, реферати – 20 балів)

50

Усього 100

Шкала оцінювання: національна та ECTS

Сума балів за всі види

навчальної діяльності

Оцінка ECTS

Оцінка за національною шкалою

Для іспиту, курсового проекту (роботи), практики

Для заліку

90 – 100 А Відмінно

зараховано

82-89 В Добре

74-81 С 64-73 D

Задовільно 60-63 Е

35-59 FX Незадовільно з можливістю

повторного складання

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

0-34 F Незадовільно з обов’язковим

повторним вивченням навчальної дисципліни

не зараховано з обов’язковим

повторним вивченням навчальної дисципліни

Page 77: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

СПИСОК ЛІТЕРАТУРИ

1. Бронштейн И. Н. Справочник по математике для инженеров и

учащихся втузов / И. Н. Бронштейн, К. А. Семендяев. – М. : Наука, 1981. –

720 с.

2. Заварыкин В. М. Численные методы: Учебное пособие для

студентов физ.-мат. специальности пед. институтов / [В. М. Заварыкин и др.]. –

М.: Просвещение, 1990. – 340 с.

3. Джеффрис Г. Методы математической физики / Г. Джеффрис, Б.

Свирлс. – М.: Издательство «МИР», 1970. – 352 с.

4. Дьяконов В. П. Mathcad 2001: Учебный курс / В. П. Дьяконов –

СПб.: Питер, 2001. – 624 с.

5. Кетков Ю. Л. Matlab 7: программирование, численные методы /

Ю. Л. Кетков, А. Ю. Кетков, М. М. Шульц. − СПб.: «БХВ–Петербург»,

2005. – 752 с.

6. Кирьянов Д. В. Mathcad 12 / Д. В. Кирьянов. – СПб.: «БХВ–

Петербург», 2005. – 576 с.

7. Кудрявцев Е. М. Mathcad 11. Полное руководство по русской

версии / Е. М. Кудрявцев. – М.: ДМК Пресс, 2005. – 592 с.

8. Майзер Х. Исследование операций: / [Х. Майзер, Н. Эйджин, Р.

Тролл и др.] / Под ред. Дж. Моудера, С. Элмаграби. – М.: Мир, 1981. – 422 с.

9. Очков В. Ф. Mathcad PLUS 6.0 для студентов и инженеров / В. Ф.

Очков. – М.: ТОО «Компьютер Пресс», 1996. – 238 с.

10. Турчак Л. И. Основы численных методов: Учеб. пособие. / Л. И.

Турчак. − М.: Наука, 1987. – 157 с.

11. Хемминг Р. В. Численные методы для научных работников и

инженеров / Р. В. Хемминг. – М.: Наука, 1972. – 400 с.

12. Хинчин А. Я. Восемь лекций по математическому анализу / А. Я.

Хинчин. – М.: Наука, 1977. − 280 с.

Page 78: «ЧИСЕЛЬНІ МЕТОДИ»saue.kdu.edu.ua/upload/disciplines/MMM/MMM_LB.pdf0.11) призначена для вставки символьних операторів: символьне

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

«Чисельні методи» для студентів денної та заочної форми навчання

спеціальності 151 – Автоматизація та комп’ютерно-інтегровані технології.

Укладачі: д.т.н., проф. О. П. Чорний,

старш. викл. Н. М. Істоміна

к.т.н., старш. викл. В. В. Ченчевой,

старш. викл. О. А. Хребтова

Відповідальний за випуск зав. кафедри САУЕ Родькін Д. Й.

Підп. до др. ______________. Формат 60х84 1/16. Папір тип. Друк ризографія.

Ум. друк. арк. ____. Наклад _______ прим. Зам. №___________. Безкоштовно.

Видавничий відділ

Кременчуцького національного університету

імені Михайла Остроградського

вул. Першотравнева, 20, м. Кременчук, 39600