Uploaded by palahina

Посібник ЧМ

advertisement
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ
ЧИСЕЛЬНІ МЕТОДИ:
ПОСІБНИК
для студентів
інженерно-технічних спеціальностей
освітньо-кваліфікаційного рівня "бакалавр"
Затверджено на засіданні
кафедри прикладної математики,
протокол № 11 від «11» червня 2015р., та
Черкаси ЧДТУ 2015
УДК 519.6(075.8)
ББК 22.193я73
Укладачі:
Мірошкіна Ірина Володимирівна, к.т.н., доцент
Палагіна Олена Анатоліївна, к.т.н., доцент
Рецензент
Тимченко А.А., д.т.н., професор
Чисельні методи: посібник для студентів інженерно-технічних спеціальностей освітньо-кваліфікаційного рівня "бакалавр" / Укл. І. В. Мірошкіна,
О. А. Палагіна; М-во освіти і науки України, Черкас. держ. технол. ун-т. –
Черкаси: ЧДТУ, 2015. – 116 с.
Навчальне видання
ЧИСЕЛЬНІ МЕТОДИ:
ПОСІБНИК
для студентів
інженерно-технічних спеціальностей
освітньо-кваліфікаційного рівня "бакалавр"
2
Вступ
Розвиток комп’ютерної техніки призвів до кардинальних перетворень в
науці і математиці особливо, надавши дослідникам ефективний засіб для математичного моделювання. Змінилася технологія наукових досліджень, збільшилася можливість проектування і прогнозування складних процесів та об’єктів.
Сучасні математичні моделі не обмежуються лише проблемою знаходження закономірностей, а також потребують розробки потужних методів їхньої реалізації. Реалізація математичної моделі – це, перед усім, розробка ефективних
алгоритмів із залученням чисельних методів.
Чисельні методи – це потужний інструмент в руках сучасного інженера.
Тому курс з чисельних методів включений до циклу нормативних дисциплін
освітньо-професійної програми підготовки бакалаврів більшості інженерних
напрямів підготовки.
Даний посібник спрямований на набуття студентами практичних навичок
застосування чисельних методів при розв’язанні різних задач в інженерній
практиці і охоплює основні розділи дисциплін, що передбачають ознайомлення
з чисельними методами.
В посібнику розглядається дванадцять тем, для кожної з яких приведені
стислі теоретичні відомості, розв’язані приклади та приведені типові завдання
для самостійного опрацювання під час аудиторних занять або виконання домашнього завдання.
Посібник призначений для студентів інженерно-технічних спеціальностей
усіх форм навчання.
3
ТЕМА 1. Прямі методи розв’язування систем лінійних
алгебраїчних рівнянь
Лiтература: [1], пп. 5.1-5.6; [3], §§2.1-2.7; [4], §§1.1-1.5; [5], пп. 1.1.1-1.1.3; [6], гол. 3
ТЕОРЕТИЧНІ ВІДОМОСТІ
Система лінійних алгебраїчних рівнянь із n-невідомими має вигляд:
a11 x1  a12 x2  ...  a1n xn  b1 , 
a21 x1  a22 x2  ...  a2 n xn  b2 ,

,
............................................... 
an1 x1  an 2 x2  ...  ann xn  bn 

або в компактному вигляді
n
 aij x j  bi ,
i  1,2,..., n.
(1)
(2)
j 1
В матричній формі запишемо систему так:

(3)
Ax  b ,
 a11 a12 ... a1n 
 b1 
a

 

де A   21 a22 ... a2 n  - матриця коефіцієнтів системи; b   b2  - вектор
... ... ... 
 ...
 ... 

 bn 
 an1 an 2 ... ann 
 x1 
  
вільних членів; x   x2  - вектор невідомих.
 ... 
 xn 
Система (1) буде мати єдиний розв’язок, якщо матриця А не вироджена,
тобто det A  0 .
Чисельні методи розв’язування СЛАР діляться на дві групи: прямі та ітераційні.
Прямі методи дозволяють за скінчену кількість дій отримати точний


розв’язок x системи (1), якщо елементи матриці А і вектор вільних членів b
задано точно, і обчислення проводяться без округлень.
Ітераційні методи дозволяють знайти наближений розв’язок шляхом побудови послідовності наближень (ітерацій), починаючи з деякого довільного наближення.
Вибір методу розв’язування СЛАР залежить:
 від властивостей матриці А;
 від кількості рівнянь;
 від характеристик комп’ютера (швидкодії, розрядної сітки, об’єму оперативної пам’яті).
4
Прямі методи використовуються для розв’язування систем невеликої вимірності ( n  5  10 ).
Ітераційні методи використовують зазвичай для систем великої вимірності
( n  100 ), коли використання прямих методів є недоцільним через необхідність
виконувати занадто велику кількість арифметичних операцій.
Метод Гауса є най розповсюдженим прямим методом розв’язування систем лінійних алгебраїчних рівнянь. Ідея методу полягає у зведенні матриці коефіцієнтів системи A до трикутного вигляду, що досягається послідовним вилученням невідомих із рівнянь системи. Отримується еквівалентна система:
x1  c12 x2  ...  c1n xn  d1 , 
x2  ...  c2 n xn  d 2 , 

(4)
,
....................................... 
xn  d n 

 
або в матричній формі запису: Cx  d .
Зведення системи (1) до еквівалентної (4) називається прямим ходом метода Гауса, а розв’язування системи (4), тобто послідовне визначення невідомих, зворотним ходом метода Гауса.
Прямий хід можна реалізувати за двома схемами.
Схема єдиного ділення. Послідовно з системи (1) вилучаються невідомі x1,
x2, …, xi, …, xn-1. Для вилучення i-ой невідомої з рівнянь системи з номерами
i+1, i+2,…, n розділимо і-те рівняння на коефіцієнт aii . Потім від кожного i+1,
і+2,…, n рівняння будемо віднімати і-те рівняння, помножене на відповідні коефіцієнти ai 1, i , ai  2, i , …, an, i :
ckj 
( k 1)
akj
bk( k 1)
a1 j
akk
akk
a11
; dk 
( k 1)
; c1 j 
( k 1)
; d1 
b1
;
a11
k  1,2,...,n  крок перетворення;
i,j  k  1, k  2,...,n.
Зворотний хід відбувається за формулами:
xn  d n ;
xn 1  d n 1  cn 1, n xn ;
xi  d i 
n
 cij x j ;
(5)
(6)
i  n, n  1,..., 1.
j  i 1
Схему вибору головного елемента доцільно використовувати, якщо матриця коефіцієнтів розріджена нулями, або діагональні елементи матриці є малими
величинами. Серед елементів матриці головний - найбільший по модулю:
5
 a11 a12 ... a1q ... a1n 


... ... ... ... ... 
 ...
A   a p1 a p 2 ... a pq ... a pn 
a pq  max aij .
i, j
 ...
... ... ... ... ... 
 an1 an 2 ... anq ... ann 


Шляхом перестановок рядків та стовпців матриці А головний елемент виводять на місце елемента a11 , запам’ятовуючи при цьому порядок наступності

невідомих у вектору m :
 a pq a p 2 ... a p1 ... a pn 


... ... ... ... ...  
 ...
A   a1q a12 ... a11 ... a1n  , m   p ... 1 ... n .
 ...
... ... ... ... ... 
 anq an 2 ... an1 ... ann 


Далі застосовуємо алгоритм схеми єдиного ділення. На другому кроці, головний елемент шукається вже серед елементів 2, 3, …, n-ого рядків. І так далі.
Дії продовжуємо до тих пір, доки не будуть вилучені всі невідомі з системи. Зворотний хід проводиться за формулами (6), порядок знаходження невідо
мих буде визначатися компонентами вектора m , записаними у зворотному порядку.
На практиці при розрахунках користуються розширеною матрицею коефіці
єнтів системи, яку отримують із матриці A, доповнюючи її справа вектором b .
Якщо всі головні мінори матриці коефіцієнтів А системи (1) відмінні від
нуля, то існують такі нижня L і верхня U трикутні матриці, що A=LU. Якщо
елементи діагоналі однієї з матриць L або U фіксовані (ненульові), то таке розкладання буде єдиним.
Метод LU-розкладання. Даний метод є модифікацією методу Гаусса. LUрозкладання – це представлення матриці А добутком двох матриць:
A=LU,
(7)
 1 0 ... 0 
lij , при i  j


l
1
...
0



де L   21
lij  1, при i  j - нижня трикутна матриця з фіксо,

... ... ... ...
0, при i  j



 ln1 ln1 ... 1 
ваними діагональними елементами;
 u11 u12 ... u1n 


uij , при i  j
 0 u 22 ... u 2 n 
- верхня трикутна матриця.
u

U 

ij
... ... ... ...  ,
0
,
при
i

j



0 ... u nn 
 0
Отримаємо формули для розкладання матриці А.
Утворимо матрицю М(1):
 
6
0 0 ... 0 
 1
 m (1) 1 0 ... 0 
 21

a
(1)
(1)
M (1)   m31
0 1 ... 0  , де mi1  i1 (i=2,…,n).
 a11
 ... ... ... ... 0 
 m (1) 0 0 ... 1 
 n1

Помножимо матрицю А зліва на М(1), отримаємо матрицю А(1):
 a11 a12 a13 ... a1n 

(1)
(1)
(1) 
0
a
a
...
a

22
23
2n 
M (1)  A  A(1)   0 a (1) a (1) ... a (1)  .
32
33
3n
 ... ...

...
...
0

(1)
(1)
(1) 

0
a
a
...
a
nn 
n2
n3

З якої утворимо матрицю М(2):
0
0 ... 0 
1
0
1
0 ... 0 
ai(21)


(
2
)
( 2)
(
2
)
M   0 m32 1 ... 0  , де mi 2 
(i=3,…,n).
(1)

a
22
 ... ...( 2) ... ... 0 
0 m

0 ... 1 
n2

Помножимо матрицю А(1) зліва на М(2), отримаємо матрицю А(2):
 a11 a12 a13 ... a1n 

(1)
(1)
(1) 
0
a
a
...
a

22
23
2n 
( 2)
( 2)  .
M (1)  A(1)  A( 2)   0
0 a33 ... a3n
 ... ...

...
...
0

( 2) 

0 an( 23) ... ann
 0

(n-1)
І так далі. Остання буде матриця М :
0
0
 1 0 0 ...
 0 1 0 ...
0
0
an( n,n21)


( n 1)
(
n

1
)
0
0 , де mn,n1 
M
  0 0 1 ...
.
... ... ... ...
1
0
 an( n1,2n)1


( n 1)
 0 0 0 ... mn,n1 1 
Тоді матриця А(n-1) буде верхньою трикутною матрицею:
a1n 
 a11 a12 a13 ... a1n 1

(1)
(1)
(1)
(1) 
0
a
a
...
a
a

22
23
2 n 1
2n 
( 2)
( 2)
( 2)  , тобто матрицею U.
M ( n 1)  A( n  2)  A( n 1)   0
0 a33 ... a3n 1 a3n


...
...
...
...
...
...

( n 1) 
0
0 ...
0
ann
 0

Таким чином U  M (n1)  M (n2)  ...  M (2)  M (1)  A , а нижня трикутна матриця L
отримується з ненульових стовпців матриць M (1) ,M ( 2) ,..., M ( n  2) , M ( n 1) :
7
0
0
 1
  m(1) 1
0
21

(1)
( 2)
L    m31
 m31
1
 ...
...
...
  m(1)  m( 2)  m(3)
n1
n1
n1

...
0
...
0
...
0
...
1
...  mn( n, n11)
0
0

0  , або L  (M ( n1)  M ( n2)  ...  M ( 2)  M (1) ) 1 .
0
1 
Якщо матриця А системи (1) розкладена на добуток трикутних матриць L i
U, то замість системи (3) можемо записати
еквівалентне рівняння:
 
(8)
L U  x  b .
 y1 
 
  y2 

Введемо допоміжний вектор змінних y     U  x ., тоді перепишемо
...
 
y 
 n
 
L  y  b ,
систему (8) у вигляді    Таким чином, розв’язування системи (1) звелося
U  x  y.
до послідовного розв’язання двох трикутних систем.
 
Запишемо перше рівняння Ly  b у розгорнутій формі:
 y1  b1,
l y  y  b ,
 21 1 2 2
(9)

..........
..........
..........

ln1 y1  ln 2 y2  ...  ln, n 1 yn 1  yn  bn .

Звідки знаходимо значення компонент вектора y шляхом прямих підстановок:
 y1  b1,
y  b  l y ,
 2
2
21 1
(10)

..........
..........
..........

 yn  bn  ln1 y1  ln 2 y2  ...  ln, n 1 yn 1.
 
Розгорнемо тепер друге рівняння Ux  y :
u11 x1  u12 x2  ...  u1n xn  y1 ,

u22 x2  ...  u2 n xn  y2 ,

(11)

..........
..........
....


unn xn  yn .

Звідки знайдемо значення невідомих у зворотному порядку:
8
yn

x

,
n

unn

yn 1  un 1, n xn

x

,
 n 1
un 1, n 1

(12)

........................


n

y1   u1, k xk
 x 
k 2
.
1

u11
Метод прогонки є частковим випадком методу Гауса і застосовується для
розв’язання СЛАР з тридіагональними матрицями коефіцієнтів:
b1 x1  c1 x2  d1 ,

a2 x1  b2 x2  c2 x3  d 2 ,


a3 x2  b3 x3  c3 x4  d 3 ,
..........................................................................
(13)
ai xi 1  bi xi  ci xi 1  d i ,

..........................................................................
an xn 1  bn xn  d n . 
Тридіагональна матриця - це матриця, яка має ненульові елементи лише на
головній діагоналі, на діагоналі під нею та на діагоналі над нею:
 b1 c1 0 ... 0 0 
 a b c ... 0 0 
2
2
 2

0
a
b
... 0 0  .
3
3
A
 ... ... ... ... ... ... 
 ... ... ... ... ... ... 
 0 0 0 ... a n bn 
Як правило, при обчисленнях тридіагональні матриці зберігають в пам’яті
 b1 
 c1 
0
b 
 
a 
  2    2    c2 
комп’ютера у вигляді трьох векторів: a  a3 , b   b3  і c   c3  .
 
 ... 
 ... 
 ... 
b 
a
 n
0 
 n
За методом прогонки спочатку визначають прогоночні коефіцієнти:
 сi
d  ai i 1
i 
, i  i
, i  1, n , 0  0  0 .
(14)
ai   i 1  bi
ai   i 1  bi
Потім шукають розв’язок системи у зворотному порядку за формулою:
xn  n , xi  i  xi 1  i , i  n  1, 1 .
(15)
9
ЗАВДАННЯ
1. Методом Гауса за схемами єдиного ділення та вибору головного елемента,
методом LU-розкладання розв’язати СЛАР.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
4,4 x1  2,5 x2  19,2 x3  10,8 x4  4,3
5,5 x1  9,3x2  14,2 x3  13,2 x4  6,8
7,1x  11,5 x  5,3x  6,7 x  1,8
14,21x  23,42x  8,83x  5,34x  7,2
1
2
3
4

5,7 x1  7,8 x 2  5,6 x3  8,3x 4  2,7
6,6 x1  13,1x 2  6,3x3  4,3x 4  5,5
14,7 x  2,8 x  5,6 x  12,1x  8,6
8,5 x 1 12,7 x 2  23,7 3x  5,7 x4  14,7
1
2
3
4

15,7 x1  6,6 x 2  5,7 x3  1,5 x 4  2,4
8,8 x1  6,7 x 2  5,5 x3  4,5 x 4  5,6
6,3x  5,7 x  23,4 x  6,6 x  7,7
14,3x1  8,7 x2  15,7 x3  5,8 x4  23,4
1
2
3
4

14,4 x1  5,3x 2  14,3x3  12,7 x 4  14,7
23,4 x1  14,2 x 2  5,4 x3  2,1x 4  6,6
6,3x  13,2 x  6,5 x  14,3x  9,4
5,6 x1  8,8 x 2 6,7 x 3 23,8 x 4  7,3
1
2
3
4

1,7 x1  1,8 x 2  1,9 x3  57,4 x 4  10
1,1x1  4,3x 2  1,5 x3  1,7 x 4  19
1,2 x  1,4 x  1,6 x  1,8 x  20
7,1x1  1,3x 2  4,1x 3  5,2 x4  10
1
2
3
4

8,2 x1  3,2 x 2  14,2 x3  14,8 x 4  8,4
5,6 x1  12x 2  15x3  6,4 x 4  4,5
5,7 x  3,6 x  12,4 x  2,3x  3,3
6,8 x1  13,2 x2  6,3x 3  8,7 x 4  14,3
1
2
3
4

3,8 x1  14,2 x 2  6,3x3  15,5 x 4  2,8
8,3x1  6,6 x 2  5,8 x3  12,2 x 4  4,7
6,4 x  8,5 x  4,3x  8,8 x  7,7
17,1x1  8,3x2  14,43x  7,24x  13,5
1
2
3
4

4,3x1  12,1x 2  23,2 x3  14,1x 4  15,5
2,4 x1  4,4 x 2  3,5 x3  5,5 x 4  2,5
5,4 x  8,3x  7,4 x  12,7 x  8,6
6,3x1  7,6 x2  1,34x3  3,7 x 4  12,1
1
2
3
4

1,7 x1  10x 2  1,3x3  2,1x 4  3,1
3,1x1  1,7 x 2  2,1x3  5,4 x 4  2,1
3,3x  7,7 x  4,4 x  5,1x  1,9
10x 1  20,1x2  20,43x  1,74x  1,8
2
3
4
 1
6,1x1  6,2 x 2  6,3x3  6,4 x 4  6,5
1,1x1  1,5 x 2  2,2 x3  3,8 x 4  4,2
5,1x  5,0 x  4,9 x  4,8 x  4,7
1,8 x1  1,9 x 2  2,0 x 3  2,1x 4  2,2
2
3
4
 1
2,2 x1  3,1x 2  4,2 x3  5,1x 4  6,01
1,3x1  2,2 x 2  1,4 x3  1,5 x 4  10
6,2 x  7,4 x  8,5 x  9,6 x  1,1
1,2 x 1  1,3x 2 1,4 x 3 4,5 x 4 1,6
1
2
3
4

16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
10
30,1x1  1,4 x 2  10x3  1,5 x 4  10
 17,5 x1  11,1x 2  1,3x3  7,5 x 4  1,3
1,7 x  21,1x  7,1x  17,1x  10
2,1x1  2,1x 2 3,5 x 3 3,3x 4 1,7
1
2
3
4

7,3x1  8,1x 2  12,7 x3  6,7 x 4  8,8
11,5 x1  6,2 x 2  8,3x3  9,2 x 4  21,5
8,2 x  5,4 x  4,3x  2,5 x  6,2
2,4 x1  11,5 x2  3,3x3  14,24x  6,2
1
2
3
4

4,8 x1  12,5 x2  6,3x3  9,7 x4  3,5
22x1  31,7 x2  12,4 x3  8,7 x4  4,6
15x  21,1x  4,5 x  14,4 x  15
8,6 x1  14,4 x2  6,23x  2,8 x4  1,2
1
2
3
4

6,4 x1  7,2 x 2  8,3x3  4,2 x 4  2,23
5,8 x1  8,3x 2  14,3x3  6,2 x 4  17,1
8,6 x  7,7 x  18,3x  8,8 x  5,4
13,21x  5,2 x2  6,5 x3  12,2 4x  6,5
1
2
3
4

14,2 x1  3,2 x 2  4,2 x3  8,5 x 4  13,2
6,3x1  4,3x 2  12,7 x3  5,8 x 4  4,4
8,4 x  22,3x  5,2 x  4,7 x  6,4
2,7 x1  13,7 x 2  6,4 x3  12,7 x4  8,5
1
2
3
4

7,3x1  12,4 x 2  3,8 x3  14,3x 4  5,8
10,7 x1  7,7 x 2  12,5 x3  6,6 x 4  6,6
15,6 x  6,6 x  14,4 x  8,7 x  12,4
7,5 x 1 12,2 x 2  8,3x 3 3,7 x 4 9,2
1
2
3
4

13,2 x1  8,3x 2  4,4 x3  6,2 x 4  6,8
8,3x1  4,2 x 2  5,6 x3  7,7 x 4  12,4
5,8 x  3,7 x  12,4 x  6,2 x  8,7
3,5 x1  6,6 x2  13,8 x 3  9,3x 4  10,8
1
2
3
4

8,1x1  1,2 x 2  9,1x3  1,7 x 4  10
1,1x1  1,7 x 2  7,2 x3  3,4 x 4  1,7
1,7 x  1,8 x  10x  2,3x  2,1
1,3x1  1,7 x2  9,9 x3  3,5 x4  27,1
2
3
4
 1
3,3x1  2,2 x 2  10x3  1,7 x 4  1,1
1,8 x1  21,1x 2  1,3x3  2,2 x 4  2,2
 10x  1,1x  20x  4,5 x  10
70x 1 1,7 x 2 2,2 x 3  3,3x 4 2,1
2
3
4
 1
1,7 x1  9,9 x 2  20x3  1,7 x 4  1,7
20x1  0,5 x 2  30,1x3  1,1x 4  2,1
10x  20x  30,2 x  0,5 x  1,8
3,3x1  0,7 x2  3,3x 3  20x 4  1,7
1
2
3
4

1,7 x1  1,3x 2  1,1x3  1,2 x 4  2,2
10x1  10x 2  1,3x3  1,3x 4  1,1
3,5 x  3,3x  1,2 x  1,3x  1,2
1,3x 1  1,1x 2 1,3x 3 1,1x 4 10
2
3
4
 1
12.
13.
14.
15.
35,8 x1  2,1x 2  34,5 x3  11,8 x 4  0,5
27,1x1  7,5 x 2  11,7 x3  23,5 x 4  12,8
11,7 x  1,8 x  6,5 x  7,1x  1,7
6,3x 1 10x 2 7,1x 3 3,4 x 4 20,8
1
2
3
4

35,1x1  1,7 x 2  37,5 x3  2,8 x 4  7,5
45,2 x1  21,1x 2  1,1x3  1,2 x 4  11,1
 21,1x  31,7 x  1,2 x  1,5 x  2,1
31,7 x 1 18,1x 2 31,7 x 3  2,2 x4  0,5
1
2
3
4

1,1x1  11,2 x 2  11,1x3  13,1x 4  1,3
 3,3x1  1,1x 2  30,1x3  20,1x 4  1,1
7,5 x  1,3x  1,1x  10x  20
1,7 x 1  7,5 x2  1,8 x3  2,1x4  1,1
1
2
3
4

7,5 x1  1,8 x 2  2,1x3  7,7 x 4  1,1
 10x1  1,3x 2  20x3  1,4 x 4  1,5
2,8 x  1,7 x  3,9 x  4,8 x  1,2
10x 1 31,4 x2  2,1x3  10x 4  1,1
2
3
4
 1
27.
28.
29.
30.
1,1x1  11,3x 2  1,7 x3  1,8 x 4  10
1,3x1  11,7 x 2  1,8 x3  1,4 x 4  1,3
1,1x  10,5 x  1,7 x  1,5 x  1,1
1,5 x1  0,5 x 2  1,8 x 3 1,1x 4 10
2
3
4
 1
1,4 x1  2,1x 2  3,3x3  1,1x 4  10
10x1  1,7 x 2  1,1x3  1,5 x 4  1,7
2,2 x  34,4 x  1,1x  1,2 x  20
1,1x 1 1,3x 21,2 x 3 1,4 x 4 1,3
2
3
4
 1
1,3x1  1,7 x 2  3,3x3  1,7 x 4  1,1
10x1  5,5 x 2  1,3x3  3,4 x 4  1,3
1,1x  1,8 x  2,2 x  1,1x  10
1,3x1  1,2 x2  2,1x3  2,2 x4  1,8
2
3
4
 1
1,2 x1  1,8 x 2  2,2 x3  4,1x 4  1,3
10x1  5,1x 2  1,2 x3  5,5 x 4  1,2
2,2 x  30,1x  3,1x  5,8 x  10
10x 1 2,4 x 2 30,5 x3  2,2 x4  34,1
2
3
4
 1
2. Методом прогонки розв’язати СЛАР з тридіагональною матрицею коефіцієнтів:
1.
2.
3.
4.
 11x1  9 x 2  122,
5 x1  15x2  2 x3  48,
  8 x 2  11x3  3 x4  14,
6 x3  15x4  4 x5  50,
3 x4  6 x5  42.
13x1  5 x 2  66,
 4 x1  9 x 2  5 x3  47,
  x 2  12x3  6 x 4  43,
6 x3  20x 4  5 x5  74,
4 x 4  5 x5  14.
8 x1  4 x 2  48,

 5 x1  22 x 2  8 x3  125,
  5 x 2  11x3  x 4  43,
 9 x3  15x 4  x5  18,

 x 4  7 x5  23.
15x1  8 x 2  92,
2 x1  15x 2  4 x3  84,
 4 x 2  11x3  5 x 4  77,
 3 x3  16 x 4  7 x5  15,
3 x 4  8 x5  11.
16.
17.
18.
19.
10x1  5 x 2  120,
3 x1  10 x 2  2 x3  91,
 2 x 2  9 x3  5 x 4  5,
5 x3  16x 4  4 x5  74,
 8 x 4  16 x5  56.
 14 x1  6 x 2  78,
 9 x1  15x 2  x3  73,
 x 2  11x3  x 4  38,
 7 x3  12 x 4  3 x5  77,
6 x 4  7 x5  91.
6 x1  5 x 2  58,
 6 x1  16 x 2  9 x3  161,
 9 x 2  17 x3  3 x 4  114,
8 x3  22x 4  8 x5  90,
6 x 4  13x5  55.
 11x1  8 x 2  99,
9 x1  17 x 2  x3  75,
  4 x 2  20x3  9 x 4  66,
 4 x3  14x 4  3x5  54,
 6 x 4  14x5  8.
8 x1  4 x 2  32,
 2 x1  12 x 2  7 x3  15,
5.  2 x 2  9 x3  x 4  10,
 8 x3  17 x 4  4 x5  133,
 7 x 4  13x5  76.
16x1  9 x 2  27,
8 x1  13x 2  5 x3  84,
20.   3 x 2  21x3  9 x 4  225,
 9 x3  16x 4  5 x5  89,
 x 4  9 x5  69.
 10x1  9 x 2  7,
 5 x1  21x 2  8 x3  29,
6.  7 x 2  12x3  2 x 4  31,
8 x 4  2 x5  56,
2 x 4  10x5  24.
 11x1  9 x 2  114,
 x1  8 x 2  x3  81,
21.   2 x 2  11x3  5 x 4  8,
3 x3  14 x 4  7 x5  38,
8 x 4  10x5  144.
11
7.
8.
9.
10.
14x1  9 x 2  125,
 8 x1  14x 2  6 x3  56,
 5 x 2  17 x3  8 x 4  144,
 x3  5 x 4  2 x5  36,
 4 x 4  10x5  70.
16x1  8 x 2  0,
 7 x1  16 x 2  5 x3  123,
4 x 2  12x3  3 x 4  68,
 4 x3  12 x 4  7 x5  104,
 x 4  7 x5  20.
 6 x1  5 x 2  51,
 x1  13x 2  6 x3  100,
 9 x 2  15x3  4 x 4  12,
 x3  7 x 4  x5  47,
9 x 4  18x5  90.
10x1  x 2  16,
 8 x1  16x 2  x3  110,
6 x 2  16x3  6 x 4  24,
 8 x3  16x 4  5 x5  3,
5 x 4  13x5  87.
22.
23.
24.
25.
 x1  x 2  4 ,
7 x1  17 x 2  8 x3  132,
 9 x 2  19x3  8 x 4  59,
7 x3  20x 4  4 x5  193,
 4 x 4  12x5  40.
