
Інтерполяція сплайнами
Раніш розглянуті інтерполяційні формули Ньютона і Лагранжа з використанням великого числа вузлів часто призводять до поганого наближення функції, що призводить до великих накопичень похибки в процесі обчислення. Крім того, через розбіжності процесу інтерполяції збільшення числа вузлів необов’язково призводить до підвищення точності. Тому для того, щоб уникнути великих похибок, весь відрізок [a,b] розбивають на часткові відрізки і на кожному з них приблизно заміняють вихідну функцію f(x) багаточленом невисокого ступеня, тобто тут виконується, так названа, кусково-поліноміальна інтерполяція.
Найбільше поширеним засобом такої інтерполяції є інтерполяція за допомогою сплайн-функцій.
Сплайн-функцією називають кусково-поліноміальну функцію, що визначається на проміжку [a,b] і має на ньому деяке число неперервних похідних.
Перевагою сплайнів перед звичайною інтерполяцією є:
-
збіжність;
-
сталість процесу обчислення.
Роздивимося окремі випадки сплайн-функції, коли на кожному частковому відрізку вона зображується у виді багаточлена 3-ого ступеня. У такий спосіб ми одержуємо кубічний сплайн.
Нехай на відрізку [a,b] задана неперервна функція f(x), у вузлах котрої a = x0, x1, x2, …, xn = b, причому, х0 < x1 < x2 < … < xn. Позначимо значення функції fi = f(xi), i = 0, 1, 2, …, n.
Сплайном,
що відповідає функції f(x) у вузлах
,
називається функція S(x), що задовольняє
вимогам:
-
на кожному окремому відрізку [xi-1,xi], i = 1, 2, …, n, є багаточленом 3-ого ступеня;
-
функція S(x) і її 1, 2-га похідні неперервні на відрізку [a,b];
-
сплайн і значення функції збігаються S(xi) = f(xi), i = 0, 1, 2, …, n, у вузлах інтерполяції.
Для побудови сплайн-функції на кожному з окремих відрізків [xi-1,xi], i = 1, 2, …, n, ми будемо будувати функцію
,
хi-1
x
xi
де ai, bi, ci, di – коефіцієнти, які підлягають визначенню на кожному інтервалі.
Зміст цих коефіцієнтів визначим, вирахувавши 1, 2, 3 похідні цього багаточлена.
З урахуванням цього, а також вимог безперервності сплайн-функції S(x), отримані такі формули для обчислення невідомих коефіцієнтів сплайнів.
,
i=1, 2, …, n-1
hi=xi-xi-1
Це записано систему точних лінійних рівнянь, коефіцієнти яких являють собою лінійну матрицю, тому що с0=сn=0. Вирішуючи систему лінійних рівнянь із n-невідомими, одержуємо коефіцієнти ci, що використовуються для визначення коефіцієнтів bi,di.
,
,
i=1,2,…,n
ai=f(xi), i=0,1,2,…,n
Для оцінки похибки обчислення функцій за допомогою кубічних сплайнов можна скористатися формулами:
a
x
b
Для визначення кубічного сплайну можна скористатися іншими формулами. Нехай вихідна функція f(x) зображується на кожному приватному відрізку у виді кубічних багаточленів
gi(x)=k1i +k2ix+k3ix2+k4ix3 i=1,2,3,…,n
g1(x)
g2(x)
gn(x)
xn
x
x1
x0
f(x)
Для знаходження невідомих коефіцієнтів k1i, k2i, k3i, k4i, тобто їх 4-n штук необхідно скласти і вирішити систему рівнянь