Апроксимація сплайнами.
Якщо функція f(х) задана своїми значеннями в (n + 1) – точці, то її можна апроксимувати інтерполяційним поліномом Лагранжа або Ньютона Рn(x) степені n . Але при великих n виникають пульсації многочлена Рn(x) між вузлами (оскільки він має точки максимуму і мінімуму у дійсних нулях похідної). Усунути це можна зменшенням степені полінома, інтерполюючи тільки частину точок (кускова інтерполяція). Тоді для всієї множини точок одержується результуюча “зшита” або “склеєна” крива, яка неперервна на всьому інтервалі, але у вузлах “склеювання” окремих кривих її похідні матимуть розрив. Похибка такого наближення може виявитися значною. Крім того, таке наближення неможливе у тих випадках, коли важливе значення має гладкість апроксимуючої функції.
У ряді випадків інтерполяційний поліном Рn(x) може не наближатись до f(х) при n > ? навіть для диференційованої довільне число разів функцій, наприклад, функції
EMBED Equation.3–функція Рунге на відрізку [-1,1]
для якої
функція Рунге інтерполяційний поліном Ньютона n = 6 інтерполяційний поліном Ньютона n = 10
EMBED MSGraph.Chart.8 \s
EMBED Equation.3 EMBED MSGraph.Chart.8 \s
Як видно з рисунку, розходження відбувається в інтервалі 0,726…?¦х¦< 1.
Побудова полінома невисокої степені для великого числа точок методом найменших квадратів не забезпечує задовільну відповідність кривої заданим точкам (сума квадратів різниць між значеннями многочлена і функції в даних точках хоча і мінімальна, але значна). Підвищення ж степені многочлена приводить до значного ускладнення в обчисленнях.
Останнім часом в теорії апроксимації широкого використання набули сплайни (spline-рейка, пружний брусок), які дозволяють в деякій мірі усунути недоліки класичних методів наближення.
Гладкість і гнучкість сплайнів обумовлює їх широке використання в машинній графіці, САПР, а також в математиці. Сплайни мають ряд переваг:
простота реалізації на ЕОМ;
висока точність апроксимації одночасно і функції і її похідних;
в ряді випадків дозволяють отримати наближення з мінімально можливою похибкою на даному класі функцій (порівняно з іншими методами).
Інтерполяція кубічними сплайнами. Одержали найбільш широке застосування в інженерній практиці. Це обумовлено тим, що поліном 3-го порядку є найпростішою кривою, яка має точку перегину, що забезпечує її хороші інтерполяційні можливості. Кубічні сплайни мають на всьому відрізку апроксимації неперервні похідні до другого порядку. Така гладкість звичайно достатня для більшості практичних задач. Невисока степінь полінома спрощує обчислення і зменшує похибку обчислення.
Візьмемо n + 1 [х0…xn, у0…уn] експериментальних точок, або точок, які задовольняють деяку функцію. При сплайновій інтерполяції (кубічній) виконуються наступні умови:
через кожні дві сусідні точки проводять поліном третьої степені;
для і-го полінома Рі, який проходить через точки з координатами хі-1, уі-1 і хі, уі є справедливою умова інтерполяції
EMBED Equation.3; EMBED Equation.3 EMBED Equation.3 (1), (2)
EMBED Equation.3
EMBED Equation.3
Для n = 4 з’єднання інтерполюючих поліномів Р1(х)… Р4(х) буде таким:
EMBED Equation.3
EMBED Equation.3
EMBED Equation.3
EMBED Equation.3
EMBED Equation.3
EMBED Equation.3
EMBED Equation.3