18x1  9 x 2  81,
2 x1  9 x 2  4 x3  71,
 9 x 2  21x3  8 x 4  39,
 4 x3  10x 4  5 x5  64,
7 x 4  12x5  3.
8 x1  2 x 2  14,
7 x1  19 x 2  9 x3  55,
 4 x 2  21x3  8 x 4  49,
7 x3  23x 4  9 x5  86,
4 x 4  7 x5  8.
 6 x1  6 x 2  30,

2 x1  10 x 2  7 x3  31,
 8 x 2  18x3  9 x 4  108,
6 x3  17 x 4  6 x5  114,
9 x 4  14x5  124.

7 x1  2 x 2  65,
 3 x1  7 x 2  4 x3  23,
11.  2 x 2  15x3  5 x 4  1,
 2 x3  12 x 4  8 x5  58,
 3 x 4  10x5  8.
 7 x1  6 x 2  75,
6 x1  12x 2  126,
26.  3x 2  5 x3  13,
 9 x3  21x 4  8 x5  40,
 5 x 4  6 x5  24.
7 x1  5 x 2  38,
 6 x1  19x 2  9 x3  14,
12. 6 x 2  18x3  7 x 4  45,
 7 x3  11x 4  2 x5  30,
5 x 4  7 x5  48.
 11x1  9 x 2  117,
 9 x1  17 x 2  6 x3  97,
27. 5 x 2  20 x3  8 x 4  6,
 6 x3  20 x 4  7 x5  59,
2 x 4  8 x5  86.
12 x1  5 x 2  148,
 3 x1  18x 2  8 x3  45,
13.  2 x 2  16 x3  9 x 4  155,
 4 x3  18x 4  7 x5  11,
4 x 4  9 x5  3.
 6 x1  3 x 2  33,
6 x1  23x 2  9 x3  107,
14. 2 x 2  7 x3  x 4  18,
4 x3  15x 4  9 x5  69,
5 x 4  11x5  31.
 11x1  9 x 2  158,
 8 x1  6 x 2  66,
15. 6 x 2  15x3  2 x 4  45,
4 x3  6 x 4  x5  24,
 7 x 4  10 x5  1.
 12x1  7 x 2  102,
 7 x1  11x 2  3x3  92,
28.  7 x 2  21x3  8 x 4  65,
4 x3  13x 4  5 x5  38,
 6 x 4  14x5  12.
 14x1  6 x 2  82,
2 x1  7 x 2  51,
29.  7 x 2  18x3  9 x 4  46,
2 x3  13x 4  2 x5  111,
 7 x 4  7 x5  35.
6 x1  3 x 2  0,
 9 x1  17 x 2  3 x3  99,
30.  3 x 2  12 x3  7 x 4  107,
2 x3  9 x 4  6 x5  5,
 4 x 4  5 x5  6.
12
ПРИКЛАД РОЗРАХУНКІВ
1. Методом Гауса за схемами єдиного ділення та вибору головного елемента розв’язати
СЛАР.
0,11x1  1,13x2  0,17 x3  0,18x4  1,0
0,13x1  1,17 x2  0,18x3  0,14x4  0,13
0,11x  1,05x  0,17 x  0,15x  0,11
0,15x1  0,05x2  0,18x3  0,11x4  1,0
1
2
3
4

Розв’яжемо систему функцією Mathcad Find:
ORIGIN 1
 0.11 1.13 0.17 0.18 


0.13 1.17 0.18 0.14 

A 
 0.11 1.05 0.17 0.15
 0.15 0.05 0.18 0.11


Given
A x
 0 
0
x   
 0
 0
 
 1 
0.13
b  
 0.11
 1 
 
b
 5.722 
0.516 
Find ( x)  
 0.496 
 0.711


Отримаємо розв’язок методом Гауса за схемою єдиного ділення. Формуємо розширену
матрицю, додаємо вектор вільних членів стовпцем справа.
 0.11 1.13 0.17 0.18 1 
0.13 1.17 0.18 0.14 0.13
A 
 0.11 1.05 0.17 0.15 0.11
 0.15 0.05 0.18 0.11 1 


Метод Гауса (схема єдиного ділення)
Перший крок. Вилучимо з системи невідому x1 . Для цього перше рівняння оголосимо головним і розділимо його на коефіцієнт при x1 - a1,1 .
k  1
 1 10.273 1.545 1.636 9.091
0.13 1.17 0.18 0.14 0.13 
j  5 1 A k j 
A 
A
 0.11 1.05 0.17 0.15 0.11 
k k
 0.15 0.05 0.18 0.11 1 


Далі від другого рівняння віднімемо головне, помножене на коефіцієнт a2,1 ; від третього
A
k j
рівняння віднімемо головне, помножене на коефіцієнт a3,1 ; від четвертого рівняння віднімемо головне, помножене на коефіцієнт a4,1 .
 1
0
i  2 4 j  5 1
A  A  A  A
A 
i j
i j
i k k j
0
0

Аналогічно вилучимо з системи невідомі x2 , x3 , x4
13
10.273 1.545 1.636 9.091 

2.505 0.381 0.073 1.052
2.18
0
0.33 0.89 

1.591 0.412 0.355 0.364
(кроки -2, 3 ,4):
k  2
i  3 4
k  3
A
j  5 2
A
j  5 2

k j
A
i j
A
A
k j

k k
 A
A
j  5 3
k j
A
i j
k j
k k
 1 10.273 1.545 1.636 9.091 
0
1
0.152 0.029 0.42 
A 
 0 2.18 0
0.33 0.89 
 0 1.591 0.412 0.355 0.364


 1 10.273 1.545 1.636
0
1
0.152 0.029
 A A
A 
i k k j
 0 0 0.331 0.267
0 0
0.17 0.309

1
10.273

1.545
1.636
9.091 


0
1
0.152 0.029 0.42 

A 
0 0
1
0.805 0.076
0 0

0.17 0.309 0.304 

 1 10.273 1.545
0
1
0.152
A 
0 0
1
0 0
0

9.091

0.42 
0.025

0.304
1.636 9.091 


i j
i j
i k k j
0.805 0.076

0.446 0.317 
 1 10.273 1.545 1.636 9.091 
A
0
1
0.152 0.029 0.42 
k j
k  4 j  5 3
A 
A

k j
0 0
1
0.805 0.076
A
k k
0 0

0
1
0.711

Матриця коефіцієнтів системи A зведена до трикутного вигляду. Виконуємо зворотний хід
прямими підстановками: спочатку з останнього рівняння визначимо x4 . Потім з третього x3 через x4 ; з другого - x2 через x3 і x4 ; і, нарешті, з першого - x1 через x2 , x3 і x4 :
i  4
i  4
j  5 3
x  A
i
 A
A
x  A
i
i 5

 Aik xk 
k 4
Відповідь:
A
0.029
0.42
i 5
i 1
i  3 1
A
 5.722 
0.516 
x
 0.496 
 0.711


 5.722 
0.516 
x
 0.496 
 0.711


Метод Гауса (схема вибору головного елемента)
Тепер отримаємо розв’язок методом Гауса за схемою вибору головного елемента. Формуємо

розширену матрицю, додаємо вектор вільних членів стовпцем справа. Вектор m зберігає
порядок наступності невідомих.
 0.11 1.13 0.17 0.18 1 
 1 
0.13 1.17 0.18 0.14 0.13
2
A 
m   
 0.11 1.05 0.17 0.15 0.11
 3
 0.15 0.05 0.18 0.11 1 
 4


 
Крок перший. В матриці А обираємо найбільший по модулю елемент (останній стовпець не розглядаємо). Найбільший за модулем елемент A2,2=-1.17 . Виводимо його на місце елемента А1,1:
k  1
p  2
q  2
14
A  for j  1  5
t A
A
k j
A
p j
 0.13
0.11
A 
 0.11
 0.15

k j
A
p j
t
A  for i  1  4
t A
0.14 0.13
1.17 0.18


1.05 0.17 0.15 0.11

0.05 0.18 0.11 1 
 1.17
1.13
A 
 1.05
 0.05

1.13 0.17 0.18
1
0.14 0.13
0.13 0.18


A
A
i k
i q
0.11 0.17 0.15 0.11

A
t
0.15 0.18 0.11 1 
i q

Змінюємо порядок невідомих у векторі m :
m 
i k
0.11 0.17 0.18
1
t m
k
T
m  (2 1 3 4)
m m
k
q
m t
q
Далі застосовуємо алгоритм схеми єдиного ділення.
 1
1.13
A 
 1.05
 0.05

0.111 0.154 0.12 0.111


j  5 1
A

k j
0.11 0.17 0.15 0.11 
A
k k

0.15
0.18 0.11
1 
 1 0.111 0.154
0 0.236 0.004
i  2 4 j  5 1 A  A  A  A
A 
i j
i j
i k k j
 0 0.007 0.332
 0 0.144 0.172

Наступні кроки виконуємо аналогічно.
Найбільший за модулем елемент A3,3=-0,332 тоді
A
k  2
k j
p  3
q  3
0.17 0.18
0.11
1
0.12 0.111

0.315 1.126 
0.276 0.007

0.116 0.994 
T
m  (2 1 3 4)
A  for j  1  5
t A
A
k j
A
p j
k j
A
p j
t
A  for i  1  4
t A
A
A
m 
i k
i q
i k
A
t
i q
 1
0
A 
0
0

 1
0
A 
0
0

0.111 0.154 0.12 0.111

0.007 0.332 0.276 0.007
0.236 0.004 0.315 1.126 

0.144 0.172 0.116 0.994 
0.154 0.111 0.12 0.111

0.332 0.007 0.276 0.007
0.004 0.236 0.315 1.126 

0.172 0.144 0.116 0.994 
t m
k
m m
k
m t
q
T
m  (2 3 1 4)
q
15
j  5 1
A
A
i  3 4

k j
A
j  5 1
k j
k k
A
i j
 A
i j
A
 1 0.154
0
1
A 
 0 0.004
 0 0.172

i k
A
0.111 0.12 0.111


0.236 0.315 1.126 

0.144 0.116 0.994 
0.02
p  3
0.02
k j
 1 0.154 0.111
0
1
0.02
A 
0 0
0.235
0 0
0.141

Найбільший за модулем елемент A3,4=0.312, тоді
k  3
0.831
q  4
0.12 0.111


0.312 1.125 

0.259 0.991 
0.831
0.02
T
m  (2 3 1 4)
A  for j  1  5
t A
A
k j
A
p j
k j
A
 1 0.154
0
1
A 
0 0
0 0

p j
t
A  for i  1  4
t A
m 
A
i k
A
i q
i k
A
 1 0.154
0
1
A 
0 0
0 0

i q
t
0.831
0.02
0.12 0.111 0.111


0.312 0.235 1.125 

0.259 0.141 0.991 
0.831
0.02
0.02
k
k
q
T
m  (2 3 4 1)
m t
q
A
j  5 1
A
k j
j  5 1

A
A
i j
 1 0.154 0.12
0
1
0.831
A 
0 0
1
 0 0 0.259

k j
k k
 A
i j
A
i k
A
k j
Останній крок:
k  4


0.235 0.312 1.125 

0.141 0.259 0.991 
0.02
t m
m m
i  4
0.111 0.12 0.111
j  5 1
A
A
k j

A
k j
k k
0.111 0.111


0.755 3.607 

0.141 0.991 
0.02
0.02
 1 0.154 0.12
0
1
0.831
A 
0 0
1
0 0
0

0.111 0.111


0.755 3.607 

0.337 1.926 
0.02
 1 0.154 0.12 0.111
0
1
0.831 0.02
A 
0 0
1
0.755
0 0
0
1

0.02
0.111


3.607 

5.722 
0.02
Матриця коефіцієнтів системи A зведена до трикутного вигляду. Виконуємо зворотний хід

прямими підстановками. Результат запишемо в проміжний вектор y :
16
i  4
y  A
i
i 5
i 1
i  3 1
y  A
i
i 5


A
y
i k k

k 4
 0.516 
0.496 
y 
 0.711
 5.722 



Змінимо порядок змінних згідно вектору m :
T
m  (2 3 4 1)
 5.722 
0.516 
x
 0.496 
 0.711


x  for i  1 4
 mi
x
y
i
 5.722 
0.516 
Відповідь: x  
 0.496 
 0.711


Метод LU-розкладання
Сформуємо матрицю із коефіцієнтів системи:
 0.11 1.13 0.17 0.18 
0.13 1.17 0.18 0.14 
A  
 0.11 1.05 0.17 0.15
 0.15 0.05 0.18 0.11


Формуємо М(1):
 1
0
M1  
0
0

0 0 0

1 0 0
A
 1
0 1 0
A
1.1818
1 1
M1  

0 0 1
 1
 1.3636

(1)
Помножимо матрицю А зліва на М , отримаємо матрицю А(1):
 0.11 1.13 0.17 0.18 
0 2.5055 0.3809 0.0727
A1  
A1  M1 A
 0 2.18
0
0.33 
 0 1.5909 0.4118 0.3555


Утворимо матрицю М(2):
i  2 4
M1
i 1

i 1
0
0 0
 1 0 0 0 
 1

A1
0 1 0 0
0
1
0 0
i 2


M2 
M2 
i  3 4
M2 
i 2
 0 0 1 0
 0 0.8701 1 0 
A1
2 2
 0 0 0 1
 0 0.635 0 1 




(1)
(2)
Помножимо матрицю А зліва на М , отримаємо матрицю А(2):
A2  M2 A1
 0.11 1.13
0 2.5055
A2  
 0
0
 0
0


0.3809 0.0727
0.3314 0.2667

0.1699 0.3093
0.17
0.18
17
0 0 0

1 0 0
0 1 0

0 0 1
Утворимо матрицю М(3):
 1
0
M3  
0
0

0 0 0

1 0 0
A2
i  4
0 1 0
M3

i 3

A2
0 0 1
0
 1
0
1
M2  
 0 0.8701
 0 0.635

i 3
3 3
0 0

0 0
1 0

0 1
Помножимо матрицю А(2) зліва на М(3), отримаємо матрицю А(3), яка буде також матрицею U:
 0.11 1.13 0.17
0 2.5055 0.3809
A3  
 0
0
0.3314
 0
0
0

A3  M3 A2
0.18

0.0727
0.2667

0.446 
U  A3
 0.11 1.13 0.17 0.18 
0 2.5055 0.3809 0.0727
U
 0
0
0.3314 0.2667
 0

0
0
0.446 

Нижню трикутну матрицю L отримуємо за ненульових стовпців матриць M (1) ,M ( 2) , M (3)
(знаки змінюються!):
0
0
0
 1

1
0
0
 1  1.1818
L  ( M3  M2  M1 )

 1 0.8701 1
0
 1.3636 0.635 0.5128 1 


Виконаємо перевірку отриманого розкладання:
 0.11 1.13 0.17 0.18 
 0.11 1.13 0.17 0.18 
0.13 1.17 0.18 0.14 
0.13 1.17 0.18 0.14 
L U  
A 
 0.11 1.05 0.17 0.15
 0.11 1.05 0.17 0.15
 0.15 0.05 0.18 0.11
 0.15 0.05 0.18 0.11






Тепер розв’яжемо систему L  y  b , яка має вигляд:
 y1  1,00
1,1818 y  y  0,13

1
2

1y1  0,8701 y 2  y3  0,11
1,3636 y1  0,635  y 2  0,5128 y3  y 4  1,00
y  b
1
1
y  b  L
y
y  b  L
y  L
y
y  b  L
y  L
y  L
2
3
4
2
3
4
2 1 1
3 1 1
4 1 1
3 2 2
4 2 2
y
4 3 3
 1 
1.0518
y 
 0.0252 
 0.3172 


18
 
Розв’яжемо систему U  x  y :
 0,11 x1  1,13  x2  0,17  x3  0,18  x4  1,00
 2,5055 x  0,3809 x  0,0727  x  1,0518

2
3
4

 0,3314 x3  0,2667  x4  0,0252


 0,4460 x4  0,3172
y
x 
4
4
U
y U
4 4
x 
3
x
3 4 4
3
U
3 3
y U
x 
2
2
x  U
2 4 4
x
2 3 3
U
y U
2 2
x 
1
x  U
1 4 4
1
U
1 1
 5.722 
0.516 
Відповідь: x  
 0.496 
 0.711


x  U
1 3 3
x
1 2 2
 5.7217 
0.5159 
x
 0.4962 
 0.7111


2. Методом прогонки розв’язати СЛАР з тридіагональною матрицею коефіцієнтів:
5 x1  x 2  2,
 9 x1  15x 2  x3  73,
2 x 2  22x3  8 x 4  90,
6 x3  15x 4  4 x 4  50,
 x 4  7 x5  23.
Розв’яжемо систему функцією Mathcad Find:
5
 9

A   0
0

0
1 0
0
15 1
0
2 22 8
0
6 15
0
0
1
0

0

0  x 
4

7
 0
 0
 
 0
 0
 
 0
 2 
 73
 
b   90
 50
 
 23
Given
 0.7 
 5.498


Find ( x)   3.175
 1.143 


 3.449
Ax
b
Метод прогонки
Запишемо коефіцієнти системи в окремі вектори (вимірність всіх векторів оберемо однакової
n+1=5+1=6, нульові компоненти приймемо рівні нулю):
ORIGIN 0
 0 
0
 5 
0
 
 

9
 15 
a    b 
 22  c 
2
 15
6
 
 
 7 
1
 0 
0
 2 
 1 
 
 
 1  d   73
 90
 8 
 50
4
 
 
 23
0
 0
 0
 0
 0
 
 
0
0

 
   
 0
 0
 0
 0
 
 
 0
 0
19
Знайдемо прогоночні коефіцієнти:
i  1 5
c
 
i
a
d a 
i
i i 1
b
 
i
i
a
i i 1
i
Знайдемо значення невідомих:
 0
 
 0
 0
x   
0
 
 0
 
 5
i  4 1
x    x
i
 0.7 
 5.498


Відповідь: x   3.175
 1.143 


 3.449
i
i 1
i

i
i 1
b
i
 0 
 0 
 0.2 
 0.4 




0.076
5.258



 
 0.361
 3.588
 0.312
 2.219 




 0 
 3.449
 0 
 0.7 


5.498

x
 3.175
 1.143 


 3.449
КОНТРОЛЬНІ ПИТАННЯ ДЛЯ САМОПЕРЕВІРКИ
1.
2.
3.
4.
5.
6.
7.
8.
На які дві групи поділяються методи розв’язання СЛАР?
Сутність методу Гауса?
Поясніть поняття "прямий хід" та "обернений хід" методу Гауса.
Алгоритм схеми єдиного ділення.
Алгоритм схеми повного вибору.
Які схеми реалізації прямого ходу вам ще відомі?
Алгоритм методу прогонки.
Як зберігають в пам’яті комп’ютера при обчисленнях розріджені матриці?
20
ТЕМА 2. Ітераційні методи розв’язування систем
лінійних алгебраїчних рівнянь
Лiтература: [1], пп. 5.7-5.11; [3], §§2.8-2.10; [4], §1.6; [5], п. 1.1.4; [6], гол. 3
ТЕОРЕТИЧНІ ВІДОМОСТІ
Ітераційні методи використовують зазвичай для систем великої вимірності
( n  100 ), коли використання прямих методів є недоцільним через необхідність
виконувати занадто велику кількість арифметичних операцій. Прямі методи дозволяють отримати точний розв’язок, але він не може бути досягнутий через
накопичення похибок заокруглень при виконанні арифметичних операцій.
Отриманий розв’язок може значно відрізнятися від точного. Ітераційними методами в таких випадках отримують розв’язки з більшою точністю ніж прямі.
Ітераційні методи передбачають побудову обчислювального (ітераційного)
процесу, який дозволяє отримати послідовності наближень (ітерацій) розв’язку
СЛАР, починаючи з деякого довільного наближення:
 x1( 0) 
 x1(1) 
 x1( 2 ) 
 x1( s ) 
 (0) 
 (1) 
 ( 2) 


 (s)  x (s) 
 ( 0 )  x   (1)  x   ( 2)  x 
, які збігаються до тоx  2 , x  2 , x  2 , …, x  2
 ... 
 ... 
 ... 
 ... 
 x (0) 
 x (1) 
 x ( 2) 
 x (s) 
 n 
 n 
 n 
 n 
 (s) 
чного lim x  x .
s 
Розглянемо систему лінійних алгебраїчних рівнянь із n-невідомими:
a11 x1  a12 x2  a13 x3  ...  a1n xn  b1 , 
a21 x1  a22 x2  a23 x3  ...  a2 n xn  b2 , ,
(16)

...............................................

an1 x1  an 2 x2  an3 x3  ...  ann xn  bn 
 a11 a12 ... a1n 
 b1 
a

 

де A   21 a22 ... a2 n  - матриця коефіцієнтів системи; b   b2  - вектор
... ... ... 
 ...
 ... 

 bn 
 an1 an 2 ... ann 
 x1 
  
вільних членів; x   x2  - вектор невідомих.
 ... 
 xn 
Для побудови ітераційного процесу систему (16) приведемо до вигляду:
x1  1  11 x1  12 x2  13 x3  ...  1n xn ,


x2   2   21 x1   22 x2   23 x3  ...   2n xn ,

x3  3   31 x1   32 x2   23 x3  ...   3n xn ,
(17)
,
......................................................................

xn   n   n1 x1   n 2 x2   n3 x3  ...   n, n 1 xn 1 ,
21
 

або x    x . Така система називається зведеною, її можна отримати, наприклад, якщо кожне i-рівняння системи (16) розв’язати відносно змінної xi :
a
a
b
a

x1  1
 12 x2  13 x3  ...
 1n xn , 
a11
a11
a11
a11

a23
a2 n
b2 a21
x2 

x1

x3  ...

xn ,
a22 a22
a22
a22

b3 a31
a32
a3n

x3 

x1 
x2 
...

xn , 
a33 a33
a33
a33

......................................................................................

bn
an1
an 2
an3
ann 1

xn 

x1 
x2 
x3  ... 
xn 1 ,

ann ann
ann
ann
ann


aij
b
Тоді: i  i ;  ij   ; i, j  1,2,..., n; i  j; якщо i  j, то ii  0.
(18)
aii
aii
При побудові ітерацій постають питання про початок і кінець процесу обчислень. Будь який ітераційний процес починається з того, що задається початкове
наближення. Як правило припускають, що



(19)
x (0)  0 , або x ( 0)   .
Так як наближений розв’язок шукається з наперед заданою точністю , то
послідовність повинна мати скінчену кількість членів, які отримуються за скінчену кількість ітерацій.
Найпростіша умова закінчення ітераційного процесу:
(20)
max xi( s 1)  xi( s )   .
1 i  n
Тобто, обчислення продовжують до тих пір, доки абсолютна величина різниці
між попереднім й наступним наближеннями не стане менше деякої наперед заданої точності :
Для дослідження збіжності ітераційного процесу користуються теоремою
про достатню умову збіжності:
Якщо для зведеної системи (17) будь-яка канонічна норма матриці  менше
одиниці   1 , то ітераційний процес збігається до єдиного розв’язку цієї
системи, незалежно від вибору початкового наближення.
Нормою матриці  називається дійсне число  , що задовольняє певним
умовам, найбільш важливі з яких такі:
-  0, причому  =0 тільки коли  - нульова матриця;
-
с    с   , де с – дійсне число сR.
Норма називається канонічною, якщо    ij , тобто вона не менше модуля будь-якого елементу матриці .
На практиці зазвичай користуються трьома канонічними нормами:
22
-
 1  max   ij - додаються за модулем всі рядки матриці і максимаi
j
льна сума обирається нормою;
-  2  max   ij - додаються за модулем всі стовпці матриці і максимаj
i
льна сума обирається нормою;
-
3
 ij
2
- додаються квадрати всіх елементів матриці і корінь з
i, j
цієї суми буде нормою.
Умова збіжності по відношенню до матриці А початкової системи (16) набуває такого змісту: процес ітерації буде збіжним, якщо модулі діагональних
елементів матриці А будуть більші за суму модулів її сторонніх елементів (в
рядку або стовпці):
aii 
n

j 1,
j i
aij або a jj 
n
 aij
(i, j  1,2,..., n) .
(21)
i 1,
i j
Виконання цих умов можна досягти, якщо застосувати правила лінійного
комбінування рівнянь системи.
Метод простої ітерації. Кожне наступне наближення і-ой невідомої xi( s 1) ,
і=1,2,…, n визначається за допомогою системи рівнянь (11), в яких всі доданки
правої частини беруться з попередній s-ітерації:
x1( s 1)  1
 12 x2 ( s )  13 x3( s )  ...
 1n xn ( s ) , 

x2 ( s 1)   2   21 x1( s )
  23 x3( s )  ...
  2 n xn ( s ) ,

(22)
x3( s 1)  3   31 x1( s )   32 x2 ( s )
 ...
  3n x n ( s ) , 
......................................................................

( s 1)
(s)
(s)
(s)
(s)

xn
 n  n1 x1   n 2 x2   n3 x3  ...   n, n 1 xn 1 .

Або система (10) в компактній формі:
xi( s 1)   i 
n
 ij x (js ) ;
i  1,2,..., n; s  0,1,2,...
j 1
j i
(23)
Метод Зейделя являє собою деяку модифікацію метода простої ітерації. А
саме, при обчисленні (s+1)-ого наближення невідомої x i враховуються вже обчислені раніше значення невідомих на поточній ітерації x1( s 1) , x2( s 1) ,..., xi(s11) :
x1( s 1)  1
 12 x2 ( s )  13 x3( s )  ...
 1n xn ( s ) , 

x2 ( s 1)   2   21 x1( s 1)
  23 x3( s )  ...
  2 n xn ( s ) , 

x3( s 1)  3  31 x1( s 1)   32 x2 ( s 1)
 ...
  3n x n ( s ) , 
......................................................................

( s 1)
( s 1)
( s 1)
( s 1)
( s 1)
xn
 n  n1 x1
  n 2 x2
  n3 x3
 ...   n, n 1 xn 1
. 

23
(24)
або
xi( s 1)
 i 
i 1
 ij x (js 1)
j 1


n
  ij x (js ) ; i  1,2,..., n;
s  0,1,2,...
j  i 1
(25)
ЗАВДАННЯ
1. Розв’язати СЛАР методами простої ітерації та Зейделя з точністю   0,001.
Порівняти швидкість збіжності обох методів.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 x1  1,24  0,04x2  0,21x3  0,18x4
 x2  0,88  0,45x1  0,23x3  0,06x4
 x  0,62  0,26x  0,34x  0,11x
 x3  1,17  0,051x  0,26x2  0,344x
1
2
3
 4
 x1  0,64  0,12x2  0,34x3  0,16x4
 x2  1,42  0,34x1  0,17 x3  0,18x4
 x  0,42  0,16x  0,34x  0,31x
 x3  0,83  0,12x 1 0,26x 2 0,08x 4
1
2
3
 4
 x1  1,83  0,18x2  0,02x3  0,21x4
 x2  0,65  0,16x1  0,14x3  0,27 x4
 x  2,23  0,37x  0,27 x  0,24x
 x3  1,13  0,12x1  0,21x2  0,18x4
1
2
3
 4
 x1  0,04  0,42x2  0,32x3  0,03x4
 x2  1,42  0,11x1  0,26x3  0,36x4
 x  0,83  0,12x  0,08x  0,24x
 x3  1,42  0,15x1  0,35x2  0,18x 4
1
2
3
 4
 x1  1,33  0,34x2  0,12x3  0,15x4
 x2  0,84  0,11x1  0,15x3  0,32x4
 x  1,16  0,05x  0,12x  0,18x
 x3  0,57  0,12x 1 0,08x 2 0,06x 4
1
2
3
 4
 x1  2,13  0,23x2  0,44x3  0,05x4
 x2  0,18  0,24x1  0,31x3  0,15x4
 x  1,44  0,06x  0,15x  0,23x
 x3  2,42  0,72x1  0,08x2  0,05x4
