АПРОКСИМАЦІЯ ФУНКЦІЙ
Поняття про наближення функцій
Нехай величина "y" є функцією аргумента "х", тобто будь?якому значенню "х" з області визначення поставлено у відповідність значення "у".
На практиці досить часто бувають випадки, коли неможливо записати зв'язок між "х" та "у" у вигляді деякої залежності у = f(x). Най-більш поширеним випадком, коли вид зв'язку між параметрами х та у невідомий, є задання цього зв'язку у вигляді таблиці {xi, yi}. Це означає, що дискретній множині значень аргумента {xi} поставлена у відповідність множина значень функції {yi} (і=). Цими значеннями можуть бути, наприклад, експериментальні дані. На практиці можуть бути потрібні значення величини у і в інших точках, відмінних від вузлів xi. Однак одержати ці значення можна тільки експериментальним шляхом, що не завжди зручно і вигідно.
З точки зору економії часу та засобів доцільно було б використати наявні табличні дані для наближеного обчислення шуканого параметра "у" при будь?якому значенні (з деякої області, звичайно) визначального параметра "х", оскільки точний зв'язок у = f(x) невідомий.
Цій меті служить задача про наближення (апроксимацію) функцій:
– дану функцію f(x) потрібно наближено замінити (апроксимувати) деякою функцією ?(х) так, щоб відхилення (в певному розумінні) ?(х) від f(x) в заданій області було найменшим. При цьому функція ?(х) називається апроксимуючою.
Наприклад, в тому випадку, коли функція f(x) задається у вигляді таблиці значень, задача апроксимації полягає в наступному: за табличними даними підібрати таку аналітичну залежність ?(х), яка мала б просту структуру, згладжувала б особливості заданої експериментальної таблиці і найкращим чином відбивала б загальний хід зміни f(x) в середньому. Тобто основна мета апроксимації – одержати швидкий (економний) алгоритм обчислення значень f(x) для значень x, що не містяться в таблиці даних. Основне питання апроксимації – як вибрати ?(х) і як оцінити відхилення ?(х) від f(x) .
На практиці досить часто ?(х) вибирається з класу алгебраїчних поліномів (многочленів)
?(х)=a0 + a1x + a2x2 +…+ amxm (1)
Якщо початкова функція задана таблично, тобто на множині окремих точок, то апроксимація називається точковою. Якщо ж початкова функція задана на неперервній множині точок (наприклад, на відрізку [a; b]), то апроксимація називається інтегральною (неперервною).
Одним з основних типів точкової апроксимації є інтерполяція. Вона полягає в наступному: для даної функції у = f(x) будуємо функцію ?(х), яка в заданих точках хі (і =) приймає ті ж значення, що і функція f(x), тобто
?(хі) = f(xi),
а в решті точок відрізку [a; b] з області визначення f(x), наближено представляє f(x) з деякою похибкою. Точки xі називають вузлами інтерполяції, а ?(х) – інтерполюючою функцією. Найчастіше інтерполюючу функцію ?(х) виражають через алгебраїчний многочлен степені m.
Інтерполяція в цьому випадку називається алгебраїчною. Якщо використовується один многочлен ?(х) = Pn(x) для інтерполяції функції f(х) на всьому інтервалі зміни аргумента х, тобто коли m = n (m – максимальний степінь інтерполяційного многочлена), то це – глобальна інтерполяція.
Інтерполяційні многочлени можуть будуватися окремо для різних частин інтервалу зміни х. В цьому випадку маємо кускову (локальну) інтерполяцію. Як правило, інтерполяційні многочлени використовують для апроксимації функцій у проміжних точках між крайніми вузлами інтерполяції, тобто х0 < х < хn. Однак іноді вони використовуються і для наближеного обчислення функції зовні інтервалу (х < х0, x > хn). Це наближення називається екстраполяцією.
Таким чином, при інтерполюванні основною умовою є проходження графіка інтерполяційного многочлена через дані значення функції у вузлах інтерполяції. Однак виконання цієї умови в деяких випадках є недоцільним. Наприклад, при великому числі вузлів інтерполяцї одержуємо високу степінь полінома у випадку глобальної інтерполяції (це пов’язано з рядом неприємностей – осциляція функції). Крім того, табличні дані можуть містити в собі похибки (якщо ці дані одержані шляхом вимірювань). Отже, інтерполюючий многочлен теж повторював би ці похибки. Вихід із цього становища може бути знайдений вибором такого многочлена, графік якого близько проходить від даних точок.
Поняття “близько” уточнюється при розгляді окремих видів наближення.
Середньо-квадратичне наближення. Степінь полінома m при цьому, як правило, значно менша від n. На практиці не вище 5,6. Мірою відхилення многочлена ?(х) від заданої функції f(х) на множині точок (xi, yi) (і =) є величина S, яка дорівнює сумі квадратів різниць між значеннями многочлена та функції в даних точках

