Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

0887579_C36AB_denisyuk_v_p_repeta_v_k_gaeva_k_a_kleshnya_n_o_visha_matemat

.pdf
Скачиваний:
51
Добавлен:
19.02.2016
Размер:
3.59 Mб
Скачать

Функцію Ln (x) , задану формулою (5.18), називають інтерполяційним

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

Ln (x) = a0 xn + a1 xn1 + …+ an .

Формулу (5.18) можна подати у компактнішому вигляді. Введемо позначення

 

 

 

 

 

 

 

 

n

ωn+1 (x) = (x x0 )(x x1 ) (x xn ) = (x xk )

 

 

 

 

 

 

 

 

k =0

і продиференціюємо ωn+1 (x) за змінною х:

 

x1 )(x x2 ) (x xn ) +

ωn+1 (x) = (x

+(x x0 )(x x2 ) (x xn ) + …+ (x x0 )(x x1 ) (x xn1 ) .

Тоді

 

 

 

 

 

x2 ) (x0 xn ) ,

 

 

x1 )(x0

ωn+1 (x0 ) = (x0

 

 

 

x0 )(x1

x2 ) (x1 xn ) ,

ωn+1 (x1 ) = (x1

 

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

= (xn

x0 )(xn

x1 ) (xn xn1 ) ;

ωn+1 (xn )

Фj (x) =

ωn+1 (x)

 

 

 

, ( j = 0,1, ..., n ).

(x x

j

)ω′

+1

(x

j

)

 

 

n

 

 

 

У результаті введення функції ωn+1 (x)

інтерполяційний многочлен Ла-

гранжа можна записати так:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

f (x j )

 

 

 

 

 

 

Ln (x) = ωn+1 (x)

 

 

 

 

 

 

.

(5.19)

(x x

j

)ω′

(x

j

)

 

j=0

 

 

n+1

 

 

 

 

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

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

За побудовою в вузлах інтерполяції x0, x1, … , xn виконується рівність

Ln (x) = f (x) .

Якщо функція f (x) є многочленом степеня не вище n, то дана функція і відповідний інтерполяційний многочлен Ln (x) тотожно рівні.

411

Якщо f (x) — многочлен степеня вищий n, то інтерполяційний многочлен Ln (x) збігається з f (x) тільки у вузлах інтерполяції. Така сама ситу-

ація буде у випадку, коли f (x)

не є многочленом. В інших точках x xj,

j = 0,1, ..., n , маємо наближену рівність

 

 

Ln (x) f (x) ,

(5.20)

тобто Ln (x) зображає функцію

f (x) з похибками.

 

Різницю Rn(x) = f(x) – Ln(x) називають похибкою інтерполяційної фор-

мули (5.20).

Теорема Нехай функція f(x) на відрізку [a;b] має диференційовні похідні включно до n-го порядку, а похідна (n+1)-го порядку

неперервна. Тоді для кожного х [a; b] існує значення ξ = ξ(x) [a; b], що виконується рівність

 

R (x) =

f (n+1) (ξ)

ωn+1 (x)

.

 

 

 

 

 

 

 

 

n

 

 

(n + 1)!

 

 

 

 

 

 

 

 

 

 

 

 

Позначимо Mn+1

(x) = max | f (n+1) (x) | .

Тоді для абсолютної похибки

дістаємо оцінку

x [a;b]

 

 

 

 

 

 

 

 

 

 

 

 

Mn+1

 

 

 

 

 

 

 

 

| f (x) L

(x) |

 

 

| ω

+1

(x) | .

(5.21)

 

 

 

 

 

n

 

(n + 1)!

n

 

 

 

 

 

 

 

 

 

 

3.4. Інтерполяційна формула Лагранжа для рівновіддалених вузлів

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

x1 x0 = x2 x1 = …= xn xn1 = h ,

тоді вираз (5.18) істотно спрощується. Введемо нову змінну

звідси

x x0 x x1 x x2 x xi

412

t = x x0 , h

=th ,

=x x0 h = th h = h(t 1) ,

=x x0 2h = th 2h = h(t 2) ,

=x x0 ih = th ih = h(t i) .

Вираз ωn+1 (x) набирає вигляду

ωn+1 (x) = (x x0 )(x x1 ) (x xn ) = hn+1t(t 1)(t n) .

Враховуючи рівності

xi

= x0 + ih ,

i = 0, 1, ..., n ,

 

послідовно знаходимо

 

xi x0

= ih ,

 

 

 

 

 

 

 

 

 

 

xi x1 = h(i 1) ,

 

 

 

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

 

Тоді

 

xi xn = h(i n) .

 

(x ) = hn i! (n i)!(1)ni .

 

ω′

 

n+1

i

 

 

 

 

 

 

 

У результаті інтерполяційний многочлен Лагранжа набирає вигляду

 

 

 

n

 

 

 

Ln (x0 + th) = L(in) (t) f (xi ) ,

 

 

 

 

i=0

 

 

 

 

(n)

 

(1)ni

 

t(t 1)(t n)

 

де коефіцієнти Лагранжа L

(t) =

 

 

 

 

не залежать від

 

 

 

 

 

i

 

i!(n i)!

 

t i

 

 

 

 

 

 

вигляду функції f (x) і величини h , а залежать лише від величин і і n. То-

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

Т.3 ПРИКЛАДИ РОЗВ’ЯЗАННЯ ТИПОВИХ ЗАДАЧ

1. Побудуйте інтерполяційний многочлен Лагранжа для функції, заданої таблицею 5.8:

 

 

 

 

 

 

Таблиця 5.8

 

 

 

 

 

 

 

 

x

1

 

3

4

 

 

f(х)

12

 

4

6

 

 

 

 

 

 

 

 

Розв’язання. За умовою x0 = 1,

x1 = 3, x2 = 4,

f (x0 ) =12, f (x1) = 4, f (x2) = 6.

Крім того, з таблиці випливає, що n = 2 , отже, степінь інтерполяційного многочлена буде не вищим за два.

413

Використовуючи формулу (5.18), дістаємо:

L (x) = 12

 

(x 3)(x 4)

+ 4

(x 1)(x 4)

+ 6

(x 1)(x 3)

=

2

 

(13)(14)

 

(3 1)(3 4)

 

(4 1)(4 3)

 

 

 

 

 

 

=2(x2 –7x +12)–2(x2 –5x +4)+2(x2 –4x +3)=2x2 –12x +22.

2.Функція f (x) задана таблицею 5.9. Побудуйте інтерполяційний мно-

гочлен Лагранжа для цієї функції.

Таблиця 5.9

x

1

2

3

5

f(х)

1

5

14

81

Розв’язання. Оскільки функція задається чотирма значеннями, то порядок отриманого многочлена не вище третього. Підставивши вихідні дані у формулу (5.18), дістанемо:

 

P (x) = 1

(x 2)(x 3)(x 5)

+ 5

(x 1)(x 3)(x 5)

+

 

 

 

 

 

 

 

3

(1 2)(1

3)(1 5)

 

(2 1)(2 3)(2 5)

 

 

 

 

 

+ 14

(x 1)(x 2)(x 5)

 

+ 81

(x 1)(x 2)(x 3)

= x3 – 2x2

+ 3x – 1.

(3 1)(3 2)(3 5)

 

 

 

(5 1)(5 2)(5 3)

 

3. Функція f(x) задана таблицею 5.10:

Таблиця 5.10

x

0

1

2

6

 

 

 

 

 

f(х)

– 1

– 3

3

1187

Користуючись інтерполяційним поліномом Лагранжа, знайдіть її значення в точці х = 4.

Розв’язання. Підставляючи у формулу (5.18) дані з табл. 4 і х = 4, маємо

P (4) = −1

(4 1)(4 2)(4 6)

3

4(4 2)(4 6)

+

 

 

 

 

3

 

(1)(2)(6)

 

 

1(1 2)(1 6)

 

 

 

 

+ 3

4(4 1)(4 6)

+ 1187

4(4 1)(4 2)

= 255.

 

 

 

2(2 1)(2 6)

6(6 1)(6 2)

4. Оцініть точність обчислення величини sin 1805π за інтерполяційною формулою Лагранжа, якщо за вузли інтерполювання вибрані значення x0 = 0, x1 = π6 , x2 = π4 , x3 = π3 .

414

Розв’язання. У цьому разі

f (x) = sin x , n = 3, a = 0, b =

 

π

.

 

 

 

3

 

 

Знаходимо

 

 

 

 

 

 

 

 

 

 

 

 

 

f (n+1) (x) = f (4) (x) = sin x , M 4

(x) = max

| sin x |=

3

.

2

 

x [0;

π

]

 

 

 

3

 

 

 

Застосовуючи оцінку (5.21), дістаємо

sin

 

5π

L

5π

 

 

 

3

 

 

1

 

 

 

5π

0

5π

π

×

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

180

 

 

n

 

 

 

 

 

2

 

 

4!

 

180

 

 

6

 

 

 

 

 

180

 

 

 

 

 

 

 

 

 

180

 

 

 

 

 

 

×

 

 

5π

 

π 5π

π

 

 

0, 0009 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

180

4

180

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Т.3 ЗАВДАННЯ ДЛЯ АУДИТОРНОЇ

ІСАМОСТІЙНОЇ РОБОТИ

1.Побудуйте інтерполяційний многочлен Лагранжа другого порядку для функції, заданої таблицею 5.11.

Таблиця 5.11

x

1

3

5

f(x)

–2

4

–6

2. Побудуйте інтерполяційний поліном Лагранжа, який збігається з фу-

нкцією

f (x) = 3x , де x [1; 1] , у точках x

= −1, x

= −0, x = 1 .

 

0

1

2

3. Оцініть точність обчислення величини ln1, 5 за інтерполяційною формулою Лагранжа, якщо за вузли інтерполювання вибрані значення x0 = 1,

x1 = 2, x2 = 3 .

4. Функція f(x) задана таблицею 5.12:

Таблиця 5.12

x

0,6

0,8

1

1,2

f(х)

0,56

0,72

0,84

0,93

 

 

 

 

 

Користуючись інтерполяційним многочленом Лагранжа, знайдіть її значення в точці х = 0,7.

415

Відповіді

1. L2 (x) = −2x2 + 11x 11 . 2. 3x 13 (2x2 + 4x + 3) . 3. 0,125. 4. ≈ 0,64.

Т.3 ІНДИВІДУАЛЬНІ ТЕСТОВІ ЗАВДАННЯ

1. За табл. 5.13 значень функції побудуйте інтерполяційний многочлен Лагранжа, його графік і позначте на ньому вузлові точки.

 

 

 

 

 

 

Таблиця 5.13

 

 

 

 

 

 

 

 

Варіант

х0

х1

х2

у0

у1

 

у2

 

 

 

 

 

 

 

 

1

–1

0

3

–3

5

 

2

2

2

3

5

4

1

 

7

3

0

2

3

–1

–4

 

2

4

7

9

13

2

–2

 

3

5

–3

–1

3

7

–1

 

4

6

1

2

4

–3

–7

 

2

7

–2

–1

2

4

9

 

1

8

2

4

5

9

–3

 

6

9

–4

–2

0

2

8

 

5

 

 

 

 

 

 

 

 

10

–1

1,5

3

4

–7

 

1

 

 

 

 

 

 

 

 

11

2

4

7

–1

–6

 

3

 

 

 

 

 

 

 

 

12

–9

–7

–4

3

–3

 

4

 

 

 

 

 

 

 

 

13

0

1

4

7

–1

 

8

 

 

 

 

 

 

 

 

14

–8

–5

0

9

–2

 

4

 

 

 

 

 

 

 

 

15

–7

–5

–4

4

–4

 

5

 

 

 

 

 

 

 

 

16

1

4

9

–2

9

 

3

 

 

 

 

 

 

 

 

17

7

8

10

6

–2

 

7

 

 

 

 

 

 

 

 

18

–4

0

2

4

8

 

–2

 

 

 

 

 

 

 

 

19

–3

–1

1

11

–1

 

6

 

 

 

 

 

 

 

 

20

0

3

8

1

5

 

–4

21

1

3

7

5

–3

 

2

22

–2

0

3

–4

2

 

–3

23

–1

3

4

2

5

 

–1

24

2

4

8

–1

7

 

3

416

Закінчення табл. 5.13

Варіант

х0

х1

х2

у0

у1

у2

 

 

 

 

 

 

 

25

–5

–4

–2

–6

0

–4

26

1

2

5

–4

–8

1

27

6

8

11

3

5

1

28

0

3

5

–1

–3

4

29

1

5

7

6

2

5

 

 

 

 

 

 

 

30

–1

2

4

–5

–2

–7

 

 

 

 

 

 

 

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

 

 

 

 

Таблиця 5.14

 

 

 

 

 

 

x

1 + 0,1k

2 + 0,2k

3 + 0,3k

4 + 0,4k

 

 

 

 

 

 

 

f(x)

1 + 0,5 k

10 + k

20 + k

50 + 2k

 

 

 

 

 

 

 

Тут k ― номер варіанта.

Тема 4. ІНТЕРПОЛЮВАННЯ СПЛАЙНАМИ

Визначення сплайн-функції. Найпростіша задача наближення лінійними сплайнами. Алгоритм побудови кубічної сплайнфункції.

Література: [2, стр.256–257], [6].

Т.4 ОСНОВНІ ТЕОРЕТИЧНІ ВІДОМОСТІ

4.1. Визначення сплайн-функції

Нехай про функцію y = f (x) , x [a; b] відомо лише її значення yi у

вузлах а = x0, x1, … , xn = b (і = 0,1,2, ..., n), а в проміжних точках функція може набувати будь-яких значень. Тоді заміна функції f (x) інтерполяцій-

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

417

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

полювання сплайнами.

Узагальному випадку відрізок [a; b] точками a = x0 < x1 < ... < xn = b розбивають на частини, і на кожному відрізку [xi-1; xi] (i = 1, 2, ... , n) будують свій інтерполяційний многочлен. Вимагаючи гладкого спряження многочленів на сусідніх відрізках, приходимо до кусково-многочленних функцій з однорідною структурою, що і називаються сплайнами або сплайнфункціями.

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

Розглянемо побудову сплайнів першого і третього степенів.

4.2. Задача наближення лінійними сплайнами

Найлегший для обчислення спосіб заміни функції f (x) на проміжку x [xi1 ; xi ] лінійною функцією, тобто геометрично — частиною прямої (відрізком). Тоді графік функції f (x) на [a, b] заміниться ламаною лінією, що проходить через точки (xi , yi ) і складатиметься з n відрізків: А0А1,

А1А2, ..., Аn-1Аn (рис. 5.16). У кожному вузлі цієї ламаної перша похідна має розрив першого роду. Ламана у нашому випадку — це сплайн.

y

А1

А2

 

 

Аn

А0

 

Аі–1

Аі

Аn–1

О x0 x1 x2 xi–1 xi

xn–1 xn x

Рис. 5.16

Запишемо рівняння частини прямої, що сполучає сусідні точки

Ai1 (xi1 ; yi1 ) і Ai (xi ; yi ) :

x xi1

=

y yi1

, x [x

; x ] ,

 

 

xi xi1

 

i1

i

yi yi1

 

418

звідси

y = y

+

(x xi1 )( yi yi1 )

,

(5.22)

 

i1

 

xi xi1

 

 

 

 

де x [xi1 ; xi ] .

Підставляючи в (5.22) послідовно значення і = 1, 2, ..., n, дістанемо рівняння відрізків А0А1, А1А2, ..., Аn-1Аn, тобто усієї ламаної.

4.3. Алгоритм побудови кубічної сплайн-функції

Припустимо, що у вузлах a = x0 < x1 < ... < xn = b відрізка [a; b] задані значення функції f (x) : yi = f (xi ) , і = 0, 1, ... , n. Довжину частинного від-

різка [xi1 ; xi ] позначимо через hi = xi xi1 ( і = 1, 2, ... , n). Будемо шукати кубічний сплайн на кожному частинному відрізку [xi1 ; xi ] у вигляді

Si (x) = ai + bi (x xi1 ) + ci (x xi1 )2 + di (x xi1 )3 ,

де ai , bi , ci , di — четвірка невідомих коефіцієнтів для одного частинного

відрізка [xi1 ; xi ] . Таких відрізків усього n: [x0 ; x1 ] , [x1 ; x2 ] , ..., [xn1 ; xn ] . Тоді на всьому відрізку [a; b] інтерполяційний сплайн має вигляд

S1 (x)

для x [x0 ; x1 ],

S

2

(x)

для x [x ; x ],

 

 

1

2

S(x) =

 

 

 

 

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

 

 

 

 

 

 

S

n

(x)

для x [x

; x ].

 

 

n1

n

Оскільки невідомих коефіцієнтів усього 4n, то для однозначного визначення цих коефіцієнтів потрібно мати систему з 4n рівнянь.

За умовою функція S(x) у вузлах повинна збігатися із заданими зна-

ченнями функції f :

 

 

 

 

 

 

 

Si (xi1 ) = yi1 = ai ,

 

(5.23)

S

(x ) = y

= a + b h + c h 2

+ d h 3 .

(5.24)

i

i

i

i i i i i

i i

 

Кількість таких рівнянь дорівнює 2n. Інші 2n рівнянь отримуємо з таких міркувань. Вимагатимемо неперервності першої і другої похідних від S(x)

в усіх точках, включаючи і вузли. Для цього потрібно прирівняти ліві і праві похідні S (x 0) , S (x + 0) , S ′′(x 0) , S ′′(x + 0) у внутрішніх вузлах:

419

Si(xi

0)

= Si+1

(xi

+ 0) ,

(5.25)

S ′′(x

0)

= S ′′

(x + 0) .

(5.26)

i i

 

i+1

i

 

 

Геометрично умова (5.25) означає, що графіки сусідніх кускових многочленів у вузловій точці мають спільну дотичну; умова (5.26) означає, що графіки сусідніх кускових многочленів у вузловій точці мають однаковий

напрям опуклості, якщо друга похідна не рівна нулю, або точка (xi , yi ) — точка перегину графіка функції S(x) , якщо S ′′(xi ) = 0 .

Знаходимо похідні:

 

 

 

 

S

(x) = b

 

+ 2c (x

x

 

)

+ 3d

i

(x

x

)2 ,

 

(5.27)

 

 

 

 

 

 

 

i

 

 

i

 

i1

 

 

 

 

 

i1

 

 

 

 

Далі маємо:

 

 

 

 

Si′′(x) = 2ci + 6di (x xi1 )

 

 

 

(5.28)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S (x

0) =

lim (b

+ 2c (x x

1

) +

3d

(x x

 

)2 ) =

 

 

 

i

i

 

 

xxi 0

 

i

 

 

i

i

 

 

 

i

 

i1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= b + 2c h + 3d h 2

 

 

= b + 2c (x x

) + 3d

(x x

)2

,

 

 

i

 

i

i

i1

 

 

 

i

 

i

i1

 

 

 

i

 

 

i i

 

i i

 

 

S

(x

+

0) =

lim

(b

 

 

+ 2c

+1

(x x ) + 3d

i+1

(x x )2 ) = b

;

i+1

i

 

 

xxi +0

i+1

 

i

 

 

i

 

 

 

 

i

 

i+1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Si′′(xi 0) =

 

 

lim

(2ci + 6di (x xi1 )) =

 

 

 

 

 

 

 

 

 

 

 

 

xxi

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Si′′(xi

= 2ci + 6di (x xi1 ) = 2ci + 6di hi ,

 

 

 

 

 

 

+ 0) =

lim

(2ci+1 + 6di+1 (x xi )) = 2ci+1 .

 

 

 

 

 

 

 

 

xxi +0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отже, рівності (5.26), (5.27) набирають вигляду

 

 

 

 

 

 

 

 

 

 

 

 

b + 2c h + 3d h 2

 

= b

 

,

 

 

 

 

 

(5.29)

 

 

 

 

 

 

i

 

 

 

i

i

 

i i

 

 

i+1

 

 

 

 

 

 

 

 

 

 

 

2ci

+ 6di hi

= 2ci+1 , або ci

+ 3di hi

= ci+1 ,

 

 

(5.30)

де і = 1, 2, ... , n – 1.

Рівняння (5.29), (5.30) дають ще 2(n – 1) умов. Дві умови, що залишили-

ся, замінюють вимогою у точках x0

= a і xn = b нульової кривизни, тобто

рівності нулю другої похідної:

 

 

 

 

 

S ′′(x ) = 2c = 0 ,

S ′′(x ) = 2c

n

+ 6d

h = 0 .

(5.31)

1 0

1

n n

 

n n

 

Запишемо усі рівняння (5.23), (5.24), (5.29) – (5.31) разом, урахувавши,

що ai = yi1 :

bi hi + ci hi2 + di hi3 = yi yi1bi+1 bi 2ci hi 3di hi2 = 0ci+1 ci 3di hi = 0

c1 = 0, cn + 3dn hn = 0.

420

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

 

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

(5.32)

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