EMBED Equation.3
EMBED Equation.3
EMBED Equation.3
EMBED Equation.3
EMBED Equation.3
Перехід від полінома Рі, що з’єднує точки ( хі-1, уі-1 ), та ( хі, уі ) до полінома Рі+1, котрий проходить через точки ( хі, уі ) та ( хі+1, уі+1 ), повинен бути плавним (без зламів). Щоб виконалась ця умова, значення першої та другої похідної сусідніх поліномів Рі та Рі+1 в їх спільній точці ( хі, уі ) повинні бути рівні
EMBED Equation.3 EMBED Equation.3 (3)
EMBED Equation.3 EMBED Equation.3 (4)
Таким чином, для всіх внутрішніх поліномів формалізовані чотири умови, котрі достатні для побудови цих поліномів.
Обидві кінцеві точки ( на кінцях відрізку апроксимації ) мають тільки по одній сусідній. Тому для кінцевих поліномів потрібні додаткові умови. Будемо вважати, що точки, які лежать зовні інтервалу [ x0, xn ], можна апроксимувати прямими; тоді одержимо ще дві додаткові умови
EMBED Equation.3 (5)
EMBED Equation.3 (6)
Таким чином, маємо шість умов (1) – (6).
Кубічний поліном будемо шукати у вигляді:
EMBED Equation.3
EMBED Equation.3 (7)
Необхідно визначити коефіцієнти EMBED Equation.3 для кожного полінома Рі(х). Таких коефіцієнтів всього 4n , де n – число інтерполяційних поліномів на відрізку [ x0, xn ].
Із умови (1) маємо (при х = хі-1) враховуючи (7)

(8)
Із умови (2) випливає, що
EMBED Equation.3 (9)
де EMBED Equation.3
Для того, щоб використати умови рівності першої та другої похідних двох сусідніх поліномів (3), (4) необхідно знайти похідні
EMBED Equation.3 (10)
EMBED Equation.3 (11)
Із умов неперервності першої (3) і другої (4) похідних випливає:
а)
EMBED Equation.3
EMBED Equation.3
Отже
(12)
б)
EMBED Equation.3
Звідси EMBED Equation.3
EMBED Equation.3
або
(13)
Умови (12) та (13) справедливі для всіх внутрішніх поліномів, тобто EMBED Equation.3.
Таким чином ми маємо систему рівнянь
EMBED Equation.3 (14)
Для перших двох рівнянь системи
EMBED Equation.3
індекс і змінюється EMBED Equation.3.
Для наступних двох рівняннях індекс і змінюється в межах EMBED Equation.3. Отже, із системи (14) можна однозначно визначити 2·n + 2( n – 1 ) = 4·n – 2 коефіцієнтів типу EMBED Equation.3. Всього їх 4n. Значення двох решти коефіцієнтів можна отримати, використовуючи умови (5) і (6).
Використовуючи (11) і (5), можна записати
EMBED Equation.3
Звідси EMBED Equation.3 (15)
Використовуючи (11) і (6), одержимо
EMBED Equation.3
Отже, EMBED Equation.3 (16)
Таким чином, рівняння (14), (15), (16) дають змогу знайти 4n коефіцієнтів EMBED Equation.3( EMBED Equation.3 ), оскільки це системи алгебраїчних рівнянь, які можна розв’язати відомими методами. Однак цю систему рівнянь можна звести до більш зручного вигляду ( дає економію машинного часу ).
EMBED Equation.3
З умови (13) знайдемо, що
EMBED Equation.3

(17)
EMBED Equation.3
Крім того, врахувавши (16), маємо
(18)
Підставивши вираз (17) в рівняння (9)
EMBED Equation.3
одержимо
EMBED Equation.3 ,
або EMBED Equation.3 .
Об’єднаємо коефіцієнти с
EMBED Equation.3
Оскільки з (8) пам’ятаємо, що EMBED Equation.3 , то перепишемо:
EMBED Equation.3
Звідси EMBED Equation.3 EMBED Equation.3 (19)
EMBED Equation.3 оскільки EMBED Equation.3 , то одержимо
EMBED Equation.3 (20)
Підставляючи в рівняння (12) EMBED Equation.3 вирази для EMBED Equation.3 та EMBED Equation.3, одержимо систему рівнянь, що складається виключно із коефіцієнтів с:
EMBED Equation.3 , враховуючи, що
EMBED Equation.3 ; (формула 19)
EMBED Equation.3 ; (формула 19)
EMBED Equation.3 (формула 17)
Після перетворення одержимо для визначення сі наступну систему:
EMBED Equation.3 EMBED Equation.3 (21)
с1 = 0; сn+1 = 0. (22)
Система лінійних рівнянь (21) з умовами (22) розв’язується методом прогонки.
Знайшовши сі з (21) просто знайти далі коефіцієнти di з (17), (18), а з (19), (20) коефіцієнти bi .
Коефіцієнти аі шукаються із (14) аі = уі-1 EMBED Equation.3 .