1
2
3
 4
 x1  1,71  0,31x2  0,18x3  0,22x4
 x2  0,62  0,21x1  0,33x3  0,22x4
 x  0,89  0,32x  0,18x  0,19x
 x3  0,94  0,12x 1 0,28x 2 0,14x 4
1
2
3
 4
 x1  1,21  0,27 x2  0,22x3  0,18x4
 x2  0,33  0,21x1  0,45x3  0,18x4
 x  0,48  0,12x  0,13x  0,18x
 x3  0,17  0,33x1  0,05x2  0,06x4
1
2
3
 4
 x1  0,81  0,07 x2  0,38x3  0,21x4
 x2  0,64  0,22x1  0,11x3  0,33x4
 x  1,71  0,51x  0,07 x  0,11x
4
 x3  1,21  0,331x  0,412x
1
2
 4
 x1  2,7  0,22x2  0,11x3  0,31x4
 x2  1,5  0,38x1  0,12x3  0,22x4
 x  1,2  0,11x  0,23x  0,51x
1
2
4
 x3  0,17  0,17
x1  0,21x2  0,31x3
 4
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
24
 x1  1,42  0,23x2  0,18x3  0,17 x4
 x2  0,83  0,12x1  0,08x3  0,09x4
 x  1,21  0,16x  0,24x  0,35x
 x3  0,65  0,23x1  0,08x2  0,05x4
1
2
3
 4
 x1  1,42  0.21x2  0,06x3  0,34x4
 x2  0,57  0,05x1  0,32x3  0,12x4
 x  0,68  0,35x  0,27 x  0,05x
 x3  2,14  0,121x  0,43x2  0,04x4
1
2
3
 4
 x1  1,42  0,27 x2  0,13x3  0,11x4
 x2  0,48  0,13x1  0,09x3  0,06x4
 x  2,34  0,11x  0,05x  0,12x
 x3  0,72  0,13x 1 0,18x 2 0.24x 4
1
2
3
 4
 x1  0,48  0,05x2  0,08x3  0,14x4
 x2  1,24  0,32x1  0,12x3  0,11x4
 x  1,15  0,17 x  0,06x  0,12x
1
2
4
 x3  0,88  0,21
x1  0,16x2  0,36x3
 4
 x1  0,21  0,28x2  0,17 x3  0,06x4
 x2  1,17  0,52x1  0,12x3  0,17 x4
 x  0,81  0,17 x  0,18x  0,21x
 x3  0,72  0,11x 1 0,22x 2 0,03x 4
1
2
3
 4
 x1  0,22  0,52x2  0,08x3  0,13x4
 x2  1,8  0,07 x1  0,05x3  0,41x4
 x  1,3  0,04x  0,42x  0,07 x
 x3  0,33  0,17 x1  0,18x 2  0,13x 4
1
2
3
 4
 x1  1,3  0,02x2  0,62x3  0,08x4
 x2  1,1  0,28x1  0,33x3  0,07 x4
 x  1,7  0,09x  0,13x  0,28x
 x3  1,5  0,19x 1 0,23x 2 0,8 x 4
1
2
3
 4
 x1  1,2  0,17 x2  0,33x3  0,18x4
 x2  0,33  0,18x1  0,43x3  0,08x4
 x  0,48  0,22x  0,18x  0,07 x
 x3  1,2  0,08x1  0,07 x2  0,21x4
1
2
3
 4
 x1  0,43  0,05x2  0,22x3  0,33x4
 x2  1,8  0,22x1  0,08x3  0,07 x4
 x  0,8  0,33x  0,13x  0,05x
 x3  1,7  0,08x 1 0,17 x 2 0,29x 4
1
2
3
 4
 x1  0,11  0,22x2  0,33x3  0,07 x4
 x2  0,33  0,45x1  0,23x3  0,07 x4
 x  0,85  0,11x  0,08x  0,18x
 x3  1,7  0,08x1  0,09x2  0,33x4
1
2
3
 4
11.
12.
13.
14.
15.
 x1  0,51  0,08x2  0,11x3  0,18x4
 x2  1,17  0,18x1  0,52x3  0,21x4
 x  1,02  0,13x  0,31x  0,21x
 x3  0,28  0,08x1  0,33x2  0,28x4
1
2
3
 4
 x1  2,17  0,06x2  0,12x3  0,14x4
 x2  1,4  0,04x1  0,08x3  0,11x4
 x  2,1  0,34x  0,08x  0,14x
 x3  0,8  0,11x1  0,12x 2  0,03x 4
1
2
3
 4
 x1  1,2  0,08x2  0,03x3  0,04x4
 x2  0,81  0,31x2  0,27 x3  0,08x4
 x  0,92  0,33x  0,07 x  0,21x
2
4
 x3  0,17  0,11x 1 0,03x 
1
2 0,58x3
 4
 x1  1,24  0,23x2  0,25x3  0,16x4
 x2  0,89  0,14x1  0,18x3  0,24x4
 x  1,15  0,33x  0,03x  0,32x
 x3  0,57  0,121 x  0,052x  0,154x
1
2
3
 4
 x1  1,21  0,14x2  0,06x3  0,12x4
 x2  0,72  0,12x1  0,32x3  0,18x4
 x  0,58  0,08x  0,12x  0,32x
1
2
4
 x3  1,56  0,25x 
1 0,22x 2  0,14x3
 4
26.
27.
28.
29.
30.
 x1  2,42  0,16x2  0,08x3  0,15x4
 x2  1,43  0,16x1  0,11x3  0,21x4
 x  0,16  0,05x  0,08x  0,34x
1
2
4
 x3  1,62  0,12x 
1 0,14x 2  0,18x3
 4
 x1  1,34  0,08x2  0,23x3  0,32x4
 x2  2,33  0,16x1  0,18x3  0,16x4
 x  0,34  0,15x  0,12x  0,18x
 x3  0,63  0,25x1  0,21x2  0,16x4
1
2
3
 4
 x1  2,43  0,18x2  0,33x3  0,16x4
 x2  1,12  0,32x1  0,23x3  0,05x4
 x  0,43  0,16x  0,08x  0,12x
 x3  0,83  0,09x1  0,22x2  0.13x4
1
2
3
 4
 x1  1,42  0,34x2  0,23x3  0,06x4
 x2  0,66  0,11x1  0,18x3  0,36x4
 x  1,08  0,23x  0,12x  0,35x
 x3  1,72  0,12x1  0,12x2  0,47 x4
1
2
3
 4
 x1  0,67  0,23x2  0,11x3  0,06x4
 x2  0,88  0,18x1  0,12x3  0,33x4
 x  0,18  0,12x  0,32x  0,07 x
 x3  1,44  0,05x 1 0,11x 2 0,09x 4
1
2
3
 4
ПРИКЛАД РОЗРАХУНКІВ
1. Розв’язати СЛАР методами простої ітерації та Зейделя з точністю   0,001. Порівняти швидкість збіжності обох методів.
 x1  2,15  0,05x 2  0,11x3  0,08x 4,
 x 2  0,83  0,11x1  0,28x3  0,06x 4,
 x  1,16  0,08x  0,15x  0,12x ,
1
2
4
 3
 x 4  0,44  0,21x1  0,13x 2  0,27 x3 .

Сформуємо матрицю коефіцієнтів системи  та вектор вільних членів  :
ORIGIN 1
 2.15 
 0 0.05 0.11 0.08
0.83
0.11
0
0.28 0.06
  
  
 1.16 
 0.08 0.15 0 0.12 
 0.44 
 0.21 0.13 0.27 0 




Перевіримо виконання умови збіжності ітераційного процесу для заданої системи. Знайдемо
норми матриці :
 перша норма
4
1 

4

1 j
 0.24
j 1
2 j
 0.45
3 
4


3 j
 0.35
4 
j 1


4 j
 0.61
j 1
 1  0,61<1.
друга норма
4
1 

j 1
max(1 2 3 4 )  0.61

4

2 

i1
4

i 1
 0.4
2 

4

i 2
 0.33
3 
i1

i1
25
4

i 3
 0.66
4 

i1

i 4
 0.26
max(1 2 3 4 )  0.66

4

2
 0,66 <1.
третя норма
4
2
  ij  0.54065

3
 0,54 <1.
i 1 j 1
Всі норми вийшли менше одиниці, умова збіжності ітераційного процесу для заданої зведеної СЛАР виконується.
Метод простої ітерації
Оберемо початкове наближення розв’язку:
 2.15 
0.83
x0    
 1.16 
 0.44 


Будуємо послідовність розв’язків, контролюючи виконання досягнення заданої точності :
 2.2839 
0.9447
x1      x0 x1  
 1.5093 
 0.4326


 2.3979 
0.9754
x2      x1 x2  
x1  x2  0.1967
 1.4325 
 0.5699


2.4019



0.9331

x3      x2 x3  
x2  x3  0.0432
 1.4297 
 0.5771


 2.4001 
0.9315
x4      x3 x4  
x3  x4  0.0091
 1.4229 
 0.5717


2.3988



0.9301

x5      x4 x5  
x4  x5  0.0031
 1.4231 
 0.5693


 2.3986 
0.9304
x6      x5 x6  
x5  x6  0.0006 < 
 1.4231 
 0.5689


 2.399 
0.93 
Відповідь: x  
 1.423  , кількість ітерацій k=6.
 0.569


26
Задана точність досягнута!
Метод Зейделя
 2.15 
0.83
x0    
Початкове наближення:
 1.16 
 0.44 


Будуємо послідовність розв’язків, контролюючи виконання досягнення заданої точності :
4
x1   
1
1




1 j
 x0
j
j 1
2
x1   
3
3
4

x1    
2
2 1
2
 x1 
1
 2 j  x0j
j 2
4
3 j
 
 x1 
j
j 1

3 j
 x0
j

3
x1   
4
4
j 3
 4 j  x1j  4 4  x04
j 1
 2.2839
0.93 
x1  
 1.535 
 0.575


4
x2   
1
1


1 j
 x1
j

j 1
2
x2   
3
3
4
x2    
2
2
2 1
 x2 
1
j 2
4
 3 j  x2j   3 j  x1j
j 1
3
x2   
4
4
j 3
 2.4113 
0.9601
x2  
 1.4279 
 0.5767


 4 j  x2j  4 4  x14
j 1
x2  x1  0.1692
4
x3   
1
1
3
3
3
3




j 1
2.3986 


0.9303

x4 
 1.4231 
 0.5689


2 1
 x3 
1
 2 j  x2j
j 2
3
x3   
4
4
 4 j  x3j  4 4  x24
j 1
x3  x2  0.032
1 j
 x3
j
j 1
2
x4   
2
j 3
4
1
2
 3 j  x3j   3 j  x2j


0.9311

x3 
 1.4226 
 0.5694


1
x3    
4
j 1
2.4012 
x4   
4
 1 j  x2j
j 1
2
x3   
 2 j  x1j
4

x4    
2
2
2 1
 x4 
1
 2 j  x3j
j 2
4
3 j
 
 x4 
j

3 j
 x3
j

3
x4   
4
j 3
4
 4 j  x4j  4 4  x34
j 1
x4  x3  0.0028
27
4
x5   
1
1

j 1
2
x5   
3
3

1 j
 x4
j
4

x5    
2
j 1
2 1
1
 2 j  x4j
j 2
4
 3 j  x5j   3 j  x4j
 2.3986 
0.9305
x5  
 1.4232 
 0.5689


2
 x5 
3
x5   
4
j 3
x5  x4  0.0002 <

4
 4 j  x5j  4 4  x44
j 1
Задана точність досягнута!
 2.399 
0.93 
Відповідь: x  
 1.423  , кількість ітерацій k=5.
 0.569


Швидкість збіжності метода Зейделя виявилася більшою на одну ітерацію, ніж швидкість
метода простої ітерації.
КОНТРОЛЬНІ ПИТАННЯ ДЛЯ САМОПЕРЕВІРКИ
1. На які дві групи поділяються методи розв’язання СЛАР?
2. Сутність ітераційних методів?
3. Яка умова закінчення ітераційного процесу?
4. Як перевірити збіжність ітераційних методів?
5. Чим відрізняється метод простої ітерації від методу Зейделя?
28
ТЕМА 3. Методи визначення коренів нелінійних
рівнянь
Лiтература: [1], пп. 4.1-4.9; [4], §§1.7-1.10; [5], п. 2.1; [6], гол. 5
ТЕОРЕТИЧНІ ВІДОМОСТІ
Знаходження наближених значень дійсних коренів нелінійного рівняння:
f(x)=0
(26)
виконують у два етапи:
 відокремлюють корені, тобто визначають проміжки на числовій осі Ox, на
кожному з яких знаходиться єдиний (відокремлений) корінь рівняння;
 уточнюють відокремлені корені до потрібного наближення.
Метод послідовного перебору для відокремлення коренів базується на таких
положеннях:
- якщо неперервна на відрізку [a; b] функція приймає на його кінцях значення різних знаків (тобто f(a)f(b)<0), то рівняння (26) має на цьому відрізку принаймні один корінь;
- якщо функція f(x) до того ж ще й строго монотонна, то корінь на відрізку [a; b] єдиний.
Рис.1
Рис.2
Виходячи з приблизного графіка функції f(x), визначають інтервал [a; b].
Далі обчислюють значення f(x), починаючи з точки x  a , рухаючись управо з
деяким кроком h (рис.1). Як тільки виявиться пара сусідніх значень f(x), яка має
різні знаки, і функція f(x) монотонна на цьому відрізку, так відповідні значення
аргументу x (попереднє й наступне) можна вважати кінцями відрізку, що містить корінь.
Основні методи розв’язання нелінійних рівнянь є ітераційними. В таких методах корінь рівняння x* визначається як границя послідовності x(0), x(1), …, x(k) і неможливо визначити наперед кількість необхідних кроків для отримання рішення.
В методі половинного ділення (рис. 2) інтервал відокремлення кореня [a; b]
29
ab
, переміщують той кінець інтервалу
2
(a чи b), в якому знак функції збігається зі знаком f ( c ) . Процес ділення продовжують то тих пір, поки не виконається умова f (c)   або b  a   , де  - точність.
ділять навпіл і в серединну точку c 
У методі січних ділення відрізку [a; b] відбувається пропорційно значенню
функції в точках a та b (рис. 3). В цьому випадку точка поділу відрізка буде
знаходитися на перетині хорди AB із віссю 0x, а її абсциса x(1) є першим наближеним значенням кореня. Щоб уточнити x(1), застосуємо метод хорд до відрізка
[x(1), b] отримаємо друге наближення – x(2), і так далі. Нерухомим буде той кінець відрізка ізоляції кореня , в якому знак функції f(x) збігається зі знаком
другої похідної.
Розрахункова формула методу січних:
f ( x (k ) )
( k 1)
(k )
x
x 
 ( x ( k )  ),
(27)
(k )
f ( x )  f ( )
де =a, x(0)=b, якщо f(a)f”(a)>0, або =b, x(0)=a, якщо f(b)f”(b)>0.
Розрахунки продовжують до виконання умови x ( k 1)  x ( k )   .
Рис.3
Рис.4
У методі Ньютона ділянка кривої y=f(x) послідовно замінюється її дотичною в точці A або B (рис.4). Абсциса точки перетину дотичної з віссю 0x – x(1)
буде першим наближеним значенням кореня. Щоб уточнити x(1) застосуємо метод дотичних до відрізка [a; x(1)], отримаємо друге наближення – x(2), і так далі.
Точка, в якій будується дотична, обирається з умови співпадання знаків функції
та її другої похідної f(x)f”(x)>0.
Розрахункова формула методу Ньютона:
f ( x (k ) )
( k 1)
(k )
x
x 
,
(28)
f ( x ( k ) )
де x(0)=a, якщо f(a)f”(a)>0, або x(0)=b, якщо f(b)f”(b)>0.
30
Розрахунки продовжують до виконання умови x ( k 1)  x ( k )   .
Модифікований метод Ньютона доцільно застосовувати, якщо похідна
складно обчислюється:
f ( x (k ) )
( k 1)
(k )
x
x 
.
(29)
f ( x (0) )
У методі простої ітерації для отримання ітераційної формули, рівняння
f(x)=0 представляють у вигляді x  (x) . Вибравши початкове наближення
ab
x (0) 
, будують ітераційний процес x (1)  ( x (0) ) , x ( 2)  ( x (1) ) , …,
2
x ( k 1)  ( x ( k ) ) до тих пір, поки не виконається умова x ( k 1)  x ( k )   . Умовою
збіжності ітераційного процесу являється дотримання нерівності ( x)  1 . Чим
менше значення (x) , тим швидша збіжність методу. Початкове рівняння (26)
може бути перетворено до еквівалентного x  (x) багатьма способами. Як
правило, приймають:
f ( x)
( x)  x 
,
(30)
M
де M  max f ( x) . Знак М має збігатися зі знаком f ( x ) на [a; b].
[ a; b ]
ЗАВДАННЯ
1. Відокремити корені нелінійного рівняння графічним методом. Уточнити відокремлені корені до   0,001 методами половинного ділення; Ньютона, модифікованим Ньютона, січних, простої ітерації.
1.
x  lg( x  2)  x 2  1  0,
16.
x 5  7 x 2  3  0,
2.
lg(2 x  1)  x 3  1  0,
17.
x 6  5 x 3  2  0,
3.
lg( x  1)  x  0,5  0,
18.
x  2  2 cos(x)  0,
4.
x 6  5 x  2  0,
19.
ln( x  2)  x 4  0,5  0,
20.
3 x  1  e x  0,5  0,
5. 10 x  5 x  2  0,
6.
tg ( x)  5 x 2  1  0, x   1; 1,
21.
x 4  2 x  1  0,
7.
e x  x 3  3x 2  2 x  3  0,
22.
sin( x)  2 x 2  0,5  0,
8.
2 x  x 2  0,5  0,
23.
ln( x  2)  x 2  0,
9.
ln( x  2)  2 x 2  1  0,
24.
3 x  5 x 2  1  0,
10.
x 3  x 2  x  0,5  0,
25.
xe x  x 2  1  0,
26.
x 3  2 x 2  10x  15  0,
27.
cos(x)  0,25x  0,5  0,
11.
12.
1  x 2  e x  0,1  0,
5 x  8 ln( x)  8  0,
31
1
 0,
x
13.
x  sin( x)  0,25  0,
28.
14.
2 x  2 x 2  1  0, x  0
29.
e x  2 x  1  0,
15.
e x  x  e 3 x  4  0, x  0
30.
6 x  5 sin( x)  6  0, x  0
x 1 
ПРИКЛАД РОЗРАХУНКІВ
1. Відокремити корені нелінійного рівняння графічним методом. Уточнити відокремлені корені до   0,001 методами половинного ділення; Ньютона, модифікованим
Ньютона, січних, простої ітерації:
e 2 x  3x  4  0 .
Знайдемо корені рівняння функцією Mathcad root.
f ( x)  e
2x
 3x  4
x  0.5
root (f ( x) x)  0.474
Відокремимо корені рівняння методом послідовного перебору. Протабулюємо функцію на
відрізку [-5; 5] з кроком h=1.
2x
f ( x)  e  3x  4
a  5 b  5 h  1
i  0 10
X  a  i h
Y  f X
i
T
 i
i
X  ( 5 4 3 2 1 0 1 2 3 4 5 )
T
Y  ( 19 15.9997 12.9975 9.9817 6.8647 3 6.3891 56.5982 408.4288 2988.958 22037.4658)
Бачимо, що функція змінила свій знак на інтервалі [0; 1]. Протабулюємо функцію з меншим
кроком h=0,1 на відрізку [0; 1]:
a  0 b  1 h  0.1
i  0 10
X  a  i h
Y  f X
i
T
i
 i
X  ( 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 )
T
Y  ( 3 2.4786 1.9082 1.2779 0.5745 0.2183 1.1201 2.1552 3.353 4.7496 6.3891)
Інтервал ізоляції кореня – [0.4; 0.5]. Уточнимо корінь до   0,001.
Метод половинного ділення
a  0.4
c 
b  0.5
ab
2
a  0.4
c  0.45
b  0.5
f ( a)  0.5745
f ( c)  0.1904
f (b )  0.2183
32
Отримали два інтервали [a; c] i [c; b]. Для подальших розрахунків обираємо той, на кінцях
якого функція має різні знати, тобто [c; b].
ab
c 
a  c
2
a  0.45
c  0.475
b  0.5
f ( c)  0.0107
f (b )  0.2183
c  0.475
b  0.5
f ( c)  0.0107
f (b )  0.2183
c  0.4625
b  0.475
f ( c)  0.0906
f (b )  0.0107
a  0.4625
c  0.4688
b  0.475
f ( a)  0.0906
f ( c)  0.0402
f (b )  0.0107
f ( a)  0.1904
ab
c 
a  c
2
a  0.45
f ( a)  0.1904
b  c
c 
ab
2
a  0.45
f ( a)  0.1904
a  c
ab
c 
a  c
c 
2
ab
2
c  0.4719
a  0.4688
f ( a)  0.0402
a  c
c 
f ( c)  0.0148
f (b )  0.0107
c  0.4734
b  0.475
ab
2
a  0.4719
c 
f (b )  0.0107
f (c)  0.002
f ( a)  0.0148
a  c
b  0.475
ab
2
a  0.4734
c  0.4742
b  0.475
f (a)  0.002
f ( c)  0.0043
f (b )  0.0107
c  0.4738
b  0.4742
f ( c)  0.0011
f (b )  0.0043
b  c
c 
ab
2
a  0.4734
f (a)  0.002
b  c
a  0.4734
f (a)  0.002
c 
ab
2
b  0.4738
c  0.4736
f ( c)  0.0005 <

f (b )  0.0011
Відповідь: x=0.474 ; кількість кроків 10.
33
Метод Ньютона
Оберемо початкове наближення кореня. Для цього дослідимо знаки функції та її другої похідної на кінцях інтервалу [0,4; 0,5].
Знайдемо другу похідну f ( x)  2e 2 x  3 ; f ( x)  4e 2 x .
a  0.4
b  0.5
2 x
d
f1( x)  f ( x)  2 e  3
dx
f2( x) 
d
2
2
f ( x)  4 e
2 x
dx
f ( a)  f2( a)  5.114
f ( b )  f2( b )  2.373
Бачимо, що знаки функції та її другої похідної співпадають в кінці b, тому за початкове наближення обираємо значення 0,5.
x0  b
x1  x0 
x2  x1 
f ( x0)
f1( x0)
f ( x1)
f1( x1)
x1  0.4741
x1  x0  0.026
x2  0.4737
x2  x1  0.0004 <

Відповідь: x=0.474 ; кількість ітерацій 2.
Модифікований метод Ньютона
Початкове наближення для даного методу буде таким же, як і в методі Ньютона.
x0  b
x1  x0 
x2  x1 
f ( x0)
f1( x0)
f ( x1)
f1( x0)
x1  0.4741
x1  x0  0.026
x2  0.4737
x2  x1  0.0004 <

Відповідь: x=0.474 ; кількість ітерацій 2.
Метод січних
Обираємо початкове наближення кореня та нерухому точку . Для цього дослідимо знаки
функції та її другої похідної на кінцях інтервалу [0,4; 0,5].
f ( a)  f2( a)  5.114
  b
x1  x0 
x2  x1 
x3  x2 
f ( b )  f2( b )  2.373
x0  a
f ( x0)
f ( x0)  f ( )
f ( x1)
f ( x1)  f ( )
f ( x2)
f ( x2)  f ( )
 ( x0  )
x1  0.4725
x1  x0  0.072
 ( x1  )
x2  0.4737
x2  x1  0.0012
 ( x2  )
x3  0.4737
x3  x2  0.00002 <

Відповідь: x=0.474 ; кількість ітерацій 3.
Метод ітерацій
f ( x)
, де M  max f ( x) . ЗнайдеM
[ a; b ]
мо значення М. Для цього побудуємо графік модуля похідної функції f(x) на інтервалі [0,4; 0,5].
Приведемо початкове рівняння до еквівалентного ( x )  x 
34
f ( x)  e
2x
 3x  4
Бачимо, що найбільшого по модулю
значення похідна набуває в точці b:
d
f ( b )  8.437
db
Заокруглимо отримане значення до
більшого цілого. Знак похідної додатний. Тому:
M  9
 ( x)  x 
x0 
f ( x)
M

2 x
3

e
2 x
9

4
9
ab
2
x1   ( x0)
x2   ( x1)
x3   ( x2)
x0  0.45
x1  0.4712
x2  0.4734
x3  0.4737
x1  x0  0.021
x2  x1  0.0023
x3  x2  0.0002 <

Відповідь : x=0.474; кроків 3
КОНТРОЛЬНІ ПИТАННЯ ДЛЯ САМОПЕРЕВІРКИ
1.
2.
3.
4.
5.
6.
Що означає відокремити корені рівняння?
Які методи уточнення коренів нелінійних рівнянь Вам відомі?
Сутність методу половинного ділення. Пояснити на графіку.
Сутність методу січних. Пояснити на графіку.
Сутність методу Ньютона. Пояснити на графіку.
Сутність методу простої ітерації. Пояснити на графіку.
35
ТЕМА 4. Методи розв’язування систем нелінійних
рівнянь
Лiтература: [1], пп. 6.1-6.4; [3], §§3.1-3.3; [4], §1.13; [5], п. 2.2; [6], гол. 5
ТЕОРЕТИЧНІ ВІДОМОСТІ
Система двох нелінійних рівнянь має вигляд:
F ( x, y)  0,
(31)

G( x, y)  0.
Для уточнення коренів системи (31) на практиці частіше застосовують методи ітерації (метод простої ітерації і метод Зейделя) та метод Ньютона. Визначення близького до коренів початкового наближення гарантує збіжність методів і високу швидкість збіжності.
Для системи двох рівнянь початкове наближення коренів x (0) , y (0) визначають графічно, але для систем більшої вимірності задовільних методів відокремлення коренів не існує.
Метод Ньютона. Основна ідея методу Ньютона – зведення системи нелінійних рівнянь до розв’язків послідовності лінійних задач, які в границі дають
розв’язок вихідної. Лінійна задача отримується шляхом виділення з нелінійних
рівнянь головної лінійної частини:
F ( x ( k ) , y ( k ) ) Fy ( x ( k ) , y ( k ) )
G ( x ( k ) , y ( k ) ) G y ( x ( k ) , y ( k ) )
x ( x ( k ) , y ( k ) )
( k 1)
(k )
(k )
x
x 
x 
,
J ( x (k ) , y (k ) )
Fx ( x ( k ) , y ( k ) ) Fy ( x ( k ) , y ( k ) )
G x ( x ( k ) , y ( k ) ) G y ( x ( k ) , y ( k ) )
y
( k 1)
y
(k )

Визначник J ( x
Fx ( x ( k ) , y ( k ) ) F ( x ( k ) , y ( k ) )
Gx ( x ( k ) , y ( k ) ) G ( x ( k ) , y ( k ) )
Fx ( x ( k ) , y ( k ) ) Fy ( x ( k ) , y ( k ) )
G x ( x ( k ) , y ( k ) ) G y ( x ( k ) , y ( k ) )
(k )
,y
(k )
(32)
y
(k )

y ( x ( k ) , y ( k ) )
J ( x (k ) , y (k ) )
.
Fx ( x ( k ) , y ( k ) ) Fy ( x ( k ) , y ( k ) )
)
називається Якобіаном
Gx ( x ( k ) , y ( k ) ) Gy ( x ( k ) , y ( k ) )
системи (31), складається з частинних похідних Fx 
F ( x, y)
F ( x, y )
; Fy 
;
y
x
G( x, y)
G ( x, y )
; G y 
. Система (25) буде мати розв’язки, якщо
y
x
det( J ( x ( k ) , y ( k ) ))  0 .
Gx 
36
На кожній ітерації методу Ньютона необхідно обчислювати значення Якобіану і розв’язувати систему рівнянь (32). Можна зменшити об’єм обчислень,
якщо у всіх ітераціях використовувати стале значення Якобіану J ( x (0) , y (0) )
(модифікований метод Ньютона).
Метод простої ітерації. Систему (31) приведемо до еквівалентної:
 x  ( x, y ),
