Поліноміальна інтерполяція функції f (x) на відрізку [a, b] - побудова многочлена Pn (x) ступеня меншою або рівною n. приймає у вузлах інтерполяції x0. x1. xn значення f (xi):
P n (x i) = a 0 + a 1 x i + a 2 x i 2 +. + A n x i n = f (x i). i = 0. 1. n (x _) = a_ + a_x_ + a_x _ ^ +. + A_x _ ^ = f (x _), \ quad i = 0,1. n>
Він відмінний від нуля при всяких попарно різних значеннях xi. і інтерполювання функції f по її значеннях в вузлах xi за допомогою многочлена Pn (x) завжди можливо і єдино.
Отриману інтерполяційну формулу f (x) ≈ P n (x) (x)> часто використовують для наближеного обчислення значень функції f при значеннях аргументу x. відмінних від вузлів інтерполяції. При цьому розрізняють інтерполювання у вузькому сенсі, коли x ∈ [x 0. x n], x_ \ right]>. і екстраполірованіе. коли x ∈ [a. b]. x ∉ [x 0. x n], x_ \ right]>
Нехай в просторі задані n точок P 1. P 2. .... P n, P _, \ dots, P_>. які в деякій системі координат мають радіус-вектори r 1. r 2. .... r n _, \ mathbf _, \ dots, \ mathbf _>.
Завдання інтерполяції полягає в побудові кривої, що проходить через зазначені точки в зазначеному порядку.
Через фіксований набір точок можна провести нескінченне число кривих, тому завдання інтерполяції не має однозначної відповіді.
Введення параметризації і сітки може бути виконано різними способами. Зазвичай вибирають або рівномірну сітку, вважаючи a = 0. b = n - 1. t i = i - 1 = i-1>. або, що більш переважно, з'єднують точки відрізками і як різниці значень параметра t i + 1 - t i -t_> беруть довжину відрізка r i + 1 - r i _- \ mathbf _>.
Одним з поширених способів інтерполяції є використання кривої у вигляді многочлена від t ступеня n - 1. тобто у вигляді функції
Ці умови призводять до системи лінійних рівнянь для коефіцієнтів a k>
(1 t 1 t 1 2 ... t 1 n - 1 1 t 2 t 2 2 ... t 2 n - 1 ⋮ ⋮ ⋮ ⋮ 1 tntn 2 ... tnn - 1) (anan - 1 ⋮ a 1) = (r 1 r 2 ⋮ rn) 1t_t _ ^ \ ldots t _ ^ \\ 1t_t _ ^ \ ldots t _ ^ \\\ vdots \ vdots \ vdots \ Vdots \\ 1t_t _ ^ \ ldots t _ ^ \ end> \ mathbf _ \\\ mathbf _ \\\ vdots \\\ mathbf _ \ end> = \ mathbf _ \\\ mathbf _ \\\ vdots \\\ mathbf _ \ end >>Звернемо увагу, що потрібно вирішити три системи рівнянь: для x. y і z координат. Всі вони мають одну матрицю коефіцієнтів, звертаючи яку, за значеннями радіус-векторів r i _> точок обчислюються вектори a k> коефіцієнтів многочлена. визначник матриці
W (t 1. t 2. .... T n) = | 1 t 1 t 1 2 ... t 1 n - 1 1 t 2 t 2 2 ... t 2 n - 1 ⋮ ⋮ ⋮ ⋮ 1 t n t n 2 ... t n n - 1 | = Π i. j. i> j (t i - t j), t _, \ ldots, t _) = 1t_t _ ^ \ ldots t _ ^ \\ 1t_t _ ^ \ ldots t _ ^ \\\ vdots \ vdots \ vdots \ Vdots \\ 1t_t _ ^ \ ldots t _ ^ \ end> = \ prod _ (t_-t _)>
називається визначником Вандермонда. Якщо вузли сітки не збігаються, він відмінний від нуля, так що система рівнянь має рішення.
Крім прямого звернення матриці, є кілька інших способів обчислення интерполяционного многочлена. В силу єдиності многочлена мова йде про різні форми його записи.
- Для заданого набору точок і сітки параметра крива будується однозначно.
- Крива є інтерполяційної, тобто проходить через всі задані точки.
- Крива має безперервні похідні будь-якого порядку.
- З ростом числа точок порядок многочлена зростає, а разом з ним зростає число операцій, яке потрібно виконати для обчислення точки на кривій.
- З ростом числа точок у інтерполяційної кривої можуть виникнути осциляції (див. Приклад нижче).
![Поліноміальна інтерполяція (vdots vdots vdots) Поліноміальна інтерполяція](https://images-on-off.com/images/209/interpolyatsiyaalgebraicheskimimnogochle-b6a53d4d.png)
Інтерполяція на послідовності сіток. Приклад Рунге.
Класичним прикладом (Рунге), що показує виникнення осциляцій у интерполяционного многочлена, служить інтерполяція на рівномірній сітці значень функції
який в точках x i> приймає значення y i = 1 / (1 + x i 2) = 1 / (1 + x _ ^)>. На малюнку представлені графіки самої функції (штрих-пунктирна лінія) і трьох інтерполяційних кривих при n = 3. 5. 9:
- інтерполяція на сітці x 1 = - 5. x 2 = 0. x 3 = 5 = -5, x_ = 0, x_ = 5> - квадратична парабола;
- інтерполяція на сітці x 1 = - 5. x 2 = - 2.5. x 3 = 0. x 4 = 2.5. x 5 = 5 = -5, x _ = - 2.5, x_ = 0, x_ = 2.5, x_ = 5> - многочлен четвертого ступеня;
- інтерполяція на сітці x 1 = - 5. x 2 = - 3.75. x 3 = - 2.5. x 4 = - 1.25. x 5 = 0. x 6 = 1.25. x 7 = 2.5. x 8 = 3.75. x 9 = 5 = -5, x _ = - 3.75, x _ = - 2.5, x _ = - 1.25, x_ = 0, x_ = 1.25, x_ = 2.5, x_ = 3.75, x_ = 5> - многочлен восьмому ступені.
Значення інтерполяційного многочлена навіть для гладких функцій в проміжних точках можуть сильно ухилятися від значень самої функції.