При побудові апроксимуючого многочлена потрібно підібрати коефіцієнти а0, а1, … , аm так, щоб величина S була мінімальна. В цьому полягає ідея методу найменших квадратів.
Рівномірне наближення. В багатьох випадках, особливо при обробці експериментальних даних, середньоквадратичне наближення зручне, оскільки воно згладжує деякі неточності функції f(х) і дає достатньо правильне уявлення про неї. Однак, іноді ставиться більш жорстка умова і вимагається, щоб у всіх точках деякого відрізку [a, b] модуль відхилення многочлена ?(х) від f(х) був менший від деякого ?
|f(x) – ?(х)| < ?,
В цьому випадку маємо рівномірну апроксимацію. Тепер введемо такі поняття. Абсолютним відхиленням ? многочлена ?(х) від функції f(х) на відрізку [a, b] називається максимальне значення абсолютної різниці між ними на даному відрізку:
? = max | f(х) – ?(х)| ,
За аналогією можна ввести середньоквадратичне відхилення
.
На малюнку показано відмінність цих двох видів наближень.
рівномірне середньоквадратичне

Існує також поняття найкращого наближення функції f(х) многочленом ?(х) фіксованої степені m. В цьому випадку коефіцієнти многочлена а0, а1, … , аm слід вибирати так, щоб на заданому відрізку [a, b] значення абсолютного відхилення ? було мінімальне. Многолен ?(х) при цьому називається многочленом найкращого рівномірного наближення.
Інтерполяція
Під апроксимацією розуміють операцію знаходження невідомих чисельних значень якоїсь величини за відомими її значеннями і чисельними значеннями інших величин, які пов’язані з розглядуваною.
Інтерполяція - частковий випадок апроксимації. Нехай в точках х0, х1, х2, … , хn відомі значення f(x0), f(x1), f(x2)… f(xn) деякої функції f(x). Потрібно відновити функцію f(x) при інших значеннях х ? хі (і = 0, 1, 2, … , n). У цьому випадку будують достатньо просту для обчислення функцію ?(х), яка в заданих точках х0, х1, х2, … , хn приймає значення f(x0), f(x1), f(x2), …, f(xn), а в решті точках відрізку [a, b] (область визначення f(x) ), наближено представляє f(x) з деякою точністю. Задача побудови ?(х) називається задачею інтерполювання. Найчастіше інтерполюючу функцію ?(х) виражають через алгебраїчний многочлен деякої степені n.
Якщо аргумент х знаходиться зовні відрізку [a, b], то поставлена задача називається екстраполюванням (екстраполяція).
Інтерполяція в цьому випадку називається алгебраїчною. Алгебраїчне інтерполювання функції y = f(x) на відрізку [a, b] полягає в наближеній заміні цієї функції на даному відрізку многочленом Рn(х) степені n, тобто
f(x) ? Рn(х), (1)
причому в точках х0, х1, х2, … , хn, f(xі) = Рn(хі), (і=).
Відмітимо, що двох різних інтерполяційних многочленів одної й тої ж степені n існувати не може. Якщо вважати протилежне, приходимо до висновку, що різниця двох таких многочленів, що є многочленом степені не вище n, має n + 1 корінь, а отже тотожно дорівнює нулю.
Інтерполяційний поліном Лагранжа
Поставимо задачу: знайти многочлен степені Рn(x) степені n, котрий в n + 1 даних точках х0, х1, х2, … , хn (ці точки називаються вузлами інтерполяції) приймає дані значення у0, у1, … , уn.
Для побудови Рn(х) спочатку розглянемо допоміжні (іноді їх називають фундаментальні) многочлени Qnk(х), тобто многочлени n-ї степені відносно х, котрі задовільняють таким умовам:
при , (к=).
Ця властивість означає, що, наприклад, многочлен Qn0(x) приймає в точці х0 значення, рівне одиниці, а в решті вузлів – нуль; многочлен Qn1(x) в вузлі х1 приймає значення 1, а в решті – нуль і т. д. В загальному випадку многочлен Qnі(x) в вузлі хі приймає значення 1, а в решті вузлів 0. Тоді шуканий многочлен:
Рn(x) = y0Qn0(x) + y1Qn1(x) + y2Qn2(x) + … + ynQnn(x) (2).
Оскільки х0, х1, х2, … , хк-1, хк+1, … , хn – нулі многочлена Qnk(x), то
Qnk(x) = ck(x – x0)(x – x1)(x – x2) … (x – xk-1)(x – xk+1) … (x – xn)
(це просто інша форма запису полінома степені n).
Визначаючи ск з умови Qnk(xк) = 1, одержимо вираз для ск (замість х підставляємо хк)