(33)

 y  ( x, y ).
Якщо відоме початкове наближення для коренів системи x (0) , y (0) , то можна
побудувати ітераційний процес:
 x ( k 1)  1 ( x ( k ) , y ( k ) ),
(34)
 ( k 1)
 y
  2 ( x ( k ) , y ( k ) ).
Достатня
умова
збіжності
ітераційного
процесу:
де
A  1 ,
 1 ( x, y ) 1 ( x, y ) 


x
y

 - матриця Якобі.
A 
  2 ( x, y )  2 ( x, y ) 


x
y


На практиці для перевірки збіжності користуються такою теоремою:
Нехай в деякій замкненій області D  {a  x  A; b  y  B} мається одна й
тільки одна пара коренів x* і y* системи (27). І якщо в області D :
 функції 1 ( x, y) і 2 ( x, y) визначені і неперервно диференційовані;
належать початкові x (0) , y (0) і всі наступні наближення (рис.5);
 виконуються умови:

1 ( x, y) 2 ( x, y)

 q1  1,
x
x
(35)
1 ( x, y) 2 ( x, y)

 q2  1 ;
y
y
Рис.5
то ітераційний процес збігається до коренів x* і y* системи (33).
Умова закінчення обчислень x ( k 1)  x ( k )   і y ( k 1)  y ( k )   .
37
ЗАВДАННЯ
1. Розв’язати систему нелінійних рівнянь із точністю   0,001 методом Ньютона і методом ітерацій. Графічним способом визначити початкове наближення
коренів системи x (0) , y (0) . Для методу ітерацій дослідити виконання достатньої
умови збіжності ітераційного процесу. Зробити висновки стосовно швидкості
збіжності обох методів.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
sin( x  1)  y  1,2  0;

2 x  cos y  2  0.
sin x  2 y  2  0;

cos(y  1)  x  0,7  0.
sin( x  0,5)  y  1  0;

cos(y  2)  x  0.
sin( x  1)  y  1,3  0;

 x  sin( y  1)  0,8  0.
cos(x  0,5)  y  2  0;

sin y  2 x  1  0.
sin( y  1)  x  1,2  0;

2 y  cos x  2  0.
sin y  2 x  2  0;

cos(x  1)  y  0,7  0.
sin( y  0,5)  x  1  0;

cos(x  2)  y  0.
sin( y  1)  x  1,3  0;

 y  sin( x  1)  0,8  0.
cos(y  0,5)  x  2  0;

sin x  2 y  1  0.
sin( x  1)  y  1  0;

2 x  cos y  2  0.
sin x  2 y  1,6  0;

cos(y  1)  x  1  0.
sin( x  0,5)  y  1,2  0;

cos(y  2)  x  0.
sin( x  1)  y  1,5  0;

 x  sin( y  1)  1  0.
cos(y  1)  x  0,8  0;

 y  cos x  2  0.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
38
cos(x  1)  y  0,5  0;

 x  cos y  3  0.
cos x  y  1,5  0;

2 x  sin( y  0,5)  1  0.
cos(x  0,5)  y  0,8  0;

sin y  2 x  1,6  0.
2 y  cos(x  1)  0;

 x  sin y  0,4  0.
sin( x  2)  y  1,5  0;

 x  cos(y  2)  0,5  0.
cos(y  1)  x  0,5  0;

 y  cos x  3  0.
cos y  x  1,5  0;

2 y  sin( x  0,5)  1  0.
cos(y  0,5)  x  0,8  0;

sin x  2 y  1,6  0.
2 x  cos(y  1)  0;

 y  sin x  0,4  0.
sin( y  2)  x  1,5  0;

 y  cos(x  2)  0,5  0.
cos(x  1)  y  0,8  0;

 x  cos y  2  0.
cos x  y  1,2  0;

2 x  sin( y  0,5)  2  0.
cos(x  0,5)  y  1  0;

sin y  2 x  2  0.
sin( y  1)  x  1  0;

2 y  cos x  2  0.
cos(x  1)  y  1  0;

sin y  2 x  1,6  0.
ПРИКЛАД РОЗРАХУНКІВ
1. Розв’язати систему нелінійних рівнянь із точністю   0,001 методом Ньютона і методом ітерацій. Графічним способом визначити початкове наближення коренів системи
x (0) , y (0) . Для методу ітерацій дослідити виконання достатньої умови збіжності ітераційного процесу. Зробити висновки стосовно швидкості збіжності обох методів.
sin( x  0,6)  y  1,6  0;

3x  cos(y)  0,9  0.
Знайдемо графічним способом початкове наближення коренів системи x (0) , y (0) . Для цього побудуємо в Mathcad графіки функцій обох рівнянь. З першого рівняння зручно визначити невідо1
му y: y  sin( x  0,6)  1,6 ; а з другого – невідому x: x  cos( y )  0.3 . Тоді будуємо графіки.
3
Визначаємо початкове наближення
коренів системи (точка перетину обох
графіків):
x (0)  0,15 ; y (0)  2 .
Метод Ньютона
F( xy)  sin( x  0.6)  y  1.6
G( xy)  3x  cos ( y)  0.9
Запишемо формули для обчислення Якобіана і визначників x , y :
 d F( xy )
dx
J( xy )  
d
 d xG( xy )

d

F( xy ) 
dy

 F( xy )
x ( xy )  

 G( xy )


d
G( xy ) 
dy

d

F( xy ) 
dy


d
G( xy ) 
dy

 d F( xy ) F( xy ) 
dx

y ( xy )  
d

 d xG( xy ) G( xy ) 


J(xy)  cos (x  0.6)  sin(y)  3.0
x (xy)  3.0  x  1.0  cos ( y)  1.6  sin(y)  1.0  y  sin( y)  sin(x  0.6)  sin(y)  0.9
y (xy)  3.0  y  0.9  cos (x  0.6)  3.0  sin(x  0.6)  3.0  x  cos (x  0.6)  1.0  cos (x  0.6)  cos (y)  4.8
x0  0.15
x1  x0 
y0  2
x ( x0y0)
J( x0y0)
y1  y0 
y ( x0y0)
J( x0y0)
x1  0.1509
y1  2.0341
x1  x0  0.0009
x2  x1 
x ( x1y1)
J( x1y1)
y2  y1 
y1  y0  0.0341
y ( x1y1)
J( x1y1)
x2  0.1511
y2  2.034
y2  y1  0.0001 <
Відповідь: x=0.151, y = -2.034; ітерацій 2.
39

x2  x1  0.0001 <

Метод ітерації
 x  1 ( x, y ),
Приведемо систему до вигляду: 
 y   2 ( x, y ).
Для цього з другого рівняння системи зручно визначити невідому x, а з першого - невідому y.

 x  1 ( x, y )  13 cos(y )  0,3;
Тоді маємо:


 y   2 ( x, y )  sin( x  0,6)  1,6.
Початкове наближення коренів системи визначили в попередньому методі: x (0)  0,15 ; y (0)  2 .
Дослідимо виконання достатньої умови збіжності ітераційного процесу.
Задамо область D навколо x (0) , y (0) : D  0,05  x  2,5 ; - 2,1  y  -1,9.
1 ( xy)  0.3 
1
 cos ( y)
3
2 (xy)  sin(x  0.6)  1.6
Складемо нерівності та дослідимо їх найбільші значення в області D.
q1( x) 
d
d
1 ( xy ) 
2 ( xy)  cos ( x  0.6)
dx
dx
q1( 0.25)  0.939 <
1,
q2( 1.9)  0.315 <
x0  0.15
y0  2
x1  1 (x0y0)
y1  2 ( x0y0)
q2( y ) 
sin ( y)
d
d
1 ( xy ) 
2 ( xy ) 
3
dy
dy
1 – умова збіжності виконується. Отримаємо розв’язки.
x1  0.1613
y1  2.035
x1  x0  0.0113
x2  1 (x1y1)
y2  2 ( x1y1)
x2  0.1508
y2  2.0248
x2  x1  0.0105
x3  1 (x2y2)
y3  2 ( x2y2)
x3  0.1538
y4  2 ( x3y3)
x4  0.151
y5  2 ( x4y4)
x5  0.1518
y6  2 ( x5y5)
y4  y3  0.0027
y5  2.0341
x5  x4  0.0008
x6  1 (x5y5)
y3  y2  0.0095
y4  2.0315
x4  x3  0.0028
x5  1 (x4y4)
y2  y1  0.0102
y3  2.0343
x3  x2  0.003
x4  1 (x3y3)
y1  y0  0.035
x6  0.151
y5  y4  0.0026
y6  2.0333
x6  x5  0.0008 < 
Відповідь: x=0.151, y=-2.033; кроків 6.
40
y6  y5  0.0007 < 
КОНТРОЛЬНІ ПИТАННЯ ДЛЯ САМОПЕРЕВІРКИ
1.
2.
3.
4.
5.
6.
7.
Що означає відокремити корені рівняння?
Сутність методу Ньютона для системи двох нелінійних рівнянь.
Наведіть ітераційну формулу метода Ньютона для системи n нелінійних рівнянь.
Як визначається Якобіан системи нелінійних рівнянь?
Сутність методу ітерацій.
Якими є умови збіжності методу ітерацій?
Наведіть ітераційну формулу метода ітерацій для системи n нелінійних рівнянь, порівняйте її з ітераційною формулою метода Ньютона.
41
ТЕМА 5. Знаходження власних чисел і власних
векторів матриць
Лiтература: [3], §§1.14-1.16; [4], §§1.1-1.5; [5], п. 1.2; [6], гол. 6
ТЕОРЕТИЧНІ ВІДОМОСТІ
Нехай А – квадратна матриця порядку n. Будь-який ненульовий вектор


x V n , x  0 , для якого


(36)
Ax  x ,
де  - деяке число, називається власним вектором матриці А, а  - власним зна
ченням матриці А, що відповідає вектору x .
Рівняння (36) еквівалентно рівнянню

( A  E ) x  0 ,
(37)
де Е – одинична матриця. Система (37) є однорідною системою лінійних рівнянь, розв’язком якої буде власний вектор матриці A. Така система має нетривіальний розв’язок тоді і тільки тоді, коли
a11  
a12
...
a1n
a21
a22   ...
a2 n
(38)
det( A  E ) 
 0.
...
...
...
...
an1
an 2
... ann  
Рівняння (38) називається характеристичним рівнянням матриці А, а його
ліва частина є многочленом степеня n вигляду
(39)
(1) n (n  p1n 1  p2n  2  ...  pn )  (1) n Pn ( ) ,
який називається характеристичним многочленом матриці А. Коренями многочлена є множина власних значень 1 , 2 ,..., n матриці А, кожному власному

значенню i відповідає свій власний вектор xi .
В різних випадках виникають різні вимоги до інформації про власні значення і власні вектори. Це призводить до різноманітних задач і методів знаходження власних чисел і векторів.
Для розв’язування певного класу задач механіки, фізики, хімії необхідні
всі власні значення, а іноді і всі власні вектори матриць. В такому випадку говорять про повну проблему власних значень.
Іноді достатньо лише визначити найбільше або найменше по модулю власне значення матриці, або знайти тільки два перших власних значення. Тоді говорять про часткову проблему власних значень.
Методи знаходження власних значень можна поділити на три групи:
 методи першої групи дозволяють розгорнути характеристичний визначник ,
тобто визначити коефіцієнти характеристичного многочлена (39), щоб потім
розв’язати алгебраїчне рівняння (38).
42
 методами другої групи матрицю А призводять до спеціального вигляду, коли
обчислення власних значень стає простою задачею.
 методи третьої групи є ітераційними.
Метод Крилова. Значення коефіцієнтів характеристичного многочлена (39)
отримуються як розв’язки системи




(40)
cn 1 p1  cn  2 p2  ...  c0 pn  cn ,
1
 



  0
де c0 - довільний вектор. Наприклад c0    , а ci  Aci 1, i  1,2,..., n .
0
 
 0
Система (40) являє собою систему лінійних алгебраїчних рівнянь з невідомими p0 , p2 ,..., pn , яку можна розв’язати за методом Гауса. Далі, розв’язуючи
алгебраїчне рівняння (38), знаходять власні значення матриці А - 1 , 2 ,..., n .

Власний вектор xi , що відповідає власному числу i (i=1,n) визначають за
формулою
 n 1




(41)
xi    i , j cn  j 1   i ,0 cn 1   i ,1cn  2  ...   i , n 1c0 ,
j 0
де  i, j - коефіцієнти, що отримуються при діленні характеристичного рівняння
Pn ( )
(38) на (  i )
  i ,0 n 1   i ,1n  2  ...   i , n 1 за схемою Горнера:
(  i )
 i , n  1;

(42)
 i , n 1  i  i , n  pn ;

 i , j  i  i , j 1  p j 1 , j  n  1,...,1.
Отримані власні вектори нормують.
Метод Данилевського. Для визначення коефіцієнтів характеристичного рівняння (38) матрицю А через (n-1) перетворення подібності замінюють подібною матрицею – матрицею Фробеніуса:
.
(43)
Матриці А і Р називаються подібними, якщо
, де S – неособлива
матриця. Подібні матриці мають однакові характеристичні поліноми:
det(A-λE)=det(P-λE).
Перетворення матриці А до Р відбувається за формулою:
.
(44)
Спочатку з елементів матриці А будують матриці
43
;
.
Потім шукають добуток матриць:
ву матрицю В, формують наступні матриці:
. Вважаючи за початко-
;
,
через які визначають матрицю С:
.
Подібні дії продовжуємо до отримання матриці Фробеніуса Р.
Власний вектор , що відповідає власному значенню обчислюється за формулою:
, де
.
Степеневий метод. Це класичний метод для розв’язання часткової проблеми власних значень.
Припустимо, що власні значення
матриці А дійсні і задовольняють умові
. При цьому позначимо відповідні власні ве-
44
ктори через
. Візьмемо довільний вектор
і побу-
дуємо рекурентну послідовність векторів:
(45)
Тоді
, де
– однойменні координати двох послідовних векторів.
Вектори
отримуються тільки за допомогою множення матриці на вектор. Метод може збігатися повільно, тому компоненти векторів
набувають
великих значень. Цього можна уникнути, якщо нормувати вектори
, тоді
,а
. Власний вектор для
визначимо як
, де S
– номер останньої ітерації.
ЗАВДАННЯ
1. Розв’язати повну проблему власних значень для матриці А методами Крилова,
Данилевського.
2. Знайти перше власне значення матриці А і відповідний йому власний вектор
степеневим методом.
1.
16.
2.
17.
3.
18.
4.
19.
5.
20.
6.
21.
45
7.
22.
8.
23.
9.
24.
10.
25.
11.
26.
12.
27.
13.
28.
14.
29.
15.
30.
ПРИКЛАД РОЗРАХУНКІВ
1. Розв’язати повну проблему власних значень для матриці А методами Крилова, Данилевського.
 2,2 1 0,5 2 
 1 1,3 2
1
A

 0,5 2 0,5 1,6 
1 1,6 2 
 2
Метод Крилова
Запишемо характеристичне рівняння для матриці А:
(1) 4 ( 4  p13  p 2  2  p 3   p 4 )   4  p13  p 2  2  p 3   p 4  0 .
ORIGIN 1
n  4
46
 2.2 1 0.5 2 
1 1.3 2 1 
A  
 0.5 2 0.5 1.6 
 2 1 1.6 2 



Будуємо послідовність векторів: c0 - довільний вектор,
 1 
 2.2 
 10.09
 52.373
 291.001
0
1 
6.5 
41.84 
239.605
c 0   
c1  A  c0  
c 2  A  c 1  
c3  A  c2  
c4  A  c3  
 0
 0.5 
 6.55 
 37.64 
 220.782
 0
 2 
 10.2 
 57.56 
 321.93 
 
 






Складаємо систему лінійних алгебраїчних рівнянь для визначення коефіцієнтів характеристичного рівняння:
 c31 c21 c11 c01 


 0 
 52.373 10.09 2.2 1 
 c32 c22 c12 c02 
B  

0
41.84 6.5 1 0 
c3 c2 c1 c0
p   
B

3
3
3
3

 0
 37.64 6.55 0.5 0 
 c3 c2 c1 c0 
 0
 57.56 10.2 2 0 
 


 4 4 4 4
та розв’яжемо її:
Given
B p
c4
 6 
 6 
0.2 
0.2 
Find ( p )  
p  
 12.735
 12.735 
 2.7616 
 2.7616




Таким чином, отримали рівняння:
4
Знайдемо корені рівняння.
коренів.
3
2
f (  )    6   0.2   12.735  2.7616.
Побудуємо графік функції f ( ) . Знайдемо
наближені значення
Кожний корінь уточнимо
функцією Mathcad – root.
Отримали чотири кореня –
чотири власних значення. Для
кожного з них знайдемо відповідний власний вектор.
Перше власне число:
1  1
1
1  root( f ( 1 ) 1 )
j  2 n
1  1  1
j
1  1.5
j 1
p
j 1
47
1  1.42
 1 
7.42 
1  
 10.337
 1.945


x1  1  c3  1  c2  1  c1  1  c0
1
2
3
4
 1.699
3.947 
x1  
 5.793
 2.549 


Пронормуємо отриманий вектор (розділимо на найбільшу по модулю компоненту):
i  1 4
x1
x1 
i
i
5.793
 0.293 
0.681
x1  
 1 
 0.44 


Друге власне число:
2  1
1
2  0.2
j  2 n
2  2  2
j
j 1
p
2  root( f ( 2 ) 2 )
2  0.223
j 1
 1 
5.777
2  
 1.486
 12.404


x2  2  c3  2  c2  2  c1  2  c0
1
2
3
4
3.214 


2.801 

x2 
 0.945
 4.342


i  1 4
x2
x2 
i
Третє власне число:
i
4.342
 0.74 
0.645
x2  
 0.218 
 1 


3  1.5
3  root( f ( 3 ) 3 )
3  1
1
j  2 n
3  3  3
j
j 1
p
j 1
48
3  1.545
 1 
4.455
3  
 7.084
 1.787 


x3  3  c3  3  c2  3  c1  3  c0
1
2
3
4
 6.372


5.801 

x3 
 4.92 
 2.045


i  1 4
x3
i
x3 
6.372
 1
i


0.91 
x3  
 0.772
 0.321 


Четверте власне число:
4  5.6
4  root( f ( 4 ) 4 )
4  5.652
4  1
1
j  2 n
4  4  4
j
j 1
p
j 1
 1 
0.348
4  
 2.167
 0.489 


x4  4  c3  4  c2  4  c1  4  c0
1
2
3
4
 44.584
37.411
x4  
 34.277
 49.677


i  1 4
x4
x4 
i
i
49.677
 0.897
0.753
x4  
 0.69 
 1 


Відповідь:
1  1.42,
 0.293 


   0.681
;
x1  
1 


  0.44 


 2  0.223,
49
  0.74 



  0.645 
;
x2  
0.218 


 1 


 1 



  0.91 
;
x3  
 0.772 


 0.321 


 3  1.545,
 4  5.652,
 0.897 



 0.753 
x4  
0.69 


 1 


Метод Данилевського
ORIGIN 1
 2.2 1 0.5 2 
1 1.3 2 1 
A  
 0.5 2 0.5 1.6 
 2 1 1.6 2 


Формуємо матрицю М3 та обернену до неї m3:
 1 0 0 0 
0 1 0 0
M3  
 0 0 1 0
 0 0 0 1
m3  M3


n  4
j  1 n
A
M3
3 j

A
4 j
1
A
m3
3 j
 A
if j  3
4 3
otherwise
4 3
0
 1
0
1
M3  
 1.25 0.625
 0
0



0.625 1.25

0
1 
0
0
0
0
4 j
 1 0 0 0 
0 1 0 0
m3  
 2 1 1.6 2 
 0 0 0 1


Виконуємо перше перетворення подібності над матрицею А:
 1.575 0.688 0.313 1.375
1.5 0.05 1.25 1.5 
A3  m3 A  M3  
 1.45 4.125 4.375 2.81 
 0

0
1
0 

Формуємо матриці М2 і обернену до неї m2 на базі матриці А3:
 1 0 0 0 
0 1 0 0
M2  
 0 0 1 0
 0 0 0 1
m2  M2


j  1 n
50
A3
M2
2 j

A3
3 j
1
A3
m2
2 j
 A3
otherwise
3 2
 1
0.352
M2  
 0
 0

 1
0
M1  
0
0


0.242 1.061 0.681
0
1
0 

0
0
1 
0
0
0
3 j
0
0
 1
1.45 4.125 4.375
m2  
 0
0
1
 0
0
0

Виконуємо наступне перетворення:
 1.333
4.327
A2  m2 A3  M2  
 0
 0

І останній крок:
if j  2
3 2
0

2.81


1 
0
0.167 0.417 0.907 

4.667 7.143 5.013
1
0
0
1


0 
0
0 0 0

1 0 0
0 1 0

0 0 1
m1  M1
j  1 n
A2
M1
1 j

A2
2 j
2 1
1
A2
m1
1 j
 A2
if j  1
otherwise
2 1
 0.231
0
M1  
 0
 0

1.079 1.651 1.159
 4.327
0
m1  
 0
 0

4.667 7.143 5.013
1
0
0
1
0
0


0 

1 
0
2 j
1
0
0
1
0
 6 0.2 12.735 2.762
0


0 

1 
0


1 0
0
0 

A1  m1 A2  M1 
0 1
0
0 
0 0

1
0 

Значення елементів першого рядка матриці А будуть значеннями коефіцієнтів характеристичного полінома. Тому можемо записати:
51
4
3
2
f (  )    6   0.2   12.735  2.7616
Корені полінома було знайдено в попередньому методі. Знайдемо для кожного власного значення відповідний власний вектор.
1  1.5
1  root( f ( 1 ) 1 )
1  1.42
3
 1


 0.666
 2
1.548 
y   1 
x1  M3  M2  M1  y  
 2.272
 1 
 1 
 1 




Пронормуємо отриманий вектор. Розділимо його на найбільшу по модулю компоненту:
i  1 4
x1
x1 
i
i
2.272
 0.293 
0.681
x1  
 1 
 0.44 


2  0.2
2  root( f ( 2 ) 2 )
2  0.223
3
 2


 2
y   2 
 2 
 1 


 0.74 
0.645
x2  M3  M2  M1  y  
 0.218 
 1 


i  1 4
x2
i
x2 
i
1
 0.74 
0.645
x2  
 0.218 
 1 


3  1.5
3  root( f ( 3 ) 3 )
3
 3


 2
y   3 
 3 
 1 


3  1.545
 3.116 
2.837
x3  M3  M2  M1  y  
 2.406
 1 


i  1 4
x3
x3 
i
i
3.116
 1 
0.91 
x3  
 0.772
 0.321 


4  5.6
4  root( f ( 4 ) 4 )
4  5.652
52
 4 3 


 2
y   4 
 4 
 1 


 0.897
0.753
x4  M3  M2  M1  y  
 0.69 
 1 


i  1 4
x4
x4 
i
i
1
 0.897
0.753
x4  
 0.69 
 1 


Відповідь:
1  1.42,
 3  1.545,
 0.293 


   0.681
;
x1  
1 


  0.44 


 1 



  0.91 
;
x3  
 0.772 


 0.321 


  0.74 



  0.645 
;
x2  
0.218 


 1 


 2  0.223,
 4  5.652,
 0.897 



 0.753 
x4  
0.69 


 1 


2. Знайти перше власне значення матриці А і відповідний йому власний вектор степеневим методом.
Степеневий метод
ORIGIN 1
 2.2
1
A  
 0.5
 2

Обираємо довільний вектор:

1.3 2 1 
2 0.5 1.6 

1 1.6 2 
1
0.5 2
n  4
 1 
1
y0   
 1
 1
 
і будуємо послідовність векторів. Вектори нормуємо. Збіжність спостерігаємо по значенню
норм векторів.
y1  A y0
n
norma_y1 
2
 y1i  11.194
y1 
i1
y1
norma_y1
y2  A y1
n
norma_y2 
2
 y2i  5.649
y2 
i1
y3  A y2
53
y2
norma_y2
n
norma_y3 
2
 y3i  5.652
y3 
i1
y3
norma_y3
y4  A y3
n
norma_y4 
2
 y4i  5.652
y4 
i1
y4
norma_y4
Бачимо, що на четвертому кроці значення норм векторів співпали. Тоді 1=5,652.
Власний вектор має таке значення:
 0.531
0.446
y4  
 0.409
 0.592


Пронормуємо отриманий вектор:
i  1 4
y4
y4 
i
i
y4
4
 0.897
0.753
y4  
 0.69 
 1 


Значення компонент співпали з результатами попередніх методів.
 0.897
  0.753
Відповідь: 1=5,652; x1   0.69  .
 1 


КОНТРОЛЬНІ ПИТАННЯ ДЛЯ САМОПЕРЕВІРКИ
1.
2.
3.
4.
5.
6.
7.
Що таке власні числа і власні вектори матриць?
Що таке характеристичний многочлен?
Що таке повна та часткова проблема власних значень?
На які групи можна поділити методи знаходження власних чисел?
Алгоритм методу Крилова?
Яку форму має матриця Фробеніуса?
Алгоритм степеневого методу.
54
ТЕМА 6. Наближення функцій
Лiтература: [1], пп. 3.1-3.9; [3], §§1.1-1.5; [4], §§2.1-2.7; [5], п. 3.1-3.2; [6], гол. 7
ТЕОРЕТИЧНІ ВІДОМОСТІ
Наближенням функції називається заміна в розрахунках однієї функції f(x)
(відомої, невідомої або частково відомої) іншою функцією F(x), яка є близькою
до f(x) і має певні властивості, які дозволяють легко проводити над нею ті чи
інші аналітичні або обчислювальні операції.
При підборі наближаючої функції F(x), треба визначити її клас та критерій
близькості до f(x). Найбільшого розповсюдження в якості наближаючих функцій набули многочлени.
Інтерполяцію функцій застосовують, коли деяка функція задана таблично
скінченою множиною x: f ( x0 )  y0 , f ( x1 )  y1, ..., f ( xn )  yn і потрібно визначити значення f(x) для проміжних значень аргументу ~x - f (x~ ) . В цьому разі
будують функцію F (x) (достатньо просту для обчислень), яка в точках {xi }in 0
набуває значення { yi }in 0 . В інших точках F (x) наближено представляє функцію f(x) з тою чи іншою точністю (рис. 6).
Точки {xi }in 0 називають вузлами інтерполяції, функцію F (x) - інтерполюючою функцією, а задачу побудови F (x) - задачею інтерполяції.
Зазначені вище властивості інтерполюючої функції має поліном Лагранжа:
n
( x  x0 )( x  x1 )  ...  ( x  xi 1 )( x  xi 1 )  ...  ( x  xn )
.
(46)
Ln ( x)   yi
( xi  x0 )( xi  x1 )  ...  ( xi  xi 1 )( xi  xi 1 )  ...  ( xi  xn )
i 0
Поліном Лагранжа незручний у використанні тим, що при зміні кількості
вузлів інтерполяції n, його треба будувати знову.
Інтерполяційний поліном Ньютона не має цього недоліку. При зміні степеня n необхідно лише тільки додати або відкинути відповідну кількість стандартних доданків:
55
Pn ( x)  f ( x0 )  ( x  x0 ) f ( x0 ; x1 )  ( x  x0 )( x  x1 ) f ( x0 ; x1; x2 )  ... 
(47)
 ( x  x0 )( x  x1 )  ...  ( x  xn 1 ) f ( x0 ; x1; x2 ;...; xn ).
f ( x1 )  f ( x0 )
Тут f ( x0 ; x1 ) 
- поділена різниця першого порядку;
x1  x0
f ( x1; x2 )  f ( x0 ; x1 )
f ( x0 ; x1; x2 ) 
- поділена різниця другого порядку;
x2  x0
f ( x1; x2 ;...; xn )  f ( x0 ; x1;...; xn 1 )
f ( x0 ; x1; x2 ...; xn ) 
- поділена різниця n-ого
xn  x0
порядку.
Часто інтерполювання необхідно проводити для функції, що задана у рівновіддалених вузлах, тобто:
h  xi 1  xi  const (i  0,1,..., n) .
Для таких таблиць інтерполяційні формули значно спрощуються.
а) перша інтерполяційна формула Ньютона:
q
q (q  1) 2
Pn ( x)  Pn ( x0  ih)  y0  y0 
 y0  ... 
1!
2!
(48)
q (q  1)  ...  (q  n  1) n

 y0 ;
n!
x  x0
де q( x) 
; Δy0  y1  y0 - скінчена різниця першого порядку;
h
2 y0  y1  y0 - скінчена різниця другого порядку; n y0  n 1 y1  n y0 - скінчена різниця n-ого порядку.
Ця формула використовується для інтерполювання на початку відрізка інтерполяції, коли q мале за модулем.
Коли значення аргументу знаходиться ближче до кінця відрізку інтерполяції, використовується формула для інтерполювання назад –
б) друга інтерполяційна формула Ньютона:
q
q (q  1) 2
Pn ( x)  Pn ( xn  (n  i )h)  y n  y n 1 
 y n  2  ... 
1!
2!
(49)
q (q  1)  ...  (q  n  1) n

 y0 ;
n!
x  xn
.
де q( x) 
h
Якщо функція у вузлах {xi }in 0 задана наближено (з деякою похибкою), то
для знаходження її значень в проміжних точках застосовувати інтерполяцію
недоцільно. В таких випадках будують таку наближаючу функцію, яка б дозволила згладити плив похибки. Це задача апроксимації функції.
56
Розглянемо метод найменших квадратів. Вигляд наближаючої функції
може бути довільним, але нехай це буде многочлен:
Fm(x)=a0 + a1x + a2x2 + … + amxm, (mn).
(50)
Критерієм близькості може бути мінімізація суми квадратів відхилень значень заданої та наближаючої функцій у вузлах {xi }in 0 :
(51)
Мінімуму можливо досягти підбором коефіцієнтів многочлена (50). Оскільки сума квадратів відхилень апроксимуючої функції від заданої повинна бути
мінімальною, тоді частинні похідні функції повинні дорівнювати нулю:
=0, k=0, 1, …, m.
Остаточно отримаємо систему:
n
n
n
n

2
m
(
n

1
)

a

a

x

a

x

...

a

x

 yj,
0
1  j
2  j
m  j

j

0
j

0
j

0
j
0

n
n
n
n
n

a0   x j  a1   x 2j  a2   x 3j  ...  am   x mj 1   y j x j ,
(52)

j 0
j 0
j 0
j 0
j 0
.......................................................................................

n
n
n
n
n

m
m 1
m2
2m
a

x

a

x

a

x

...

a

x

 y j x mj .
 0  j
1  j
2  j
m  j
j 0
j 0
j 0
j 0
j 0

Система (52) називається нормальною системою методу найменших квадратів
і являє собою систему лінійних алгебраїчних рівнянь відносно коефіцієнтів апроксимуючої функції a0, a1, a2,…, am. Розв’язавши систему, можна побудувати
многочлен (50), який наближає задану функцію f(x) і мінімізує квадратичне відхилення (51).
ЗАВДАННЯ
1. Використовуючи інтерполяційні поліноми Лагранжа й Ньютона, знайти наближене значення функції у точці ~x . Функція задана таблично. Вузли інтерполяції не рівновіддалені.
1.
x
y
1.0
0.1
1.7
0.53
2.0
0.79
2.2
-2.1
2.6
-3.2
~
x  2.8
2.
x
y
4.5
1.5
5.4
1.68
6.8
3.2
9.5
8.4
10.1
9.8
~
x  5.7
3.
x
y
2.0
5.8
2.3
6.12
2.5
6.3
3.0
6.7
3.7
7.05
~
x  2.7
4.
x
y
-2.0
25
1.0
-8
2.0
15
4.0
-23
5.0
-27
~
x  3.0
57
5.
x
y
3.2
5.3
3.6
6.0
5.8
2.4
5.9
-1.0
6.2
-3.2
~
x  4.0
6.
x
y
1.0
-6.0
2.0
-1.0
2.5
5.6
3.0
16.0
3.5
18.0
~
x  1.8
7.
x
y
10
3
15
7
16
10
17
17
20
19
~
x  18
8.
x
y
6.0
-9.1
7.2
-8.3
8.4
-2.4
9.9
1.2
10.3
3.4
~
x 9
9.
x
y
4.0
6.0
5.0
7.0
6.0
8.0
7.0
9.0
8.0
10.0
~
x  5.5
10.
x
y
1.5
3.87
1.54
3.92
1.6
3.95
1.63
4.0
1.72
4.21
~
x  1.52
11.
x
y
0
1
1
-3
2
25
3
129
4
381
~
x 5
12.
x
y
14
68
18
64
31
44
35
39
38
32
~
x  30
13.
x
y
2.0
1.41
2.2
1.48
2.5
1.59
3.0
1.79
3.3
1.82
~
x  2.4
14.
x
y
0.0
2.0
0.25
1.6
1.25
2.32
2.12
2.02
3.25
2.83
~
x  1.2
15.
x
y
0.0
2.0
0.5
1.7
1.4
2.36
2.25
2.33
3.5
3.17
~
x  1.45
16.
x
y
0.0
3.0
0.75
2.8
1.6
3.7
2.36
3.5
3.75
4.0
~
x  2.6
17.
x
y
0.0
3.0
1.0
2.9
1.8
3.6
2.5
3.8
4.0
4.3
~
x  2.0
18.
x
y
-0.25
4.0
0.0
3.6
1.0
4.56
2.1
4.02
3.0
3.83
~
x  1.5
19.
x
y
-0.5
5.0
0.25
4.8
1.1
5.7
1.88
5.5
3.25
5.0
~
x  2.5
20.
x
y
-2.5
6.0
-1.5
5.9
-0.7
6.9
0.0
6.7
1.5
5.83
~
x  1.2
58
21.
x
y
-1.0
1.9
-0.5
1.4
0.4
2.3
1.25
2.5
2.5
3.1
~
x  0.2
22.
x
y
0.0
4.0
0.25
3.9
1.25
4.5
2.12
4.7
3.25
4.95
~
x  1.5
23.
x
y
-0.3
4.2
0
3.6
1.05
4.57
2.1
4.02
3.3
3.8
~
x  2.0
24.
x
y
1.5
3.5
1.63
3.83
1.8
4.3
2.2
4.7
2.7
5.2
~
x  1.6
25.
x
y
3.2
-9.1
3.6
-6.3
5.8
-2.0
5.9
1.2
6.2
3.5
~
x  4.0
26.
x
y
0.3
3.0
0.55
2.6
1.55
3.32
2.32
3.02
3.8
5.0
~
x  2.1
27.
x
y
-0.4
-9.1
0.1
-8.3
1.85
-2.1
3.1
1.5
4.0
3.4
~
x  1.3
28.
x
y
10
43
12
21
22
17
31
13
35
8
~
x  25
29.
x
y
-3.0
1.41
-2.8
1.5
-2.5
1.57
-2.0
1.79
-1.7
1.82
~
x  -1.0
30.
x
y
-1.0
5.0
-0.2
4.6
1.8
5.7
2.7
5.02
4.0
4.3
~
x  2.0
2. Використовуючи першу або другу інтерполяційні формули Ньютона, знайти
наближене значення функції у точках ~
x1 , ~
x2 . Функція задана таблично.
1.
x
y
1.0
1.04
1.1
1.06
1.2
1.09
1.3
1.12
1.4
1.16
1.5
1.21
~
x1  1.02; ~
x2  1.47
2.
x
y
1.8
1.96
1.9
2.11
2.0
2.27
2.1
2.44
2.2
2.63
2.3
2.84
~
x1  1.82; ~
x2  2.25
3.
x
y
0.75
0.74
0.8
0.79
0.85
0.84
0.9
0.88
0.95
0.92
1.0
0.97
~
x1  0.97; ~
x2  0.77
4.
x
y
1.7
1.23
1.75
1.21
1.8
1.18
1.85
1.14
1.9
1.09
1.95
1.03
~
x1  1.71; ~
x2  1.93
5.
x
y
2.7
1.58
2.75
1.49
2.8
1.37
2.85
1.24
2.9
1.08
2.95
0.91
~
x1  2.72; ~
x2  2.93
6.
x
10
20
25
30
35
~
x1  13; ~
x2  33
15
59
y
0.99
0.97
0.94
0.91
0.87
0.82
7.
x
y
1.1
1.03
1.6
1.39
2.1
1.65
2.6
1.8
3.1
1.82
3.6
1.85
~
x1  1.14; ~
x2  3.5
8.
x 0.13 0.18 0.23 0.28 0.33 0.38
y 0.129 0.179 0.228 0.276 0.324 0.371
~
x1  0.37; ~
x2  0.15
9.
1.3
1.4
1.5
1.6
x 1.1 1.2
y 1.119 0.089 0.066 0.047 0.033 0.023
~
x1  1.15; ~
x2  1.56
10.
x
y
50
0.28
55
0.31
60
0.22
65
0.04
70
75
-0.14 -0.27
11.
x
y
0.05
0.05
0.15
0.16
0.25
0.27
0.35
0.37
0.45
0.47
0.55
0.56
~
x1  0.53; ~
x2  0.07
12.
x
y
1.5
-1.1
1.55
-0.9
1.6
-0.7
1.65
-0.4
1.7
-0.2
1.75
-0.1
~
x1  1.73; ~
x2  1.51
13.
x
y
1.8
1.44
1.9
1.55
2.0
1.67
2.1
1.82
2.2
199
2.3
2.19
~
x1  2.25; ~
x2  1.83
14.
x
y
1.1
0.88
1.2
0.91
1.3
0.93
1.4
0.95
1.5
0.96
1.6
0.97
~
x1  1.54; ~
x2  1.13
15.
0.85 0.9 0.95 1.0
x 0.75 0.8
y 0.280 0.319 0.359 0.402 0.447 0.495
~
x1  0.97; ~
x2  0.76
16.
3.0
3.1
3.2
3.3
x 2.8 2.9
y 3.928 4.410 4.938 5.517 6.152 6.848
~
x1  3.23; ~
x2  2.85
17.
1.2
1.3
1.4
1.5
x 1.0 1.1
1.008
1.113
1.221
1.331
1.445
1.561
y
~
x1  1.42; ~
x2  1.06
18.
x
y
1.90
6.69
1.91
6.72
1.92
6.82
1.93
6.89
1.94
6.96
1.95
7.34
~
x1  1.936; ~
x2  1.901
19.
x
y
0.0
2.74
0.1
2.75
0.2
2.85
0.3
2.89
0.4
2.98
0.5
3.09
~
x1  0.36; ~
x2  0.05
20.
x
y
0.8
3.44
0.9
3.55
1.0
3.66
1.1
3.76
1.2
3.85
1.3
3.92
~
x1  1.24; ~
x2  0.83
21.
x
y
0.5
1.05
0.55
0.99
0.60
0.93
0.65
0.86
0.70
0.80
0.75
0.72
~
x1  0.73; ~
x2  0.54
22. x
0.2
0.3
0.4
0.5
0.6
0.7
~
x1  0.62; ~
x2  0.23
60
~
x1  73; ~
x2  52
y
0.20
0.31
0.42
0.55
0.68
0.84
23.
x
y
0.5
1.63
0.52
1.68
0.54
1.75
0.56
1.79
0.58
1.82
0.6
1.85
~
x1  0.59; ~
x2  0.51
24.
x
y
0.1
1.11
0.15
1.16
0.2
1.22
0.25
1.28
0.3
1.3
0.35
1.42
~
x1  0.34; ~
x2  0.14
25.
x
y
0.70
0.84
0.72
0.88
0.74
0.91
0.76
0.95
0.78
0.99
0.80
1.03
~
x1  0.79; ~
x2  0.71
26.
x
y
0.5
0.5
1.0
0.7
1.5
1.0
2.0
1.2
2.5
0.75
3.0
0.60
~
x1  0.65; ~
x2  2.8
27.
x
y
0.6
1.5
0.7
1.4
0.8
1.66
0.9
1.0
1.1
1.45 1.875 2.045
~
x1  1.05; ~
x2  0.68
28.
x
y
0.25
5.0
0.30
3.9
0.35
4.2
0.40
4.0
0.50
5.0
~
x1  0.28; ~
x2  0.48
29.
x
y
0.15
2.5
0.20
3.1
0.25
3.0
0.30 0.35 0.40
2.1 2.625 2.805
~
x1  0.38; ~
x2  0.17
30.
x
y
2.0
3.0
2.5
4.8
3.0
4.3
3.5
2.75
~
x1  2.01; ~
x2  4.46
0.45
4.8
4.0
3.25
4.5
3.65
3. Для заданої таблично функції методом найменших квадратів знайти наближаючий многочлен третього степеня. Обчислити суму квадратів похибок,
побудувати графік заданої і наближаючої функцій.
-1.0
-0.5
0.0
0.0
1.0
2.0
3.0
4.0
0.5 0.8663 1.0 0.8663
1.
x
y
2.
x -1.0
y 0.866
0.0
1.0
1.0
0.866
3.
x -0.9
y -0.369
0.0
0.0
0.9
1.8
2.7
3.6
0.369 0.854 1.786 6.314
4.
1.9
2.8
3.7
4.6
5.5
x 1.0
y 2.412 1.082 0.509 0.118 -0.240 -0.668
5.
0.5
0.9
1.3
1.7
2.1
x 0.1
y -2.302 -0.693 -0.105 0.262 0.530 0.741
6.
x -3.0 -2.0 -1.0
y 0.049 0.135 0.367
7.
x
0.0
0.2
0.4
2.0
0.5
0.0
1.0
0.6
3.0
0.0
4.0
-0.5
1.0
2.0
2.718 7.389
0.8
1.0
61
y
1.0
1.003 1.0511 1.259 1.819
3.0
8.
0.2
0.5
0.8
x -0.7 -0.4 -0.1
y -0.775 -0.411 -0.100 -0.201 0.523 0.927
9.
0.2
0.5
0.8
x -0.7 -0.4 -0.1
y 2.346 1.982 1.671 1.369 1.047 0.643
10.
1.0
3.0
5.0
x -0.5 -3.0 -1.0
y -1.373 -1.249 -0.785 0.785 1.249 1.373
11.
1.0
3.0
5.0
x -0.5 -0.3 -0.1
y 2.944 2.819 2.356 0.785 0.321 0.197
12.
x -1.0
y -1.841
0.0
0.0
1.0
2.0
3.0
4.0
1.841 2.909 3.141 3.243
13.
x -1.0
y -0.459
0.0
1.0
1.0
2.0
3.0
4.0
1.540 1.583 2.010 3.346
14.
x -0.9
y -1.268
0.0
0.0
0.9
1.8
2.7
3.6
1.268 2.654 4.485 9.913
15.
1.9
2.8
3.7
4.6
5.5
x 1.0
y 3.414 2.981 3.309 3.818 4.359 4.831
16.
0.5
0.9
1.3
1.7
2.1
x 0.1
y -2.202 -0.193 0.794 1.562 2.230 2.841
17.
x -3.0 -2.0 -1.0
y -2.950 -1.864 -0.632
18.
x
y
19.
0.2
0.5
0.8
x -0.7 -0.4 -0.1
y -1.475 -0.811 -0.200 0.401 1.023 1.727
20.
0.2
0.5
0.8
x -0.7 -0.4 -0.1
y 1.646 1.582 1.571 1.569 1.547 1.443
21.
1.0
3.0
5.0
x -0.5 -0.3 -1.0
y -6.373 -4.249 -1.785 1.785 4.249 6.373
22.
1.0
3.0
5.0
x -0.5 -0.3 -1.0
y -2.055 -0.180 1.356 1.785 3.321 5.197
23. x
0.0
0.0
0.1
0.0
1.0
1.0
2.0
3.718 9.389
1.7
3.4
5.1
6.8
8.5
3.003 5.243 7.358 9.407 11.415
0.5
0.9
1.3
1.7
2.1
62
2.0
1.111 0.769 0.588 0.476
24.
x 0.1 0.5
y 100.0 4.0
0.9
1.3
1.7
2.1
1.234 0.591 0.346 0.226
25.
x
y
26.
0.9
1.3
1.7
2.1
x 0.1 0.5
y 100.01 4.250 2.044 2.281 3.236 4.636
27.
x
y
28.
x -1.0
y -0.866
y
10
0.1
10.1
-1.0
0.5
0.5
2.5
0.9
1.3
1.7
2.1
2.011 2.069 2.288 2.576
0.0
0.0
1.0
0.5
2.0
1.732
3.0
3.0
5.0
2.5
0.0
0.0
1.0
0.866
2.0
1.0
3.0
0.0
5.0
-4.330
29.
x -3.0 -2.0 -1.0
y -0.149 -0.270 -0.367
0.0
0.0
30.
0.3
0.8
x -1.7 -1.2 -0.7 -0.2
y 0.527 0.433 0.243 0.0327 0.121 1.424
1.0
2.0
2.718 14.778
ПРИКЛАД РОЗРАХУНКІВ
1. Використовуючи інтерполяційні поліноми Лагранжа й Ньютона, знайти наблиx . Функція задана таблично. Вузли інтерполяції
жене значення функції у точці ~
нерівновіддалені.
1.8
x -1.0 -0.2
5.0
4.6
5.7
y
Сформуємо вектор вузлів інтерполяції
ція елементів векторів від 0 до 4.
2.7
4.0
~
x  2.0
5.2
4.3


x і вектор значень функції у вузлах y . Нумера-
ORIGIN 0
 1.0
 5.0
 0.2
 4.6


 
x   1.8 
y   5.7 
 2.7 
 5.2


 
 4.0 
 4.3
Побудуємо інтерполяційний поліном Лагранжа. Задано п’ять вузлів, тому поліном буде
мати п’ять доданків:
a  x1a  x2a  x3a  x4
0 x x  x x  x x  x x
 0 1  0 2  0 3  0 4
a  x0a  x2a  x3a  x4
L1( a)  y 
1 x x  x x  x x  x x
 1 0  1 2  1 3  1 4
L0( a)  y 
63
a  x0a  x1a  x3a  x4
2 x x  x x  x x  x x
 2 0  2 1  2 3  2 4
a  x0a  x1a  x2a  x4
L3( a)  y 
3 x x  x x  x x  x x
 3 0  3 1  3 2  3 4
a  x0a  x1a  x2a  x3
L4( a)  y 
4 x x  x x  x x  x x
 4 0  4 1  4 2  4 3
L2( a)  y 
L(a)  L0(a)  L1(a)  L2(a)  L3(a)  L4(a)
Тепер знайдемо значення полінома в заданій точці:
a  2 L( a)  5.6534
-
Побудуємо інтерполяційний поліном Ньютона. Спочатку знайдемо поділені різниці:
першого порядку
y y
y01 
1
x x
0
2
y12  y01
y123 
x x
2
y y
3
y23 
2
x x
1
3
y y
y34 
2
4
3
x x
4
3
0
y23  y12
y234 
x x
3
1
y34  y23
x x
4
2
третього порядку
y0123 
y123  y012
x x
3
-
1
другого порядку
y012 
-
2
y12 
x x
1
-
y y
0
y1234 
0
y234  y123
x x
4
1
четвертого порядку
y01234 
y1234  y0123
x x
4
0
Тепер знайдемо значення полінома в заданій точці:
P0( a)  y
0
 0
P2( a)   a  x    a  x   y012
0
1
P3( a)   a  x    a  x    a  x   y0123
0
1
2
P4( a)   a  x    a  x    a  x    a  x   y01234
0
1
2
3
P1( a)  a  x  y01
P(a)  P0(a)  P1(a)  P2(a)  P3(a)  P4(a)
P( a)  5.6534
Відповіді співпали.
Відповідь: f(2.0)=5.6534
2. Використовуючи першу або другу інтерполяційні формули Ньютона, знайти наближене значення функції у точках ~
x1, ~
x2 . Функція задана таблично.
3.0
3.5
4.0
4.5
x 2.0 2.5
~
x1  2.07; ~
x2  4.46
3.0
4.8
4.3 2.75 3.25 3.65
y


Сформуємо вектор вузлів інтерполяції x і вектор значень функції у вузлах y . Нумерація
елементів векторів від 0 до 5.
64
 2.0 
 3.0 
 2.5 
 4.8 
 


3.0 
4.3 


x 
y 
 3.5 
 2.75
 4.0 
 3.25
 


 4.5 
 3.65
Перше задане значення ~
x1  2.07 знаходиться в першій половині відрізку інтерполяції,
ближче до крайнього лівого вузла, тому застосуємо першу інтерполяційну формулу Ньютона. Задамося величинами:
ax
a  2.07
-
h  x  x
1
0
q  0.14
h
Знайдемо скінченні різниці:
першого порядку
0  y  y
1
0
-
другого порядку
-
третього порядку
-
четвертого порядку
1  y  y
2
20  1  0
1
2  y  y
3
21  2  1
30  21  20
40  31  30
-
0
q 
h  0.5
2
3  y  y
22  3  2
31  22  21
4
3
4  y  y
5
4
23  4  3
32  23  22
41  32  31
п’ятого порядку
50  41  40
Тепер знайдемо значення полінома в заданій точці:
PI0( a)  y
PI1( a) 
PI2( a) 
PI3( a) 
PI4( a) 
PI5( a) 
0
q
 0
1
q ( q  1)
 20
2
q ( q  1)  ( q  2)
 30
3
q ( q  1)  ( q  2)  ( q  3)
 40
4
q ( q  1)  ( q  2)  ( q  3)  ( q  4)
 50
5
PI(a)  PI0(a)  PI1(a)  PI2(a)  PI3(a)  PI4(a)  PI5( a)
PI(a)  3.2415
Друге задане значення ~
x2  4.46 знаходиться в другій половині відрізку інтерполяції,
ближче до крайнього правого вузла, тому застосуємо другу інтерполяційну формулу Ньютона. Задамося величинами:
ax
a  4.46 h  x  x
1
0
h  0.5
q 
5
h
q  0.08
Тепер знайдемо значення полінома в заданій точці:
PII0( a)  y
PII1( a) 
PII2( a) 
5
q
 4
1
q ( q  1)
2
 23
65
PII3( a) 
PII4( a) 
PII5( a) 
q ( q  1)  ( q  2)
 32
3
q ( q  1)  ( q  2)  ( q  3)
 41
4
q ( q  1)  ( q  2)  ( q  3)  ( q  4)
 50
5
PII(a)  PII0(a)  PII1(a)  PII2(a)  PII3(a)  PII4(a)  PII5( a)
PII( a)  3.8583
Відповідь: f(2.07)=3.2415; f(4.46)=3.8583
3. Для заданої таблично функції методом найменших квадратів знайти наближаючий многочлен третього степеня. Обчислити суму квадратів похибок, побудувати
графік заданої і наближаючої функцій.
0.0
0.0
x
y
1.7
1.3038
3.4
1.8439
5.1
2.2583
6.8
2.6077
8.5
2.9155
Наближаюча функція буде мати вигляд: F3(x)=
 0.0
 1.7
 
3.4
x   
 5.1
 6.8
 
 8.5
 0.0 
 1.3038


1.8439

y 
 2.2583
 2.6077


 2.9155
 0 
0
a   
 0
 0
 
, тобто m=3, n=4.
2
3
F( xx)  a  a  xx a  xx  a  xx
0
1
n  5
2
3
m  3
Нормальна система методу найменших квадратів для визначення коефіцієнтів буде мати вигляд:
b00  a0  b01  a1  b02  a2  b03  a3  d 0 ,
b  a  b  a  b  a  b  a  d ,
 10 0 11 1 12 2 13 3
1

b20  a0  b21  a1  b22  a2  b23  a3  d 2 ,
b30  a0  b31  a1  b32  a2  b33  a3  d 3 .
Коефіцієнти обчислимо за формулами:
n
b
b
b
0 0
1 0
2 0
 n  1
b
0 1


n
x
j
b

0 2
j 0
 b
 b
b
0 1
b
0 2
 b
1 1
2 1
0 2
 b
 xj
2
n
b
0 3
j 0
b
b
1 2
 b
1 2
2 2
 b
j 0
n
b
0 3
3
 xj

1 3

4
 xj
j 0
n
b
1 3
2 3

5
 xj
j 0
n
b
3 0
 b
b
0 3
3 1
0

j 0
b
1 3
3 2
 b
b
2 3
3 3

6
 xj
j 0
n
d 
 b
y
n
j
d 
1
 yjxj
j 0
n
d 
2

j 0
y  x 2
 j  j 
66
n
d 
3

j 0
y  x 3
 j  j 
25.5
158.95
1105.425 
 6

25.5
158.95 1105.425 8176.706 

b 
 158.95 1105.425 8176.706 62828.672
 1105.425 8176.706 62828.672 495182.228


 10.929 
62.517 
d 
 415.047
 2988.87


Розв’яжемо систему:
 0.024 
0.902 
a 
 0.127
 0.007 


Given
b a
d
a  Find (a)
Тоді апроксимуюча функція буде мати вигляд: F3(x)=0.024+0.902x–0.127x2+0.007x3.
Знайдемо суму квадратів похибок:
2
Побудуємо графік заданої і наближаючої
функцій:
3
F( xx)  a  a  xx a  xx  a  xx
0
1
2
3
3
Y  F( x)
 0.024
 1.227


1.909

Y
 2.281
 2.553


 2.935
2.5
2
y
F( xx)
m
2
 Yj  yj  0.011
1.5
1
j 0
0.5
0
1
2
3
4
5
6
7
xxx
Точками на графіку позначено табличні данні, суцільною лінією – апроксимуючу функцію.
КОНТРОЛЬНІ ПИТАННЯ ДЛЯ САМОПЕРЕВІРКИ
1. Коли використовується інтерполяція?
2. Що таке вузли інтерполяції?
3. Пояснити поняття "інтерполяція".
4. Переваги й недоліки інтерполяції поліномом Лагранжа.
5. Поняття поділеної різниці.
6. Інтерполяційний поліном Ньютона для довільних вузлів інтерполяції.
7. Поняття скінченої різниці.
8. Перша інтерполяційна формула Ньютона, випадки її використання.
9. Друга інтерполяційна формула Ньютона, випадки її використання.
10.Як оцінити похибку інтерполяції?
11.Пояснити поняття «апроксимація».
12.Що являє собою нормальна система метода найменших квадратів?
67
ТЕМА 7. Кубічна сплайн-інтерполяція
Лiтература: [3], §1.8; [4], §2.6; [5], п. 3.1; [7], гол. 4
ТЕОРЕТИЧНІ ВІДОМОСТІ
Інтерполювання функції многочленами Лагранжа або Ньютона на всьому
відрізку [a,b] з використанням великої кількості вузлів інтерполяції часто призводить до незадовільного наближення через накопичення похибок при обчисленнях. Крім того, збільшення кількості вузлів не завжди забезпечує підвищення
точності інтерполяції через розбіжність самого процесу інтерполювання. Аби
уникнути збільшення похибок, зазвичай використовують кусково-поліноміальну
інтерполяцію, тобто розбивають відрізок [a,b] на часткові відрізки, на кожному з
яких функцію f(x) замінюють многочленами невисокого степеня.
Одним зі способів такої інтерполяції є інтерполювання за допомогою сплайнфункцій. Сплайн-функцією (сплайном) називають кусково-поліноміальну функцію, яка визначена на відрізку [a,b] і має на ньому деяку кількість неперервних
похідних. Перевагою сплайнів у порівнянні зі звичайною інтерполяцією є їхня
збіжність і стійкість процесу обчислень.
На практиці розповсюджене застосування кубічного сплайна.
Нехай на відрізку [a,b] задана неперервна функція f(x). Задамо сітку точок
a  x0  x1  x2  ...  xn 1  xn  b , які мають нумерацію по зростанню значень і
є рівновіддаленими з кроком h  xi 1  xi  const , i  0, ..., n  1. Позначимо значення функції в точках fi  f ( xi ), i  0, 1,..., n .
Кубічним сплайном, що відповідає функції f(x) і вузлам xi , називається
функція S(x), яка задовольняє умовам:
1) на кожному частковому відрізку [ xi , xi 1] функція S(x) є многочленом
третього степеня;
2) значення функції S(x) у вузлах інтерполяції дорівнюють значенням функції f(x): S ( xi )  f ( xi ), i  0, 1,..., n ;
3) функція S(x), її перша й друга похідні неперервні на [a,b].
Побудова сплайна. На кожному відрізку [ xi , xi 1] , i  0,..., n  1 функцію
S ( x)  Si ( x) будемо шукати у вигляді многочлена третього степеня:
Si ( x)  ai  bi ( x  xi )  ci ( x  xi )2  di ( x  xi )3 , xi  x  xi 1 .
Тут ai , bi , ci , di - коефіцієнти сплайна, які знаходяться з у мов:
Si  fi , S ( xi  0)  S ( xi  0) , S ( xi  0)  S ( xi  0) , i  0,..., n  1.
Крім того, на границях інтервалу при x  x0 і x  xn поставимо умови:
S ( x0 )  S ( xn )  0 .
Тоді коефіцієнти сплайна можна знайти з формул:
ai  fi , i  0,..., n  1 ;
68
(53)
(54)
c0  cn  0 ; ci  4ci 1  ci  2  3( fi  2  2 fi 1  fi ) , i  1,..., n  1;
c
c c
d n 1   n 1 ; di  i 1 i , i  0,..., n  2 ;
3h
3h
f f h
(55)
bi  i 1 i  (ci 1  2ci ) , i  0,..., n  1.
h
3
Основною перевагою кубічної сплайн-інтерполяції є отримання функції, що
має мінімально можливу кривизну, а недоліком – велика кількість параметрів.
ЗАВДАННЯ
1. Побудувати кубічний сплайн для функції, що задана таблицею, і знайти
його значення у вказаних точках ~x .
1.
2.
i
xi
0
0
1
1
2
2
3
3
4
4
fi
~x
i
1.0
1.54
1.58
2.01
3.35
i
xi
0
0
1
1
2
2
3
3
4
4
fi
~x
1.0
0.46
2.42
3.99
4.65
i
xi
0
-2
1
-1
2
0
3
1
4
2
fi
~x
0.78
1.28
0.25
0.26
1.03
i
xi
0
0
1
1
2
2
3
3
4
4
fi
~x
0.73
1.36
0.31
0.32
1.05
i
xi
0
0
1
1
2
2
3
3
4
4
fi
~x
0.71
1.43
0.35
0.38
1.07
0.3
0.6
i
3.
5.
i
1.8
69
3.6
0.5
1.2
0.8
3.3
2.6
-0.5
0.2
i
2.3
1.6
-1.5
i
4.
1.3
1.5
2.2
2.8
3.2
3.8
6.
i
xi
0
-2
1
-1
2
0
3
1
4
2
fi
~x
0.68
1.48
0.38
0.4
1.08
i
xi
0
0
1
1
2
2
3
3
4
4
fi
~x
1.54
0.42
0.44
1.09
0.41
i
xi
0
0
1
1
2
2
3
3
4
4
fi
~x
i
1.6
0.45
0.48
1.12
0.44
i
xi
0
-2
1
-1
2
0
3
1
4
2
fi
~x
i
0.63
1.68
0.49
0.54
1.14
i
xi
0
0
1
1
2
2
3
3
4
4
fi
~x
i
1.75
0.53
0.59
1.16
0.51
i
xi
0
0
1
1
2
2
3
3
4
4
fi
~x
0.52
1.89
0.59
0.68
1.21
i
xi
0
-2
1
-1
2
0
3
1
4
2
fi
~x
1.93
0.61
0.74
1.26
0.57
i
xi
0
0
1
1
2
2
3
3
4
4
fi
~x
i
0.49
2.03
0.65
0.77
1.26
-1.4
i
7.
0.25
i
8.
9.
10.
11.
13.
1.85
70
3.34
2.62
-0.3
0.85
1.47
2.34
1.62
-1.3
3.85
0.47
1.34
0.62
3.25
2.85
0.47
0.34
1.4
2.25
1.85
-1.47
i
0.4
1.25
0.85
i
12.
-0.4
3.62
0.3
2.85
1.3
3.85
14.
i
xi
0
0
1
1
2
2
3
3
4
4
fi
~x
1.27
0.23
1.29
0.78
0.24
i
xi
0
-2
1
-1
2
0
3
1
4
2
fi
~x
0.25
1.03
0.79
0.26
0.36
i
xi
0
0
1
1
2
2
3
3
4
4
fi
~x
i
1.31
0.26
1.73
0.76
0.27
i
xi
0
0
1
1
2
2
3
3
4
4
fi
~x
i
1.36
0.28
1.42
0.74
0.28
i
xi
0
-2
1
-1
2
0
3
1
4
2
fi
~x
i
1.35
0.29
1.45
0.74
0.34
i
xi
0
-2
1
-1
2
0
3
1
4
2
fi
~x
1.37
0.31
1.52
0.75
0.33
i
xi
0
0
1
1
2
2
3
3
4
4
fi
~x
1.44
0.33
1.55
0.66
0.77
i
xi
0
0
1
1
2
2
3
3
4
4
fi
~x
0.0
0.72
1.56
2.84
7.73
0.53
i
15.
-1.8
i
16.
17.
18.
19.
21.
i
1.35
71
1.47
0.51
1.56
0.35
3.85
0.47
-0.51
0.56
3.25
2.85
-0.47
-1.51
1.8
2.25
1.85
-1.47
3.53
0.8
1.25
0.85
i
2.53
-0.8
0.25
i
20.
1.53
1.51
2.56
2.35
3.56
3.35
22.
i
xi
0
1
1
2
2
3
3
4
4
5
fi
~x
2.8
1.82
1.61
1.57
1.56
i
xi
0
-2
1
-1
2
0
3
1
4
2
fi
~x
-2.22
-0.19
0.79
1.56
2.23
i
xi
0
-2
1
-1
2
0
3
1
4
2
fi
~x
-1.86
-0.63
1.0
3.72
9.39
i
xi
0
0
1
1
2
2
3
3
4
4
fi
~x
0.0
3.05
5.24
7.35
9.47
i
xi
0
-1
1
0
2
1
3
2
4
3
fi
~x
i
0.43
0.24
0.03
0.12
1.42
i
xi
0
-2
1
-1
2
0
3
1
4
2
fi
~x
-0.27
-0.37
0.0
2.71
4.77
i
xi
0
0
1
1
2
2
3
3
4
4
fi
~x
0.0
0.45
0.52
0.0
-2.26
i
xi
0
0
1
1
2
2
3
3
4
4
fi
~x
i
0.0
0.26
0.96
1.57
1.30
1.66
i
23.
-1.85
i
24.
26.
27.
28.
29.
1.47
72
2.4
0.25
1.38
0.47
3.83
1.4
-0.25
0.38
i
3.25
2.83
0.4
-1.25
i
1.85
2.25
1.83
-0.4
4.66
0.85
1.25
0.83
i
3.66
-0.85
0.25
i
25.
2.66
1.25
2.38
2.47
3.38
3.47
30.
i
xi
0
2
1
3
2
4
3
5
4
6
fi
~x
10.0
2.0
1.11
0.77
0.59
2.34
i
3.34
4.34
5.34
ПРИКЛАД РОЗРАХУНКІВ
1. Побудувати кубічний сплайн для функції, що задана таблицею, і знайти його значення у вказаних точках ~
x.
i
xi
0
-2
1
-1
2
0
3
1
4
2
fi
~x
1.36
0.75
-1.21
0.33
-0.25
-1.3
-0.3
0.3
Побудуємо чотири сплайн-функції для кожного з інтервалів:
i
1.3
[2;1]
−
S 0 ( x)  a0  b0 ( x  x0 )  c0 ( x  x0 ) 2  d 0 ( x  x0 ) 3 ,
[1; 0]
−
S1 ( x)  a1  b1 ( x  x1 )  c1 ( x  x1 ) 2  d1 ( x  x1 )3 ,
[0; 1]
−
S2 ( x)  a2  b2 ( x  x2 )  c2 ( x  x2 )2  d2 ( x  x2 )3 ,
[1; 2]
−
S3 ( x)  a3  b3 ( x  x3 )  c3 ( x  x3 ) 2  d3 ( x  x3 )3 .
Знаходимо коефіцієнти сплайн-функцій. Уведемо початкові дані: значення інтерполяційних вузлів - , значення функції у вузлах - , значення точок, у яких інтерполюється функція - .



x  





1

0 
1 

2 
2



f  






0.75


1.21  z  

0.33 



0.25 
1.36
1.3 

0.3 


1.3 
0.3
Знаходимо коефіцієнти ai i  0,..., n  1 :
 1.36 
0.75 
i  0  3
ai  f i
a
 1.21 
 0.33 


Для знаходження коефіцієнтів с i i  0,..., n потрібно скласти систему лінійних алгебраїчних рівнянь, яку розв’яжемо за допомогою спеціального обчислювального блоку Mathcad Given/Find:
 4 1 0
i  0  4
ci  0 F   1 4 1 
i  0  2 g i  3  f i 2  2  f i 1  f i


 0 1 4
 0 
 1.948 
 c1 
 


Given
F   c2  g
c  Find ( c) c   3.744 
 c3 
 2.526 
 


 0 
73
Знаходимо коефіцієнти d i , bi i  0,..., n  1 , де h – крок між вузлами інтерполяції:
h  1
d 3 
c3
3 h
i  0  2
d i 

d



 ci 1  ci
3 h
0.649 


2.09 

0.842 
1.897
 0.039 
1.909 
 f i 1  f i h
i  0  3
b i 
   c i 1  2  ci
b
 0.114 
h
3
 1.104 


Тепер можемо записати сплайн-функції для кожного інтервалу:
[2;1] − S0 ( x)  1.36  0.039( x  2)  0.649( x  2)3 ,
[1; 0]
−
S1 ( x)  0.75  1.909( x  1)  1.948( x  1) 2  1.897( x  1)3 ,
[0; 1]
−
S2 ( x)  1.21  0.114x  3.744x  2.09x ,
[1; 2]
−
S3 ( x)  0.33  1.104( x  1)  2.526( x  1) 2  0.842( x  1)3 .
2
3
(*)
Використовуючи отримані сплайни знайдемо значення функції f(x) у заданих точках:
 1.165 
0.89 
2
3
i  0  3 Si  ai  b i zi  xi  ci  zi  xi  d i  zi  xi
S
 0.964 
 0.457 


Знайдемо розв’язок цієї ж задачі, використовуючи функції середовища Mathcad.
v  lspline( x f )
y ( t)  interp ( v  x f  t)
1.5
1.3
1.1
0.9
0.7
0.5
0.3
f
y( t )
0.1
2
1.2
0.4 0.1
0.4
1.2
2
0.3
0.5
0.7
0.9
1.1
1.3
1.5
x t
Тут функція interp(v,x,f,t) апроксимує дані векторів x і f кубічними сплайнами. v – вектор других похідних, створений функцією lspline(x,f), яка спирається на умову (54). Із графіку видно, що побудований сплайн y(t) у вузлах інтерполяції приймає задані значення
y (ti )  f ( xi ), ti  xi , i  0, 1,..., n .
Порівняємо графіки і значення отриманих сплайн-функції (*) з функцією y(t) на кожному інтервалі.
74
S( i t)  ai  bit  xi  ci t  xi  di t  xi
2
i  0 3

3
інтервал [2;1] :
1.5
1
f
y ( 1.3)  1.165
0.5
y( t)
2.1
2
1.9
1.8
1.7
1.6
1.5
1.4
1.3
1.2
1.1
S( 0  1.3)  1.165
1
S ( 0  t)
0.5
1
1.5
x t

інтервал [1; 0] :
1.5
1
f
y ( 0.3)  0.89
0.5
y( t)
1.1
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0.5
S ( 1  t)
S( 1  0.3)  0.89
1
1.5
x t

інтервал [0; 1] :
1.5
1.5
f
1
0.5
1
y( t)
f
0.1
0
0.5
0.5
y( tS)( 2  t)
S ( 2  t)
0.1
0
1
0.5
0.1
0.1
0.2
0.2
0.3
0.3
0.4
0.4
0.5
0.5
0.6
0.6
0.7
0.7
0.8
0.8
0.9
0.9
1
1
y ( 0.3)  0.964
S( 2  0.3)  0.964
1.5
1
x t
1.5
x t

інтервал [1; 2] :
1.5
1
f
0.5
y ( 1.3)  0.457
y( t)
0.9
1
1.1
1.2
1.3
1.4
1.5
1.6
S ( 3  t) 0.5
1.7
1.8
1.9
2
S( 3  1.3)  0.457
1
1.5
x t
Як бачимо, побудовані сплайн-функції (*) мають повне співпадання з функцією y(t).
Отже, задача розв’язана коректно.
75
КОНТРОЛЬНІ ПИТАННЯ ДЛЯ САМОПЕРЕВІРКИ
1.
2.
3.
4.
5.
Коли використовується інтерполяція функцій?
Що таке сплайн-інтерполяція?
Що таке кубічний сплайн і як його побудувати?
Переваги і недоліки інтерполяції сплайнами.
З якими ще методами наближення функцій Ви знайомі?
76
ТЕМА 8. Чисельне диференціювання
Лiтература: [2], пп. 1.1-1.3; [4], §§2.8-2.11; [5], п. 3.3; [6], гол. 8
ТЕОРЕТИЧНІ ВІДОМОСТІ
Формули чисельного диференціювання, як правило, використовуються, якщо
функція від якої треба знайти похідну задана табличним способом. При розв’язанні
практичних задач використовують наближення перших та других похідних.
Найпростішими формулами чисельного диференціювання замінюють значення похідної в точці. Нехай функція f (x) задана в точках xi 1, xi , xi 1
( xi 1  xi  xi  xi 1  h) значеннями yi 1, yi , yi 1 . Тоді значення похідної в точці
xi можна визначити за формулами:
y  yi
 f ( xi )  i 1
– права різницева похідна;
(56)
h
y  yi 1
 f ( xi )  i
– ліва різницева похідна;
(57)
h
y  yi 1
 f ( xi )  i 1
– центральна різницева похідна.
(58)
2h
Похибки формул (56), (57) мають перший порядок точності по h
h
h
 пр 
max f '' () ,  л  max f '' () , а формула (58) – другий
2 [ xi ; xi 1 ]
2 [ xi 1 ; xi ]
2
h
ц 
max f ''' () .
6 [ xi 1 ; xi 1 ]
Значення другої похідної обчислюють відповідно за формулою:
y  2 yi  yi 1
f ( xi )  i 1
,
(59)
h2
h2
яка має другий порядок точності  
max f IV () .
12 [ xi 1 ; xi 1 ]
Більш точні формули можна отримати при використанні інтерполяційних
поліномів. Нехай функція f (x) задана таблично на відрізку [a; b] в точках
ba
, i  0, n , де n  N значеннями f ( x0 )  y0 ,
x0  a, xi  x0  i  h, h 
n
f ( x1)  y1, ..., f ( xn )  yn . Щоб отримати формули наближеного диференціювання, замінюють функцію інтерполюючою функцією F (x) , а потім вважають:
f ( x)  F ( x) на x  [a; b] .
Аналогічно чинять при знаходженні похідної другого порядку.
Але слід зауважити, що наближене диференціювання являє собою операцію менш точну, ніж інтерполювання. Дійсно близькість ординат двох кривих
77
y  f (x) та y  F (x) на відрізку [a; b] , ще не гарантує близькості на цьому відрізку їхніх похідних f (x) та F (x) .
Формули першої та другої похідної у випадку нерівновіддалених вузлів
отримають диференціюванням інтерполяційного полінома Ньютона:
Pn ( x)  f ( x0 )  ( x  x0 ) f ( x0 ; x1 )  ( x  x0 )( x  x1 ) f ( x0 ; x1; x2 ) 
 ( x  x0 )( x  x1 )  ( x  x2 ) f ( x0 ; x1; x2 ; x3 ) 
 ( x  x0 )( x  x1 )  ( x  x2 )  ( x  x3 ) f ( x0 ; x1; x2 ; x3 ; x4 )  ... 
 f ( x0 )  ( x  x0 ) f ( x0 ; x1 )  ( x 2  x( x0  x1 )  x0 x1 ) f ( x0 ; x1; x2 ) 
 ( x 3  x 2 ( x0  x1  x2 )  x( x0 x1  x0 x2  x1 x2 )  x0 x1 x2 ) f ( x0 ; x1; x2 ; x3 ) 
 ( x 4  x 3 ( x0  x1  x2  x3 )  x 2 ( x0 x1  x0 x2  x0 x3  x1 x2  x1 x3  x2 x3 ) 
 x( x0 x1 x2  x0 x1 x3  x0 x2 x3  x1 x2 x3 )  x0 x1 x2 x3 ) f ( x0 ; x1; x2 ; x3 ; x4 )  ... .
Тут f ( x0 ; x1 ), f ( x0 ; x1; x2 ) , f ( x0 ; x1; x2 , x3 ) , f ( x0 ; x1; x2 , x3 , x4 ) - поділені різниці.
Pn ( x)  f ( x0 ; x1 )  (2 x  x0  x1 ) f ( x0 ; x1; x2 ) 
 (3x 2  2 x( x0  x1  x2 )  x0 x1  x0 x2  x1 x2 ) f ( x0 ; x1; x2 ; x3 ) 
 (4 x  3x ( x0  x1  x2  x3 )  2 x( x0 x1  x0 x2  x0 x3  x1 x2  x1 x3  x2 x3 ) 
3
2
(60)
 ( x0 x1 x2  x0 x1 x3  x0 x2 x3  x1 x2 x3 )) f ( x0 ; x1; x2 ; x3 ; x4 )  ... .
Pn( x)  2 f ( x0 ; x1; x2 )  (6 x  2( x0  x1  x2 )) f ( x0 ; x1; x2 ; x3 ) 
 (12 x 2  6 x( x0  x1  x2  x3 ) 
 2( x0 x1  x0 x2  x0 x3  x1 x2  x1 x3  x2 x3 )) f ( x0 ; x1; x2 ; x3 ; x4 )  ... .
Формули першої та другої похідної у випадку рівновіддалених вузлів можна
отримати диференціюванням інтерполяційного полінома Лагранжа:
q(q  1)  ...  (q  n)
.
i
!
(
n

i
)!
(
q

i
)
i 0
dLn ( x) dLn ( x) dq 1 dLn ( x)
.


 
dx
dq
dx h
dq
Ln ( x) 
n
 (1) n i yi
1 n
(1) n  i d  q(q  1)  ...  (q  n) 
f x    yi

.
h i  0 i!(n  i )! dq 
(q  i )

Аналогічно визначають другу похідну:
1 n
(1) n  i d 2  q(q  1)  ...  (q  n) 


f  x   2  yi


.
(q  i )
h i  0 i!(n  i )! dq 2 

Формули (60), (61) мають n-ий порядок точності по h.
78
(61)
(62)
ЗАВДАННЯ
1. Обчислити першу та другу похідні від заданої функції f (x) в точці x2 , використовуючи найпростіші формули чисельного диференціювання. Оцінити
похибку обчислень.
2. Обчислити першу та другу похідні від заданої функції f (x) в точці x2 , використовуючи інтерполяційні поліноми. Оцінити похибку обчислень.
1.
f ( x) 
ex
 e x
2
i
xi
0
1.0
1
1.25
2
1.5
3
1.75
4
2.0
2.
e x  x 2
f ( x) 
2
i
xi
0
0.5
1
0.6
2
0.7
3
0.8
4
0.9
3.
f ( x)  sin( x)  1  e  sin( x )
i
xi
0
0.6
1
0.7
2
0.8
3
0.9
4
1.0
4.
f ( x)  cos(x)  1  e  cos(x )
i
xi
0
2.6
1
2.7
2
2.8
3
2.9
4
2.0
5.
f ( x)  x  e x
i
xi
0
0.3
1
0.4
2
0.5
3
0.6
4
0.7
6.
f ( x) 
x2
1 x
i
xi
0
0.1
1
0.2
2
0.3
3
0.4
4
0.5
7.
f ( x )  tg ( x )  x
i
xi
0
0.3
1
0.4
2
0.5
3
0.6
4
0.7
8.
f ( x) 
x
ln( x)  1
i
xi
0
0.1
1
0.2
2
0.3
3
0.4
4
0.5
9.
 x3 
f ( x)  tg  
 3 
 
i
xi
0
0.2
1
0.3
2
0.4
3
0.5
4
0.6
3 x3  1

2 x2  1
2
5
f ( x)  x 3 
7
7 x
i
xi
0
0.15
1
0.20
2
0.25
3
0.30
4
0.35
i
xi
0
0.15
1
0.20
2
0.25
3
0.30
4
0.35
 1x
i
xi
0
0.36
1
0.38
2
0.40
3
0.42
4
0.44
i
xi
0
0.2
1
0.3
2
0.4
3
0.5
4
0.6
i
xi
0
0.2
1
0.3
2
0.4
3
0.5
4
0.6
2
10.
11.
1
f ( x) 
(e x  1)
12.
f ( x)  e
13.
f ( x)  ln(1  e e )
14.
f ( x) 
15.
f ( x)  x  ln(ln( x))
i
xi
0
1.20
1
1.25
2
1.30
3
1.35
4
1.40
16.
f ( x)  x  sin( x)  x 2  cos(x)  x
i
xi
0
1.20
1
1.25
2
1.30
3
1.35
4
1.40
x
sin( x)  x cos(x)
x
79
17.
1
1
2
f ( x)  x 2  
3
3 3 x2 1
i
xi
0
1.2
1
1.3
2
1.4
3
1.5
4
1.6
18.
 0,25  x 4  1
f ( x) 
x
i
xi
0
1.2
1
1.4
2
1.6
3
1.8
4
2.0
19.
f ( x) 
i
xi
0
1.4
1
1.45
2
1.5
3
1.55
4
1.6
20.
f ( x)  2 
i
xi
i
xi
i
xi
i
xi
0
1.3
0
1.0
0
1.0
0
2.0
1
1.4
1
1.25
1
1.25
1
2.25
2
1.5
2
1.5
2
1.5
2
2.5
3
1.6
3
1.75
3
1.75
3
2.75
4
1.7
4
2.0
4
2.0
4
3.0
21.
22.
23.
ln( x  x 2  1)
x2 1
x
2
x 2
x  ln( x)
f ( x) 
ln( x)  1
1
f ( x) 
ln( x)  1  x
1
f ( x) 
2(ln( x)  1)  x
24.
2
f ( x)  e x  e x 2  e  x 2
i
xi
0
1.2
1
1.3
2
1.4
3
1.5
4
1.6
25.
f ( x)  e sin( x )  e  sin( x )
i
xi
0
1.2
1
1.3
2
1.4
3
1.5
4
1.6
26.
x2

1 
f ( x )   1  e 2
x 

i
xi
0
1.4
1
1.45
2
1.5
3
1.55
4
1.6
27. f ( x)  cos(sin( x))  sin(cos( x))
i
xi
0
0.2
1
0.3
2
0.4
3
0.5
4
0.6
cos(2 x)  sin(2 x)
cos(x)
1
x
f ( x) 
 sin( x) 
cos(x)
cos(x)
i
xi
i
xi
0
0.6
0
0.2
1
0.65
1
0.3
2
0.7
2
0.4
3
0.75
3
0.5
4
0.8
4
0.6
i
xi
0
2.2
1
2.3
2
2.4
3
2.5
4
2.6
28.
29.
30.




f ( x) 
f ( x) 
e2x
3e 2

(3x  1)e  x
3e
ПРИКЛАД РОЗРАХУНКІВ
1. Обчислити першу та другу похідні від заданої функції f(x) в точці x2 , використовуючи найпростіші формули чисельного диференціювання. Оцінити похибку обчислень.
ex
i
0
1
,
xi
1.0
1.25
x
Отримаємо значення функції в заданих точках:
f ( x) 
f ( x) 
e
x
x
80
2
1.5
3
1.75
4
2.0
 1.0 
 1.25
 
X   1.5 
 1.75
 
 2.0 
 2.718
 2.792


y   2.988
 3.288


 3.695
 i
y  f X
i  0 4
i
h  X  X  0.25
1
0
Обчислимо праву, ліву та центральну різницеві похідні для точки x 2  1.5 :
y y
3
P1_rigth 
y y
2
 1.202
h
2
P1_lefth 
h
1
y y
P1_central 
 0.782
3
2 h
1
 0.992
Визначимо фактичне значення похідної у вказаній точці і похибки наближених формул:
x
x
e
e
d
f ( x) 

x
2
dx
x
f1( x) 
e
x
x
e

x
f1( 1.5)  0.996
2
x
E_rigth  f1( 1.5)  P1_rigth  0.206
E_left  f1( 1.5)  P1_lefth  0.214
E_central  f1(1.5)  P1_central  0.0038
Оцінимо похибки аналітично. Для цього треба визначити найбільше за модулем значення другої та третьої похідних на розрахункових інтервалах.
d
2
2
f ( x) 
dx
e
x
x

x
2 e
2

x
2 e
x
f2( x) 
3
x
e
x
x

2 e
x

2
2 e
x
3
x
x
f2( 1.25)  1.899
f2(1.5)  1.66
f2( 1.75)  1.678

для правої різницевої похідної на інтервалі [x2; x3]
_rigth 

3
3
dx
2
 f2( 1.75)  0.2097
для лівої різницевої похідної на інтервалі [x1; x2]
_lefth 
d
h
f ( x) 
e
x
x

3 e
x
2
x

6 e
x
3
x

6 e
h
2
 f2( 1.5)  0.2075
x
4
f3( x) 
x
81
e
x
x

3 e
x
2
x

6 e
x
3
x

6 e
x
4
x
f3( 1.25)  1.765
f3( 1.75)  0.412

для центральної різницевої похідної на інтервалі [x1; x3]
h
_central 
2
 f3( 1.25)  0.0184
6
Обчислимо другу похідну для точки x 2  1.5 та похибку формули:
y  2 y  y
3
P2_central 
2
h
1
2
 1.681
f2(1.5)  1.66
E2_central  f2(1.5)  P2_central  0.0206
d
4
4
e
f ( x) 
x
x
dx

4 e
x
2

12 e
x
3
x
24 e

x

4
x
x
24 e
x
f4( x) 
5
d
4
4
f ( x)
dx
x
f4( 1.25)  8.439
f4( 1.75)  2.346
2_central 
h
2
12
 f4( 1.25)  0.044
2. Обчислити першу та другу похідні від заданої функції f(x) в точці x2 , використовуючи інтерполяційні поліноми. Оцінити похибку обчислень.
f ( x) 
ex
,
x
i
xi
0
1.0
1
1.25
2
1.5
3
1.75
4
2.0
Побудуємо інтерполяційний поліном Ньютона. Знайдемо поділені різниці:
y y
f01 
f012 
f0123 
1
0
h
y y
 0.296
f12  f01
2 h
 0.972
f123  f012
3 h
f12 
 0.176
2
h
1
y y
 0.782
f123 
f1234 
f23 
f23  f12
2 h
3
2
h
 0.84
f234  f123
3 h
82
 0.0064
y y
 1.202
f234 
f34 
f34  f23
2 h
4
h
3
 1.625
 0.845
f1234  f0123
f01234 
4 h

 0.182

2
N2( x)  x  x X  X   X  X   f012
0
1
0 1

3
2
N3( x)  x  x  X  X  X   x X  X  X  X  X  X   X  X  X   f0123
0
1
2
0 1
0 2
1 2
0 1 2

4
3
2
N4( x)  x  x  X  X  X  X   x  X  X  X  X  X  X  X  X  X  X  X  X 
0
1
2
3
0 1
0 2
0 3
1 2
1 3
2 3
N4( x)  N4( x)  x  X X  X  X X  X  X X  X  X X  X   X  X  X  X   f01234
0 1 2
0 1 3
0 2 3
1 2 3
0 1 2 3

N1( x)  x  X  f01
0
N ( x)  y  N1 ( x)  N2 ( x)  N3 ( x)  N4 ( x)
0
  f (1.5)  N( 1.5)  0
N( 1.5)  2.9878
Обчислимо значення першої похідної та її похибку:
NP1( x)  f01
NP2( x)  2 x  X  X
 0 1

2
NP3( x)  3 x  2 x X  X  X   X  X  X  X  X  X   f0123
0
1
2
0 1
0 2
1 2

 f012
 0 1 2 3  2xX0X1  X0X2  X0X3  X1X2  X1X3  X2X3
NP4( x)  NP4( x)   X X  X  X X  X  X X  X  X X  X   f01234
0 1 2
0 1 3
0 2 3
1 2 3

3
2
NP4( x)  4 x  3x  X  X  X  X
NP(x)  NP1(x)  NP2(x)  NP3(x)  NP4(x)
NP(1.5)  0.9974
_NP  f1(1.5)  NP( 1.5)  0.0015
Обчислимо значення другої похідної та її похибку:
NPP2( x)  2 f012
 0 1 2 f0123

2
NPP4( x)  12 x  6x X  X  X  X   2X  X  X  X  X  X  X  X  X  X  X  X   f01234
0
1
2
3
0 1
0 2
0 3
1 2
1 3
2 3

NPP3( x)  6 x  2 X  X  X
NPP( x)  NPP2(x)  NPP3( x)  NPP4( x)
NPP( 1.5)  1.6577
_NPP  f2( 1.5)  NPP( 1.5)  0.0021
Тепер побудуємо інтерполяційний поліном Лагранжа.
4
( 1)  y
L0( q) 
1
 q  9q  26q  24q
2
 q  8q  19q  12q
3
L1( q) 
1 3
2
( 1)  y
L2( q) 
2 2

 q  10q  35q  50q  24
0 4
( 1)  y
4
0
3
2
4
3
2

4
3
2

83
1
( 1)  y
L3( q) 
2

4
3
2

4
 q  6q  11q  6q
0
L4( q) 
3
 q  7q  14q  8q
3 1
( 1)  y
4
3
4 0
L(q)  L0(q)  L1(q)  L2(q)  L3(q)  L4(q)
xX
0
q ( x) 
q(1.5)  2
h
  f ( 1.5)  L( q( 1.5) )  0
L( q( 1.5) )  2.9878
Обчислимо значення першої похідної та її похибку:
4
( 1)  y
LP0( q) 
0
0 4
3
( 1)  y
LP1( q) 
1
1 3
LP2( q) 
2
2 2
3
2


3
2


3
2


3
2


3
2

 4q  27q  52q  24
2
( 1)  y

 4q  30q  70q  50
 4q  24q  38q  12
1
( 1)  y
LP3( q) 
3
 4q  21q  28q  8
4
 4q  18q  22q  6
3 1
0
( 1)  y
LP4( q) 
4 0
LP( q)  ( LP0( q)  LP1( q)  LP2( q)  LP3( q)  LP4( q) ) 
xX
q ( x) 
0
1
h
q(1.5)  2
h
LP( q( 1.5) )  0.9974
P  f1(1.5)  LP(q(1.5))  0.0015
Обчислимо значення другої похідної та її похибку:
4
( 1)  y
LPP0( q) 

2


2


2


2


2

0
 12q  60q  70
1
 12q  54q  52
2
 12q  48q  38
0 4
3
( 1)  y
LPP1( q) 
1 3
2
( 1)  y
LPP2( q) 
LPP3( q) 
2 2
1
( 1)  y
3
3 1
0
( 1)  y
LPP4( q) 
4 0
4
 12q  42q  28
 12q  36q  22
84
LPP( q )  ( LPP0( q )  LPP1( q )  LPP2( q )  LPP3( q )  LPP4( q ) ) 
h
xX
q ( x) 
1
0
2
q(1.5)  2
h
LPP(q(1.5))  1.6577
PP  f2(1.5)  LPP( q(1.5))  0.0021
Як бачимо, значення інтерполяційних поліномів в заданій точці x 2  1.5 співпали із
значенням функції, що говорить про правильність їх побудови. Однак, задачі чисельного диференціювання мають похибки, що свідчить про те, що наближене диференціювання являє
собою операцію менш точну, ніж інтерполювання.
КОНТРОЛЬНІ ПИТАННЯ ДЛЯ САМОПЕРЕВІРКИ
1.
2.
3.
4.
Коли використовується чисельне диференціювання?
Приведіть найпростіші формули заміни першої та другої похідної різницями.
Як обчислити значення похідних за допомогою інтерполяційних поліномів?
Що ви можете сказати про точність задач чисельного диференціювання?
85
ТЕМА 9. Чисельне інтегрування
Лiтература: [2], пп. 2.1-2.5; [4], §§2.12-2.13; [5], п. 3.4; [6], гол. 8; [7], пп. 5.1-5.4
ТЕОРЕТИЧНІ ВІДОМОСТІ
Якщо функція f(x) – неперервна на відрізку [a,b] і відома її первісна функція F(x), то визначений інтеграл від цієї функції у границях від а до b може бути
обчислений за формулою Ньютона-Лейбниця:
b
I   f ( x)dx  F (b)  F (a), де
F (x)  f(x).
(63)
a
Але в багатьох випадках первісна функція F(x) не може бути знайдена, або
є дуже складною. Крім того, підінтегральна функція f(x) може бути задана таблично, тоді поняття первісної функції взагалі втрачає сенс. Постає задача наближеного обчислення інтегралів за допомогою чисельних методів.
Усі чисельні методи обчислення інтегралів базуються на геометричній інтерпретації визначеного інтеграла, значення якого чисельно дорівнює площі
фігури, що обмежена зверху – графіком функції f(x), знизу – віссю 0х, зліва та
справа – межами інтегрування x=a, x=b (рис. 7). Для знаходження площі відрізок [a,b] розбивають на n рівних частин довжиною h, де h  b  a . Значення n
n
обирають, виходячи з умови задоволення точності обчислень. Значення інтеграла I шукають як суму елементарних площадей фігур, що побудовані на інтервалах [ xi , xi  h] .
Рис.7
Метод лівих прямокутників. Апроксимуємо площі елементарних криволінійних трапецій, обмежених зверху графіком функції f(x), площами прямокутників, висота яких дорівнюватиме значенню f(x) у лівому кінці інтервалу
[ xi , xi  h] (рис. 8). Загальну площу фігури обчислимо, як суму площ окремих
елементарних прямокутників:
86
Рис.8
b  a n 1
b  a n 1
(64)
y

 i
 f ( xi ).
n i 0
n i 0
i 0
Точність формули лівих прямокутників можна оцінити так:
(b  a) 2
(65)

f (),
2n
де  [a, b] - точка, в якій перша похідна функції f(x) набуває найбільшого за
модулем значення.
Метод правих прямокутників. Апроксимуємо площі елементарних криволінійних трапецій, обмежених зверху графіком функції f(x), площами прямокутників, висота яких дорівнюватиме значенню f(x) у правому кінці інтервалу
[ xi , xi  h] (рис. 9). Загальну площу фігури обчислимо, як суму площ окремих
елементарних прямокутників:
I
n 1
 Si 
Рис.9
ba
ba n
(66)
I   Si 
 yi  n  f ( xi ).
n i 1
i 1
i 1
Точність формули правих прямокутників можна оцінити за формулою (65).
Метод середніх прямокутників. Апроксимуємо площі елементарних криволінійних трапецій, обмежених зверху графіком функції f(x), площами прямокутників, висота яких дорівнюватиме значенню f(x) у середині інтервалу
n
n
87
h

[ xi , xi  h] - yi  1  f  xi    f  xi  1  (рис. 10). Загальну площу фігури об2

2
2

числимо, як суму площ окремих елементарних прямокутників:
Рис.10
n 1
n 1
ba
b  a n 1
h
(67)
I   Si 
yi  1 
f ( xi  ).


n i 0
n i 0
2
2
i 0
Точність формули середніх прямокутників можна оцінити так:
(b  a )3
(68)

f (),
24n 2
де  [a, b] - точка, в якій друга похідна функції f(x) набуває найбільшого за
модулем значення.
Метод трапецій. Апроксимуємо площі елементарних криволінійних трапецій, обмежених зверху графіком функції f(x), площами трапецій, висота яких
дорівнюватиме h, а довжини основ значенням f(x) у правому й лівому кінцях
інтервалу [ xi , xi  h] - f ( xi ) й f ( xi  h) (рис. 11). Загальну площу фігури обчислимо, як суму площ окремих елементарних трапецій:
Рис. 11
I
n 1
 Si 
i 0
ba
n
y 
 y0
  y1  ...  yn 1  n  
2 
 2
88
f ( xn ) 
b  a  f ( x0 )
 f ( x1 )  ...  f ( xn 1 ) 
(69)

.
n  2
2 
Точність формули трапецій можна оцінити так:
(b  a )3
(70)

f (),
2
12n
де  [a, b] - точка, в якій друга похідна функції f(x) набуває найбільшого за
модулем значення.
Метод Симпсона. Апроксимуємо площі елементарних криволінійних трапецій, обмежених зверху графіком функції f(x), площами криволінійних трапецій, обмежених зверху параболою, що проходить через три точки ( x2i , y2i ) ,
( x2i 1, y2i 1 ) , ( x2i  2 , y2i  2 ) , i  0,1,..., n (рис. 12). Кількість точок для формули
Симпсона має бути завжди парною - n  2m . Загальну площу фігури обчислимо, як суму площ окремих елементарних криволінійних трапецій:

Рис.12
n 1
I   Si 
i 0
ba
( y0  y2m )  4( y1  y3  ...  y2m 1 )  2( y2  y4  ...  y2m  2 ) 
3n
h
 f ( x0 )  f ( x2m )  4 f ( x1 )  ...  f ( x2m 1 )  2 f ( x2 )  ...  f ( x2m  2 ) (71)
3
Точність формули Симпсона можна оцінити так:
(b  a)5 IV
(72)

f (),
180n 4
де  [a, b] - точка, в якій четверта похідна функції f(x) набуває найбільшого за
модулем значення.

ЗАВДАННЯ
1. Методами прямокутників, трапецій та Симпсона обчислити значення інтеграла з
точністю   103 . Значення n обрати з умови задоволення точності розрахунків.
89
1.
0,8
2.
0
1,6
 x cosxdx
dx
 1  x2
16.
0, 6
17.
0 1
0 ,9 x
4.
0, 5
1 x4

x
0,1
3
e

2
0,1 x
1,5
3.
dx

2
18.
0,5
19.
1,0 x
20.
0 ,25
dx

x4
dx
1  x 3dx
0
3
 x arctg( x)dx
3
e
dx
x
0,1

0
5.
0, 5
dx

6.

4


7.
0
21.
cos x
dx
x
10
 x sin xdx
8.
0
0,5
9.
1,0

1  x 3 dx
22.
x
0,1
10.
1,0

0
11. 1

0
12.
13.
14.
24.
1,0
25.
26.
x
1  x2
2
 cos x dx
0
1,0
1, 2
cos x
dx
x
0,1

x sin xdx
1
3
dx
0

2

dx

27.
2
28.
dx
1  x3
sin x
dx
x
4
1,0

x cos xdx
1,6

sin(2 x  2,1)
1, 2
cos x
29.
1,0
30.
0, 2
1, 2
dx
0, 4 x  1
15.
dx
0
 sin x

x3


4
1,0
0
1, 2
e

0
2 x
3
0, 2  x
23.
dx
dx
3
dx
 1  x4
0,1
1,0
0
sin x
0,5
0
6
0,8


1  x2
0
2
e  x dx
2
cos x
 x 2  1dx
0,8
90

x2  1
dx
x  1 cos x 2 dx
tgx2
 x  1dx
0,5
ПРИКЛАД РОЗРАХУНКІВ
1.
Методами прямокутників, трапецій та Симпсона обчислити значення інтеграла з
точністю   104 . Значення n обрати з умови задоволення точності розрахунків.
2
1
 3x 2  4 x  2dx
2
Формули лівих і правих прямокутників
Задана точність
  103 . Обчислимо значення n для її забезпечення за формулою:
(b  a) 2
f ().
2
Знайдемо значення ξ - точку, в якій перша похідна функції f(x) набуває найбільшого за модулем значення.
n
1
f ( x) 
2
3x  4x  2
f1( x) 
d
f ( x)  
dx
  0.001
6 x  4
3x2  4x  22
a  2
b  0
Як бачимо, функція має два екстремуми.
X1  1
X1  Maximize( f1X1)  0.939 -
перший екстремум
f1( X1)  2.067
X2  0.3
X2  Minimize( f1X2)  0.395 -
другий екстремум
f1( X2)  2.067
Значення функції в них однакове за модулем. Тому оберемо:
Q  f1(X1) і знайдемо n:
n 
( b  a)
2 
2
 Q  4133.514
Заокруглимо до цілого: n=4200. Знайдемо значення інтеграла за формулами лівих та правих
прямокутників та обчислимо і порівняємо похибку:
N  4200
b

I   f ( x) dx  1.5459

a
h 
b a
N
 0.00048
91
i  0 N
X  a  i h
i
 i
Y  f X
i
N 1
I_left  h 

Y  1.5459
i
i 0
N
I_right  h 

Y  1.546
i
i 1
5
_left  I  I_left  7.939 10
5
_right  I  I_right  7.934 10
Отримані похибки менше заданої.
Формула середніх прямокутників
Задана точність   10 . Обчислимо значення n для її забезпечення за формулою:
3
(b  a ) 3
f () .
24
Знайдемо значення ξ - точку, в якій друга похідна функції f(x) набуває найбільшого за модулем значення.
n
f2( x) 
d
2
2
f ( x) 
dx
2 ( 6 x  4)
2
3x2  4x  2
3

6
3x2  4x  2
2
5
1.667
2
 1.75  1.5  1.25
1
 0.75  0.5  0.25
 1.667 0
5
f2( x)
 8.333
 11.667
 15
x
Як бачимо, найбільшого за модулем значення функція набуває в точці:
X1  1
X1  Minimize( f2X1)  0.667
f2( X1)  13.5
Q  f2(X1)
і знайдемо n.
92
n 
( b  a)
3
 Q  67.082
24 
Заокруглимо до цілого: n=70. Знайдемо значення інтеграла за формулою середніх прямокутників та обчислимо і порівняємо похибку:
n 
( b  a)
3
24 
 Q  67.082
h 
N  70
b a
N
 0.02857
i  0 ( N  1)
X  a  i h 
i
h
 i
Y  f X
i
2
N 1
I_middle  h 

Y  1.546
5
_middle  I  I_middle  4.157 10
i
i 0
Формула трапецій
Задана точність   10 . Обчислимо значення n для її забезпечення за формулою:
3
(b  a ) 3
f () .
12
Значення точки ξ, в якій друга похідна функції f(x) набуває найбільшого за модулем значення
відоме з попереднього методу.Тому:
n
n 
( b  a)
12 
3
 Q  94.868
Заокруглимо до цілого: n=100. Знайдемо значення інтеграла за формулою трапецій та обчислимо і порівняємо похибку:
h 
N  100
b a
N
 0.02
i  0 N
X  a  i h
 i
Y  f X
i
i
 Y0  YN
I_trapeze  h  


2
N 1



Y   1.5459
i1
i
5
_trapeze  I  I_trapeze  4.074 10

Формула Симсона
Задана точність   10 . Обчислимо значення n для її забезпечення за формулою:
3
(b  a ) 5 IV
f ( ) .
180
Знайдемо значення ξ - точку, в якій четверта похідна функції f(x) набуває найбільшого за модулем значення.
n4
93
d
f4( x) 
4
4
f ( x) 
dx
216
3x2  4x  2
3
144 ( 6 x  4)

2
3x2  4x  2
4

24 ( 6 x  4)
4
3x2  4x  2
5

6 ( 6 x  4)  ( 72 x  48)
3x2  4x  2
4
X1  0.7
X1  Maximize( f4X1)  0.667
f4( X1)  729
Q  f4(X1)
4
n 
( b  a)
5
180 
 Q  18.974
Заокруглимо до цілого: n=20. Знайдемо значення інтеграла за формулою Симпсона та обчислимо і порівняємо похибку:
h 
N  20
b a
N
 0.1
i  0 N
X  a  i h
i
i  13 19
S1 
j  24 18
 Yi  7.74
S2 
i
I_Simpson 
 i
Y  f X
i
 Yj  7.376
j
h
3


 Y  Y  4 S1  2 S2  1.5459
0
N
6
_Simpson  I  I_Simpson  3.717 10
Бачимо, що формула Симпсона є самою ефективною, висока точність розрахунків забезпечується при невеликих значеннях n.
94
КОНТРОЛЬНІ ПИТАННЯ ДЛЯ САМОПЕРЕВІРКИ
1.
2.
3.
4.
5.
6.
7.
8.
Коли застосовується чисельне інтегрування?
Що називається механічною квадратурою?
У чому міститься прийом механічної квадратури?
Який загальний геометричний зміст чисельних методів обчислення визначених однократних інтегралів?
Зміст методів прямокутників, їхня похибка.
Зміст методу трапецій, його похибка.
Зміст методу Симпсона, його похибка.
Як обчислити інтеграл із заданою точністю?
95
ТЕМА 10. Чисельне розв’язування задачі Коші для
звичайного диференціального рівняння
першого порядку
Лiтература: [2], пп. 3.1-3.6; [3], §§5.1-5.6; [4], §§3.1-3.5; [5], п. 4.1; [6], гол. 9
ТЕОРЕТИЧНІ ВІДОМОСТІ
Задача Коші для звичайного диференційного рівняння першого порядку
формулюється так: знайти функцію
(73)
y  y (x) ,
що є розв’язком диференційного рівняння
(74)
y  f ( x, y)
і задовольняє початковій умові
(75)
y0  y( x0 ) .
Чисельні методи розв’язування задачі Коші подають розв’язок у вигляді
таблиці чисел, тобто знаходять значення функції (73) в окремих точках xi
(i=0,1,2,…).
Найпростішим методом розв’язування задачі Коші (73)-(75) є метод Ейлера. Його ідея полягає в заміні інтегральної кривої (73), що проходить через точку M 0 ( x0 , y0 ) ламаною лінією M 0 M1M 2 ... з вершинами M i ( xi , yi ) (рис. 13), які
визначаються за ітераційними формулами:
xi  x0  ih ,
(76)
(i=0,1,2,…).
yi 1  yi  hf ( x, y) ,
Рис.13
Недоліком метода Ейлера є його низька точність, яка пропорційна величині h.
Тобто, щоб уточнити результат на один десятковий знак, необхідно зменшити
крок в десять разів. Крім того метод часто буває нестійким (малі локальні помилки призводять до значного збільшення глобальної). Тому його застосовують для
орієнтовних розрахунків.
Більш точним є вдосконалений метод “предиктор-коректор” (інша назва - ме-
96
тод Ейлера-Коші), за яким спочатку визначають “грубе” наближення розв’язку:
~
yi 1  yi  hf ( xi , yi ) ,
(77)
звідки знаходять направлення інтегральної кривої:
~
(78)
f i 1  f ( xi 1, ~
yi 1 ) .
Потім вважають:
~
f i  f i 1
(79)
y i 1  y i  h
, (i=0,1,2,…).
2
Похибка методу “предиктор-коректор” має порядок h 2 .
В обчислювальній практиці найбільш часто використовують метод РунгеКутти, який має точність пропорційну h 4 . Приведемо його розрахункові формули:
xi 1  xi  h,
k  2k2  2k3  k4
yi 1  yi  1
,
6
k1  hf ( xi , yi ),
k
h
k 2  hf ( xi  , yi  1 ),
2
2
k
h
k3  hf ( xi  , yi  2 ),
2
2
(i=0,1,2,…,n).
k 4  hf ( xi  h, yi  k3 ),
(80)
Всі розглянуті методи є однокроковими, в яких, щоб знайти наближений
розв’язок у точці хi+1, досить знайти розв`язок в точці хk. В багатокрокових методах для знаходження розв’язку в наступній точці потрібна інформація більш ніж
про одну з попередніх точок.
Одним з найбільш простих і практично зручних методів чисельного рішення диференціальних рівнянь є метод Адамса четвертого порядку точності.
Метод Адамса відноситься до багатокрокових методів:
h
yi 1  yi  55 f i  59 f i 1  37 f i  2  9 f i  3 ,
(81)
24
де fi  f ( xi , yi ). Даний метод для початку розрахунків вимагає розв’язку в перших чотирьох точках. В точці х0 розв’язок у0 відомий з початкової умови, а в
інших точках х1, х2, х3, х4 розв’язок y1,y2, y3, y4 можна отримати за методом Рунге-Кутти (80).
ЗАВДАННЯ
1. Знайти наближений розв’язок задачі Коші для звичайного диференційного
рівняння першого порядку на заданому проміжку [x0; b] методами Ейлера,
“предиктор – коректор”, Рунге-Кутти, Адамса.
97
y   f ( x, y )
x0
y ( x0 )  y 0
b
2
x  y2
0.0
1.0
1.0
2.
y  x  y 2
0.0
0.0
0.3
3.
y  x 2  y 2
0.0
0.27
1.0
4.
y  x 2  xy  y 2
0.0
0.1
1.0
5.
y  x 2  xy  y 2
0.0
0.0
1.0
6.
y  xy  e y
0.0
0.0
0.1
7.
 y
y  x  sin 
3
y  2 x  cos y 
0.0
1.0
2.0
0.0
0.0
0.1
0.0
1.0
1.0
1.0
0.0
2.0
0.0
1.0
1.0
0.0
1.0
1.5
0.0
1.0
2.0
1.0
0.0
1.
8.
9.
10.
11.
12.
y 
xy
y  xy3  y
1
y  2
y x
1
y   xy
2
y  xy2  1
y  (2  y ) x
y  ln( x  y )
13.
14.
15.
16.
y  cosx   y
0.0
1.0
0.0
-1.0
y  2 y  3e x
0.3
1.42
0.6
17.
y  y 2  x 2
1.0
1.0
2.0
18.
0.0
0.5
1.0
19.
y  xy( y 2  1)
2y  x
y 
y
1.0
2.0
2.0
20.
y  x 3  y
1.0
-1.0
2.0
21.
y  2 xy  x 2
0.0
0.0
0.5
22.
y  e x  y 2
0.0
0.0
0.4
23.
y  x 3  y 2
0.0
0.0
0.5
24.
y  y e  2 y
y
y 
x
2
y  x  y 2
y
y 
 y2
x 1
0.0
1.0
1.0
1.0
1.0
4.0
0.0
0.0
1.0
0.0
1.0
1.0
28.
y  2 x  y
2.0
0.75
3.0
29.
y  x  e y
1.0
1.0
2.0
30.
y  2 x  y 2 x
0.0
1.0
3.0
25.
26.
27.
2 x
98
ПРИКЛАД РОЗРАХУНКІВ
1. Знайти наближений розв’язок задачі Коші для звичайного диференційного рівняння першого порядку на заданому проміжку [x0; b] методами Ейлера, “предиктор –
коректор”, Рунге-Кутти, Адамса:
x0=0, y0=1, b=0,5.
y  2 x  y 2 ,
Задамо сітку по x:
x  0
0
i  0 9 h  0.05
x
 x  h
i 1
T
i
x  ( 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 )
Метод Ейлера
x
f ( xy )  2  y
yE  1
2
0
yE
i 1
T
 i i
 yE  h  f x yE
i
yE  ( 1 1.1 1.212 1.339 1.484 1.652 1.848 2.08 2.361 2.705 3.139)
Метод «предиктор-коректор»
yPK  1
0
i  0 9
yPK
i 1
 yPK 
h
i
2
 i
  i 1 yPKi  h f xiyPKi
 f x yPK  f x
i
T
yPK  ( 1 1.106 1.227 1.365 1.525 1.714 1.94 2.216 2.563 3.013 3.622)
Метод Рунге-Кутти
yR  1
0
yR
i 1

z  yR
i
 i i
k1  h  f x yR
k2  h  f  x 
h
k1

2
2

h
k2
k3  h  f  x  yR 

i
i
2
2

i
yR 
i
i

k4  h  f x  h yR  k3
z z
1
6
i
 ( k1  2 k2  2 k3  k4)
T
yR  ( 1 1.106 1.227 1.365 1.526 1.716 1.943 2.222 2.572 3.03 3.653)
Метод Адамса
Розв’язок в перших чотирьох точках візьмемо з методу Рунге-Кутти:
i  0 3
yA  yR
i
T
yA  ( 1 1.106 1.227 1.365)
i
Далі застосуємо формулу Адамса:
i  3 9
yA
i 1
 yA 
i
h
24
 i
 55 f x yA
  59f xi1 yAi1  37f xi2 yAi2  9f xi3 yAi3
i
99
T
yA  ( 1 1.106 1.227 1.365 1.526 1.715 1.942 2.22 2.568 3.021 3.635)
Розв’яжемо тепер рівняння за допомогою функції Mathcad Odesolve:
Given
z
2
d
y ( z) 2  y ( z)
dz
y(0) 1
y  Odesolve ( z0.5)
Побудуймо графіки отриманих розв’язків. Бачимо, що
вони співпали, крім графіку,
що відповідає розрахункам за
методом Ейлера.
4
3.5
y ( z)
yE
3
yPK
2.5
yR
yA
2
1.5
1
0
0.1
0.2
0.3
0.4
0.5
z x
КОНТРОЛЬНІ ПИТАННЯ ДЛЯ САМОПЕРЕВІРКИ
1. Сформулюйте задачу Коші для звичайного диференційного рівняння першого порядку.
2. Геометрична інтерпретація задачі Коші.
3. Сутність методу Ейлера, його точність.
4. Сутність модифікації метода Ейлера у методі “предиктор-коректор”.
5. Геометрична сутність метода Рунге-Кутти.
6. Які ще методи розв’язання задачі Коші Вам відомі?
100
ТЕМА 11. Скінченно-різницевий метод розв’язання
крайової задачі
Лiтература: [2], пп. 4.1-4.4; [3], §§6.1-6.3; [4], §§3.7, 3.9; [5], п. 4.2.2; [6], гол. 9
ТЕОРЕТИЧНІ ВІДОМОСТІ
Розглянемо двохточкову крайову задачу для лінійного диференціальне рівняння другого порядку на відрізку [a; b]:
(82)
y   px  y '  qx  y  f x  ,
з двохточковими лінійними крайовими умовами:
 0 y a   1 y a   A,

 0 y b   1 y b   B, 
 0  1  0,
(83)
 0  1  0,
де p(x), q(x) і f(x) – неперервні на відрізку [a; b].
Зведемо задачу до системи скінчено-різницевих рівнянь. Для цього розіб‘ємо основний відрізок [a; b] на n-рівних частин довжиною h (крок):
ba
.
h
n
Точки розбиття мають
xi  x0  ih , i  0, 1, 2,..., n  абсциси:
x0  a, xn  b.
Значення в точках xi шуканої функції y=y(x), та її похідних y  yx, y  yx
позначимо відповідно через:
yi  yxi , yi  yxi , yi  yxi .
Введемо також позначення:
pi  pxi , qi  qxi , fi  f xi .
Замінимо похідні симетричними скінченно-різницевими відношеннями:
y  yi 1
y  2 yi  yi 1
(84)
yi  i 1
; yi  i 1
, i  1, 2, ..., n .
2h
h2
Для кінцевих точок вважаємо:
 3 y0  4 y1  y2
x0  a, y ( x0 )  y0 , y( x0 ) 
;
2h
(85)
yn  2  4 yn 1  3 yn
xn  b, y ( xn )  yn , y( xn ) 
.
2h
Підставляючи апроксимації похідних, отримаємо систему рівнянь для знаходження yi:
101
 3 y0  4 y1  y2


y


 A,
0
0
1

2h

y  yi 1
 yi 1  2 yi  yi 1
 pi i 1
 qi yi  f i для i  1, 2, ..., n  1,
(86)

2
2
h
h


yn  2  4 yn 1  3 yn

y


 B.
0
n
1

2h

Приводячи подібні, отримаємо систему лінійних алгебраїчних рівнянь (якщо
похідні замінити правими різницевими відношеннями то отримаємо систему з
тридіагональною матрицею коефіцієнтів):
3
2
1





y


y

1 y2  A,


0
1
0
1
1

2
h
h
2
h


 1
pi 
pi 
2 
 1

(87)
 2   yi 1   qi  2  yi   2   yi 1  f i для i  1, 2, ..., n  1,
2
h
2
h
h
h
h







1
2
3 

 1 yn  2  1 yn 1   0  1  yn  B.
h
2h 

 2h
Отримана система складається з n+1 рівняння з n+1 невідомою y0 , y1 ,..., yn , які
є значеннями шуканої функції y=y(x) в точках x0 , x1,..., xn . Розв‘язавши систему, отримаємо таблицю значень шуканої функції y.
ЗАВДАННЯ
1. Знайти розв’язок крайової задачі методом скінчених різниць з кроком h=0,1.
y
 2y  x ,
x
 y(0,7)  0,5,

2 y(1,2)  3 y(1,2)  1,2.
y  xy  y  x  1,
 y(0,5)  2 y(0,5)  1,

 y(0,8)  1,2.
16.
y  xy  2 y  x  1,
 y(0,9)  0,5 y (0,9)  2,

 y(1,4)  1.
17.
3.
y  2 y  xy  x 2 ,
 y(0,6)  0,7,

 y(0,9)  0,5 y(0,9)  1.
18.
4.
y
 1,
x
 y(0,4)  2,

 y(0,9)  2 y (0,9)  0,7.
19.
y
 3,
x
 y(0,2)  2,

0,5 y(0,7)  y(0,7)  1.
2y
y   y  
 x  0,4 ,
x
 y(1,1)  0,5 y(1,1)  2,

 y(1,6)  4.
y
y   3 y    x  1 ,
x

 y (1,2)  1,

2 y(1,7)  y(1,7)  0,5.
1.
2.
y  
y   3 y  
y  2 y  
102
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
y
 3y  2x2 ,
2
 y(1)  2 y(1)  0,6,

 y(1,5)  1.
y   2 xy   y  0,4 ,
2 y(0,3)  y(0,3)  1,

 y(0,8)  2.
2 y
y  
 3y  2 ,
x
 y(0,8)  1,5,

2 y(1,3)  y(1,3)  3.
20.
y  1,5 y  xy  0,5 ,
2 y(1,3)  y(1,3)  1,

 y(1,8)  3.
21.
y   0,5 xy   y  2 ,
 y(0,4)  1,2,

 y(0,9)  2 y(0,9)  1,4.
y  3xy  2 y  1,5 ,
 y(0,7)  0,5,

0,5 y(1,2)  y(1,2)  2.
y  2 x 2 y  y  x ,
2 y(0,5)  y(0,5)  1,

 y(1,0)  3.
y
y    0,4 y  2 x ,
x
 y(0,6)  0,3 y(0,6)  0,6,

 y(1,1)  1,7.
y
y    xy  2 ,
3
 y(0,8)  1,5,

3 y(1,3)  0,5 y(1,3)  1.
y 1
y  2 y    ,
x x
0,5 y(0,9)  y(0,9)  1,5,

 y(1,4)  0,8.
y  0,5 y  0,5 xy  2 x ,
 y(1)  0,5,

2 y(1,5)  y(1,5)  2.
2
y  2 y  1,5 xy  ,
x
 y(0,8)  1,

 y(1,3)  2 y(1,3)  1.
y   0,6 xy   2 y  1 ,
 y(1,3)  0,6,

2 y(1,8)  0,8 y(1,8)  3.
23.
y  2 xy  2 y  0,6 ,
 y(2)  1,

0,4 y(2,5)  y(2,5)  1.
24.
y
 0,8 y  x ,
2x
 y(1,7)  1,2 y (1,7)  2,

 y (2,2)  1.
y  0,8 y  xy  1,4 ,
 y(1,8)  0,5,

2 y(2,3)  y (2,3)  1,7.
y  0,5x 2 y  2 y  x 2 ,
 y(1,4)  0,7 y(1,4)  2,

 y(1,9)  0,8.
30.
y  
22.
25.
26.
27.
28.
29.
y  
y 2 y x

 ,
4
x
2
1,5 y(1,3)  y(1,3)  0,6,

2 y(1,8)  0,3.
y   2 xy   1,5  x ,
1,4 y(1,1)  0,5 y(1,1)  2,

 y (1,6)  2,5.
xy 
y  
 0,5 y  2 x ,
2
0,4 y(0,2)  y(0,2)  1,5,

 y(0,7)  0,4.
y
2
y  
y ,
2x
x
 y (0,4)  1,3,

0,5 y(0,9)1,2 y (0,9)  1.
y   xy   2 xy  0,8 ,
 y(1,2)  0,5 y (1,2)  1,

 y (1,7)  2.
y 
103
104
ПРИКЛАД РОЗРАХУНКІВ
Знайти розв’язок крайової задачі методом скінчених різниць з кроком h=0,1:
1.
y  xy  0,5
y
 1,
x
 y(2)  2 y(2)  1,

 y(2,5)  2,15.
Введемо позначення:
P(x)  x
a  2
Q( x) 
  2
  1
  0
0
F( x)  1
x
b  2.5
  1
0
0.5
1
A  1
1
B  2.15
Розбивши відрізок 2; 2,5 на частини з кроком h  0,1 . Отримаємо шість вузлових точок:
h  0.1
n  5
x  a  i h
i  0 n
i
2
 2.1
 
2.2
x 
 2.3
 2.4
 
 2.5
Обчислимо значення функцій у вузлах:
i  0 n
 i
p  P x
i
 i
q  Q x
i
 i
f  F x
i
2
 2.1
 
2.2
p  
 2.3
 2.4
 
 2.5
 0.25 
 1
 0.238
 1


 
0.227
1

q 
f  
 0.217
 1
 0.208
 1


 
 0.2 
 1
Замінимо крайову задачу системою скінченно-різницевих рівнянь. Сформуємо матрицю коефіцієнтів та вектор вільних членів. Перше та останнє рівняння відповідають крайовим умовам, а інші – диференціальному рівнянню:
105
2
1
   3 




0
0
0
 0

1
1
2 h
h
2 h 1


p
p
 1

1
2
1
1

q 

0
0
0


1
2
2
2 h
 h 2 2 h

h
h


p
p
1
2
2
1
2


0

q 

0
0
2


2
2 h
2
2
2 h
h
h
h


C 


p
p
1
3
2
1
3


0
0

q 

0
3
2
2 h
2
2
2 h


h
h
h


p
p 

1
4
2
1
4
0
0
0

q 


4
2
2 h
2
2
2 h 
h
h
h




1
2
3
0
0
0

 
 
 

0
2 h 1
h 1
2 h 1 

40
10
0
0
0 
 29
 89.5 200.238 110.5
0
0
0 


0
89
200.227 111
0
0 

C
 0
0
88.5 200.217 111.5
0 
 0

0
0
88
200.208 112


0
0
0
0
1 
 0
 1 
 1 
 
1 
d 
 1 
 1 
 
 2.15
Знайдемо розв’язок системи за допомогою функції Mathcad Find:
Given
C y
d
y  Find ( y)
 2.206
 2.157


2.131

y 
 2.124
 2.131


 2.15 
Побудуємо графік отриманого розв’язку:
106
A
f 
 1
f 
2
d   
 f 3
 
 f 4
 
B
 0
 0
 
0
y   
 0
 0
 
 0
Відповідь:
x
2.0
2.1
2.2
2.3
2.4
2.5
y(x) 2.206 2.157 2.131 2.124 2.131 2.15
КОНТРОЛЬНІ ПИТАННЯ ДЛЯ САМОПЕРЕВІРКИ
1. Сформулюйте двохточкову крайову задачу для звичайного диференціального рівняння другого порядку.
2. Надайте геометричну інтерпретацію поставленої крайової задачі.
3. Сформулюйте двохточкову крайову задачу для лінійного диференціального
рівняння другого порядку.
4. Якими скінченно-різницевими відношеннями замінюються значення похідних в точках?
5. Сутність методу скінчених різниць.
6. Яким методом можна розв’язати систему лінійних алгебраїчних рівнянь з
тридіагональною матрицею коефіцієнтів?
107
ТЕМА 12. Розв‘язування задачі Діріхле методом сіток
Лiтература: [2], пп. 5.1-5.3; [3], §§8.1-8.4; [4], §§4.1-4.2; [5], пп. 5.1-5.3; [6], гол. 10
ТЕОРЕТИЧНІ ВІДОМОСТІ
Розглянемо лінійне диференціальне рівняння з частинними похідними другого порядку з двома незалежними змінними:
u
u
L[u ]  u  a  b  cu  F ( x, y ) ,
(88)
x
y
де  - оператор Лапласа для двох змінних  
2
2
; a  a ( x , y ) , b  b ( x, y ) ,
x 2 y 2
c  c( x, y ) , F  F ( x, y ) – неперервні функції. Таке рівняння буде еліптичного типу.

Нехай задана деяка область К, що обмежується контуром Г (рис.14). На контурі Г задана функція
( P)  ( x, y ) .
Потрібно
знайти
функцію
u ( P)  u ( x, y ) , яка всередині К задовольняє рівнянню
(88), а на границі приймає задані значення (P ) :
L[u ( P)]  F ( P), P  K
(89)

Рис.14
u ( P)  ( P), P   .
Задача (89) називається задачею Діріхле.
Метод сіток. На області К, в якій шукається функція, будують сіткову область Кh, яка складається з однакових вічок і наближає задану область К (рис. 15).
Рис. 15
Задане диференціальне рівняння замінюють у вузлах побудованої сітки відповідними скінчено-різницевими рівняннями. За граничних умов знаходяться
значення шуканого розв‘язку в граничних вузлах області Кh.
Щоб знайти розв‘язок скінчено-різницевого рівняння, потрібно знайти
розв‘язок алгебраїчних рівнянь з великою кількістю невідомих. Це буде значення шуканої функції у вузлах сітки.
Вибір сіткової області залежить від конкретної задачі, але в усіх випадках
контур Гh сіткової області Кh потрібно обирати так, щоб він якнайкраще апрок-
108
симував контур Г заданої області К. Сітка може складатися з квадратних, прямокутних, трикутних та інших вічок.
Розглянемо використання методу сіток для побудови розв‘язку задачі Діріхле:
  2u  2u
 2  2  0, ( x, y )  K
(90)
y
 x

u ( x, y )  ( x, y ), ( x, y )  
( x, y ) – задана функція (неперервна). К обмежена замкненим кусково-гладким
контуром Г. Сітку оберемо квадратну з кроком h (рис. 16):
S h : xi  x0  ih; yi  y0  ih; (i, j  0,1,2,...) .
Вузли (xi, yj) сітки Sh або належать області К, або
віддалені від її границі Г на відстань меншу за h.
Точки (вузли) сітки Sh називають сусідніми, якщо
вони віддалені одна від одної в напрямку осі Ох або
Оу на відстань h. Вузол Ah сітки Sh називають внутрішнім, якщо він належить області К, а всі чотири
сусідні з ним вузли – множині Sh; в протилежному
випадку він називається граничним (Bh, Сh). Граничний вузол називається вузлом першого роду (Bh),
якщо він має сусідній внутрішній вузол, в протилежному випадку – називається граничним вузлом
другого роду (Сh).
Рис. 16
Внутрішні вузли та граничні вузли першого роду називаються розрахунковими точками; граничні вузли другого роду не входять в обчислення і можуть
бути вилучені з сітки Sh.
Сітку Sh завжди обираємо зв‘язною, тобто будь-які дві розрахункові точки
можна з‘єднати ланцюжком вузлів. Крім того сітка Sh утворює багатокутну область Kh з границею Гh, яка примикає до границі Г області К як можливо ближче.
Значення функції в точках ( xi , yi ) позначимо через uij  u ( xi , yi ) . Замінимо
диференційне рівняння (90) для кожної внутрішньої точки ( xi , yi ) скінченорізницевим рівнянням:
1
(91)
Ah : uij  (ui 1, j  ui 1, j  ui , j 1  ui , j 1 )
4
де ( xi 1, yi 1) – розрахункові точки.
В граничних вузлах першого роду
Bh: u( Bh )  u( B)  ( B) ,
(92)
де B – найближча до Bh точка границі Г.
Система (91) є лінійною системою, причому кількість невідомих (кількість
внутрішніх вузлів) дорівнює кількості рівнянь. Розв‘язавши систему (91), отри-
109
маємо наближене значення шуканої функції у вузлах сіткової області Кh.
Процес Лібмана. Якщо кількість вузлів сітки велика, то безпосередній
розв‘язок системи (91) є ускладненим. Крім того значення функції u в граничних вузлах сітки Sh обирається грубо. Ці обставини примушують звернутися до
ітераційних методів з одночасним виправленням граничних значень.
Процес усереднення Лібмана:
1
uij( k )  (ui(k1,1j)  ui(k1,1j)  ui(,kj11)  ui(,kj11) ), k  1,2,....
4
(x)
де uij – послідовне k-те наближення для внутрішніх вузлів (xi,yj) сітки Sh; uij(0) –
початкове наближення.
Значення функції в граничних вузлах u(Аh) корегуємо за формулами лінійної інтерполяції:
u (0) ( Ah )  u ( A)  ( A),
u
(k )
u ( k ) ( B)  u ( A)
( Ah )  u ( A) 
, k  1,2,...
h
де А – найближче до Аh точка границі Г, B - найближчий до Аh внутрішній вузол сітки Sh,
 – віддалення вузла Ah від точки А (рис. 17).
 > 0, якщо Ah  К;
 < 0, якщо Ah  К.
Якщо Ah = А =>  = 0, то u ( k )  Ah   u A   A .
Рис. 17
Для обрання uij(0) задачу Діріхле розв‘язують грубо за допомогою крупної
сітки, а потім ці значення використовують для дрібнішої сітки. На практиці для
проведення розрахунків заготовляють шаблони (рис.18). Спочатку область
розв‘язків покривають сіткою: внутрішні вузли відмічають білими кругами, а
граничні, в яких відомі значення функції, – чорними (рис. 18, а).
а
б
Рис.18
в
Для побудови обчислювального шаблону будуємо другу сітку, лінії якої проходять посередині між лініями першої, причому вузли першої сітки (внутрішні і
граничні) потрапляють в центри клітин другої сітки. Клітини другої сітки, в
центрах яких знаходяться незмінні граничні значення, обведемо (рис. 18, б).
Внутрішні клітини будуть заповнюватись ітераційним процесом. Для них пот110
рібно заготовити шаблони. Якщо граничні значення будуть корегуватися, то в
шаблонах зберігаються і граничні клітини. Шаблон №1 заповнюємо початковими значеннями uij(0) (отримані для крупної сітки). Шаблон №2 (рис.18, в) заповнюємо таким чином, щоб в кожній клітині було записано середнє арифметичне чотирьох чисел з шаблону №1 (граничні клітини приймають участь в розрахунках). Далі шаблон №2 накладають на шаблон №1 і заповнюють шаблон
№3 і так далі, доки значення в шаблонах не співпадуть до заданої точності.
ЗАВДАННЯ
1. Методом сіток скласти розв’язок диференціального рівняння Лапласа
 2u  2u

 0 із заданими початковими умовами; крок h=1. Уточнення
x 2 y 2
розв’язку проводити до сотих за процесом Лібмана.
1.
16.
2.
17.
3.
18.
4.
19.
5.
20.
6.
21.
7.
22.
8.
23.
9.
24.
10.
25.
11.
26.
12.
27.
111
13.
28.
14.
29.
15.
30.
ПРИКЛАД РОЗРАХУНКІВ
1. Методом сіток скласти розв‘язок диференційного рівняння Лапласа
 2u
x 2

 2u
y 2
0 з
 x2 y2
 1 ( ),
 
заданими початковими умовами:  16 9
. Крок h = 1. Уточнення проu x, y   0,5( x  y )
Г

водити до сотих за допомогою процесу Лібмана.
Будуємо задану область Г. Бачимо, що розв‘язок буде симетричним, тому його значення будемо шукати лише у першій чверті еліпса.
4
4
3
3
2
 x2 
 1 
 16 
  x2 
 3  1 
  16 
3
1
4
3
2
1
0
1
2
3
4
3
1
 x2 
 1 2
 16 
2
1
3
4
0
1
x
x
Візьмемо крок h = 1 і накладемо сітку на область Г.
Ah=A
3
Bh
B
2
Ch
C
Dh
u1
u2
u3
1 u
4
u5
u6
0 u8
2
1
u9
2
u10
112
D
Eh
u7 E
3
u11
4
Fh=F
3
4
Визначимося з вузлами сітки.
Внутрішні вузли:
;
;
;
;
;
;
;
;
.
Граничні вузли:
;
;
;
;
;
.
На границі області Г граничним вузлам відповідають точки:
;
;
;
;
.
Обчислимо значення функції u(x,y) на границі Г (за формулою крайових умов):
;
;
;
U(xy)  0.5 ( x  y )
uA  U( 03)  1.5 uB  U(12.9047)  1.9524 uC  U(22.5981)  2.2991 uD  U(31.9843)  2.4922
uE  U( 3.77121)  2.3856 uF  U(40)  2
Для кожного внутрішнього вузла складемо рівняння таким чином: значення функції у
вузлі дорівнює середньому арифметичному чотирьох значень функції в сусідніх вузлах.Отримані рівняння утворюють систему лінійних алгебраїчних рівнянь, розв’язавши яку
отримаємо значення розв’язку у внутрішніх вузлах:
u  0 u  0 u  0 u  0 u  0 u  0 u  0 u  0 u  0 u
1
2
3
4
5
6
9
7
8
10
 0 u
11
 0
Given
1
1
1
u
 2 u  uA  u
u
 u  u  uB  u
u
 u  uD  uC  u
1 4
2
4
2 4 1
3
5
3 4 2
6
1
1
1
u
 2 u  u  u
u
 u u u u
u
 u u u u
4 4
5
1
8
5 4 4
6
2
9
6 4 5
7
3
10
1
1
1
u
 u  uE  uD  u
u
 2 u  2 u
u
 u  u  2 u
7 4 6
11
8 4
9
4
9 4 8
10
5
1
1
u
 u  u  2 u
u
 u  uF  2 u
10 4 9
11
6
11 4 10
7






















 T  ( 1.9318 2.074 2.2762 2.0794 2.1356 2.2396 2.3344 2.1144 2.1495 2.2122 2.2203)
Find u
Таким чином,
u  1.9318
u  2.074
u  2.3344
u  2.1144
1
7
2
8
u  2.2762
3
u  2.1495
9
u  2.0794
4
u
10
 2.2122
u  2.1356
5
u
11
u  2.2396
6
 2.2203
Складемо шаблон №1, в якому внутрішні значення відповідають щойно знайденим, а
граничні отримаються в результаті уточнення попередніх граничних значень за формулою
u ( B )  u ( A)
,
лінійної інтерполяції: u ( Ah )  u ( A) 
h 
де Аh – вузлова гранична точка; А – найближче до Аh точка границі Г, B - найближчий до Аh
внутрішній вузол сітки Sh,  – віддалення вузла Ah від точки А;  >0, якщо Ah  К;  <0, якщо
Ah  К.
B  2.9047 3  0.0953 C  2.5981 3  0.4019 D  1.9843 2  0.0157
E  3.7712 4  0.2288
uAh  uA  1.5
u  uB
u  uC
2
3
uBh  uB 
 B  1.9652 uCh  uC 
 C  2.2837
1  B
1  C
u  uD
u  uE
7
7
uDh  uD 
 D  2.4896
uEh  uE 
 E  2.3704
1  D
1  E
uFh  uF  2
Утворимо шаблон:
113
 uAh

 u1
S  
u
 4
 u
 8
uBh uCh
u
u
u
2
5
9
u
u
u
0
uDh
3
u
6
10
u
7
11



uEh 

uFh 

0
0
S1  S
1
2
3
4
5
1
S1  2
1.5
1.9652
2.2837
0
0
1.9318
2.074
2.2762
2.4896
0
3
2.0794
2.1356
2.2396
2.3344
2.3704
4
2.1144
2.1495
2.2122
2.2203
2
Процес Лібмана міститься в уточнені значень, що входять в шаблон №1. Кожний наступний шаблон отримуємо з попереднього таким чином: значення функції у внутрішніх
вузлах дорівнює середньому арифметичному чотирьох сусідніх попереднього шаблону. А
значення функції в граничних вузлах – за формулою лінійної інтерполяції. Таке уточнення
проводять до тих пір, доки не буде співпадання результатів із заданою точністю.
 2 2  S1 1  S3 1 R2 2  4 S2 1  S2 3  S1 2  S3 2
4
1
1
R
   S
S
S
S 
R
   S
S
 2 S 
2 3
2

2
2

4
1

3
3

3
3

1
4 1
3 2
4
4 2 1
1
1
R
   S
S
S
S 
R
   S
S
S
S 
3 2
2

2
4

2
3

1
3

3
3

3
3 4
2 3
4 3
4
4 3 2
1
1
R
   S
S
S
S 
R
   2 S
 2 S 
3 4
3

3
3

5
2

4
4

4
4

1
3 1
4 2
4
4
1
1
R
   2 S
S
S 
R
   2 S
S
S 
4 2
3

2
4

1
4

3
4

3
3 3
4 2
4 4
4
4
1
R
   2 S
S
S 
R
 S
4 4
3 4
4 3
4 5
1 1
1 1
4
R
2 1

1
1
 2 S
R
R
1 2
 uB 
2 2
 uB
1  B
R
 uD
3 4
R
 uD 
 D
2 4
1  D
R
 B
1 3
 uC 
2 3
 uC
 C
1  C
R
 uE
3 4
R
 uE 
 E
R
 S
2 4
1  E
4 5
4 5
R
N1  S
N2  R
Аналогічно побудуємо інші шаблони:
1
2
3
4
5
1
N1  2
1.5
1.9652
2.2837
0
0
1.9318
2.074
2.2762
2.4896
0
3
2.0794
2.1356
2.2396
2.3344
2.3704
4
2.1144
2.1495
2.2122
2.2203
2
1
2
3
4
5
1
N2  2
1.5
1.9655
2.2807
0
0
1.9318
2.0772
2.2717
2.3691
0
3
2.0794
2.1356
2.2396
2.33
0
4
2.1144
2.1495
2.2122
2.2203
2
114
1
2
3
4
5
1
N3  2
1.5
1.9654
2.2605
0
0
1.9335
2.0762
2.2417
2.1843
0
3
2.0794
2.1364
2.2374
1.7072
0
4
2.1144
2.1495
2.2122
2.2181
2
КОНТРОЛЬНІ ПИТАННЯ ДЛЯ САМОПЕРЕВІРКИ
1.
2.
3.
4.
5.
6.
Сформулюйте задачу Дирихле?
Розкажіть етапи алгоритму методу сіток.
Дайте визначення сусідніх, граничних та внутрішніх вузлів сітки.
Наведіть скінченно-різнецеві рівняння для внутрішніх вузлів.
В чому полягає процес усереднення Лібмана?
Що таке шаблон і як його розрахувати?
115
ЛІТЕРАТУРА
1. Практикум з обчислювальної математики. Основні числові методи: Навчальний посібник. В 2-х частинах. І.А. Анджейчак, Є.М. Федюк, В.Є.
Анохін та інш. Л.:Львівська політехніка. Частина І. – 99 с.
2. Практикум з обчислювальної математики. Основні числові методи. Лекції: Навчальний посібник. В 2-х частинах. І.А. Анджейчак, Є.М. Федюк,
В.Є. Анохін та інш. Л.:Львівська політехніка. Частина ІІ. – 151 с.
3. Григоренко Я.М., Панкратова Н.Д., Обчислювальні методи в задачах
прикладної математики: Навч. посібник. – К.: Либідь, 1995. – 280 с.
4. Пирумов У. Г. Численные методы: учеб. пособие для студ. втузов /
У.Г. Пирумов. – 4-е изд., стереотип. – М.: Дрофа, 2007. – 221, [3] с.: ил.
5. Численные методы. Сборник задач: учеб. пособие для вузов / В.Ю. Гидаспов, И.Э. Иванов, Д.Л. Ревизников и др.; под ред. У.Г. Пирумова. – М.:
Дрофа, 2007. – 144 с.: ил.
6. Воробьева Г.Н., Данилова А.Н. Практикум по вычислительной математике. М: Высшая школа, 1990. – 207 с.
7. Вержбицкий В.М. Численные методы (математический анализ и обыкновенные дифференциальные уравнения): Учеб. пособие для вузов /
В.М. Вержбицкий. – 2-е изд., испр. – М.: ООО «Издательский дом
«ОНИКС 21 век», 2005. – 400 с.: ил.
8. Вержбицкий В.М. Численные методы (линейная алгебра и нелинейные
уравнения): Учеб. пособие для вузов / В.М. Вержбицкий. – 2-е изд., испр.
– М.: ООО «Издательский дом «ОНИКС 21 век», 2005. – 432 с.: ил.
9. Демидович Б.П., Марон И.А. Основы вычислительной математики. - М.:
Государственное изд-во физико-математ. лит., 1960. – 659 с.
10.Бахвалов Н.С. Численные методы. Анализ. Алгебра. Обыкновенные дифференциальные уравнения. М.: Наука, 1975. – 632 с.
11.Калиткин Н.Н. Численные методы. М.: Наука, 1978. – 512 с.
12.Волков Е.А. Численные методы: Учебное пособие. – М.: Наука. Главн.
ред. физ.-мат. литературы, 1982. – 256 с.
116
ЗМІСТ
ВСТУП………………………………………………………………………......
3
ТЕМА 1. Прямі методи розв’язування систем лінійних алгебраїчних
рівнянь……………………………………………………………… 4
ТЕМА 2. Ітераційні методи розв’язування систем лінійних алгебраїчних
рівнянь……………………………………………………………… 21
ТЕМА 3. Методи визначення коренів нелінійних рівнянь……………….. 29
ТЕМА 4. Методи розв’язування систем нелінійних рівнянь……………… 36
ТЕМА 5. Знаходження власних чисел і власних векторів матриць………. 42
ТЕМА 6. Наближення функцій……………………………………………... 55
ТЕМА 7. Кубічна сплайн-інтерполяція……………………………………… 68
ТЕМА 8. Чисельне диференціювання……………………………………….. 77
ТЕМА 9. Чисельне інтегрування…………………………………………….. 86
ТЕМА 10. Чисельне розв’язування задачі Коші для звичайного
диференціального рівняння першого порядку…….…………….. 96
ТЕМА 11. Скінченно-різницевий метод розв’язання крайової
задачі……………………………………………………………….. 101
ТЕМА 12. Розв‘язування задачі Діріхле методом сіток…………………..
107
ЛІТЕРАТУРА………………………………………………………………….. 115
117
Download