Перша інтерполяційна формула Ньютона дає змогу наближено обчислювати значення функції за табличними даними, заданими в рівновіддалених вузлах. У статті з’ясуємо, як сформувати таблицю прямих скінченних різниць, побудувати інтерполяційний поліном і перейти до зручного для обчислень запису. Покрокові приклади допоможуть зрозуміти застосування формули на практиці.
Перша Інтерполяційна Формула Ньютона: Постановка Інтерполяційної Задачі
Нехай для функції \( y=f(x) \) відомі значення
\[
y_i=f(x_i), \qquad i=0,1,2,\dots,n,
\]
задані в рівновіддалених вузлах інтерполяції
\[
x_i=x_0+i\cdot h,
\]
де \( h\neq 0 \) — сталий крок між сусідніми вузлами.
Для \( n+1 \) різних вузлів існує єдиний поліном \( P_n(x) \), степінь якого не перевищує \( n \) і який задовольняє умови інтерполяції
\[
P_n(x_i)=y_i, \qquad i=0,1,2,\dots,n.
\]
У вузлах інтерполяції значення полінома точно збігаються із заданими значеннями функції. В інших точках поліном використовують для наближеного обчислення її значень.
Інтерполяційний поліном Ньютона будемо шукати у вигляді
\[
P_n(x)=a_0+a_1\cdot(x-x_0)+a_2\cdot(x-x_0)\cdot(x-x_1)+\dots+a_n\cdot(x-x_0)\cdot(x-x_1)\cdot\dots\cdot(x-x_{n-1}),
\]
де \( a_0,a_1,\dots,a_n \) — невідомі коефіцієнти.
Кожний наступний доданок містить ще один множник. Така структура дає змогу визначати коефіцієнти послідовно, починаючи з \( a_0 \).
Для скорочення запису введемо позначення
\[
\begin{gathered}
(x-x_0)^{[0]}=1,\\[4pt]
\qquad
(x-x_0)^{[k]}=(x-x_0)\cdot(x-x_1)\cdot\dots\cdot(x-x_{k-1}), \qquad k\geq 1.
\end{gathered}
\]
Такий послідовний добуток називають узагальненим степенем. Використовуючи це позначення, поліном можна записати компактніше:
\[
P_n(x)=a_0+a_1\cdot(x-x_0)^{[1]}+a_2\cdot(x-x_0)^{[2]}+\dots+a_n\cdot(x-x_0)^{[n]}.
\]
Узагальнений степінь не слід плутати зі звичайним. Наприклад,
\[
(x-x_0)^{[2]}=(x-x_0)\cdot(x-x_1),
\]
тоді як
\[
(x-x_0)^2=(x-x_0)\cdot(x-x_0).
\]
Отже, ці вирази мають різну структуру і, як правило, різні значення.
Прямі Скінченні Різниці: Формування Різницевої Таблиці
Оскільки вузли інтерполяції розташовані з однаковим кроком, коефіцієнти полінома зручно виражати через прямі скінченні різниці.
Пряма скінченна різниця показує зміну значення функції під час переходу від точки \( x \) до наступної точки \( x+h \). Для довільної функції \( g(x) \) її визначають так:
\[
\Delta g(x)=g(x+h)-g(x).
\]
Якщо \( x=x_i \), то
\[
x_i+h=x_{i+1}.
\]
Отже, пряма скінченна різниця порівнює значення функції у двох сусідніх вузлах.
Для табличних значень функції різниця першого порядку має вигляд
\[
\Delta y_i=y_{i+1}-y_i.
\]
Зокрема,
\[
\Delta y_0=y_1-y_0,
\qquad
\Delta y_1=y_2-y_1,
\qquad
\Delta y_2=y_3-y_2.
\]
Різниці другого порядку обчислюють за різницями першого порядку:
\[
\Delta^2y_i=\Delta y_{i+1}-\Delta y_i.
\]
Наприклад,
\[
\Delta^2y_0=\Delta y_1-\Delta y_0,
\qquad
\Delta^2y_1=\Delta y_2-\Delta y_1.
\]
У загальному випадку скінченну різницю \( k \)-го порядку визначають рекурентно:
\[
\Delta^ky_i=\Delta^{k-1}y_{i+1}-\Delta^{k-1}y_i.
\]
Кожний новий порядок різниць утворюється з попереднього. Для \( n+1 \) заданих значень функції можна обчислити скінченні різниці до \( n \)-го порядку включно.
У першій формулі Ньютона використовують початкове значення функції та різниці кожного порядку, обчислені від початку таблиці:
\[
y_0,\qquad \Delta y_0,\qquad \Delta^2y_0,\qquad \dots,\qquad \Delta^ny_0.
\]
Обчислення починають від вузла \( x_0 \), а різниці утворюють у напрямку збільшення індексів. Тому першу інтерполяційну формулу Ньютона також називають прямою формулою Ньютона, або формулою Ньютона вперед.
Коефіцієнти Полінома: Послідовне Виведення
Спочатку знайдемо коефіцієнт \( a_0 \). Для цього підставимо \( x=x_0 \) у поліном. Усі доданки, крім першого, містять множник \( x-x_0 \), тому дорівнюють нулю:
\[
P_n(x_0)=a_0.
\]
За умовою інтерполяції
\[
P_n(x_0)=y_0.
\]
Отже,
\[
a_0=y_0.
\]
Тепер застосуємо визначення прямої скінченної різниці до полінома \( P_n(x) \):
\[
\Delta P_n(x)=P_n(x+h)-P_n(x).
\]
Для узагальненого степеня виконується співвідношення
\[
\Delta(x-x_0)^{[k]}=k\cdot h\cdot(x-x_0)^{[k-1]}.
\]
Після обчислення першої скінченної різниці та підстановки \( x=x_0 \) перший доданок дорівнює \( a_1\cdot h \). Усі наступні доданки містять узагальнені степені додатного порядку, які в точці \( x_0 \) дорівнюють нулю. Тому
\[
\Delta P_n(x_0)=a_1\cdot h.
\]
З іншого боку,
\[
\Delta P_n(x_0)=P_n(x_0+h)-P_n(x_0).
\]
Оскільки
\[
x_1=x_0+h,
\]
то
\[
\Delta P_n(x_0)=P_n(x_1)-P_n(x_0).
\]
У вузлах інтерполяції значення полінома збігаються зі значеннями функції, тому
\[
\Delta P_n(x_0)=y_1-y_0=\Delta y_0.
\]
Звідси
\[
a_1=\frac{\Delta y_0}{h}.
\]
Для визначення коефіцієнта \( a_2 \) обчислимо скінченну різницю другого порядку. Після підстановки \( x=x_0 \) отримаємо
\[
\Delta^2P_n(x_0)=2!\cdot a_2\cdot h^2.
\]
Оскільки
\[
\Delta^2P_n(x_0)=\Delta^2y_0,
\]
то
\[
a_2=\frac{\Delta^2y_0}{2!\cdot h^2}.
\]
Кожне наступне обчислення скінченної різниці зменшує порядок узагальненого степеня на одиницю та додає відповідний числовий множник і множник \( h \). Тому після обчислення різниці \( k \)-го порядку маємо
\[
\Delta^kP_n(x_0)=k!\cdot a_k\cdot h^k.
\]
Звідси
\[
a_k=\frac{\Delta^ky_0}{k!\cdot h^k}, \qquad k=1,2,\dots,n.
\]
Підставивши знайдені коефіцієнти в поліном, дістанемо
\[
P_n(x)=y_0+\frac{\Delta y_0}{1!\cdot h}\cdot(x-x_0)^{[1]}+\frac{\Delta^2y_0}{2!\cdot h^2}\cdot(x-x_0)^{[2]}+\dots+\frac{\Delta^ny_0}{n!\cdot h^n}\cdot(x-x_0)^{[n]}.
\]
Нормована Змінна: Спрощення Формули Ньютона
Для спрощення обчислень введемо змінну
\[
q=\frac{x-x_0}{h}.
\]
Звідси
\[
x-x_0=q\cdot h.
\]
Оскільки
\[
x_j=x_0+j\cdot h,
\]
то
\[
x-x_j=x-x_0-j\cdot h=q\cdot h-j\cdot h=(q-j)\cdot h.
\]
Тому узагальнений степінь можна подати у вигляді
\[
(x-x_0)^{[k]}=h^k\cdot q\cdot(q-1)\cdot(q-2)\cdot\dots\cdot(q-k+1).
\]
Розглянемо це перетворення для доданка другого порядку:
\[
\frac{\Delta^2y_0}{2!\cdot h^2}\cdot h^2\cdot q\cdot(q-1)=\frac{q\cdot(q-1)}{2!}\cdot\Delta^2y_0.
\]
Множник \( h^2 \), який виникає в послідовному добутку, скорочується з таким самим множником у знаменнику коефіцієнта. Аналогічне скорочення відбувається в усіх наступних доданках.
У результаті отримуємо першу інтерполяційну формулу Ньютона:
\[
P_n(x)=y_0+q\cdot\Delta y_0+\frac{q\cdot(q-1)}{2!}\cdot\Delta^2y_0+\frac{q\cdot(q-1)\cdot(q-2)}{3!}\cdot\Delta^3y_0+\dots+\frac{q\cdot(q-1)\cdot(q-2)\cdot\dots\cdot(q-n+1)}{n!}\cdot\Delta^ny_0.
\]
Змінна \( q \) показує зміщення точки \( x \) від початкового вузла \( x_0 \), виражене в одиницях кроку \( h \). Її значення не обов’язково є цілим. Наприклад, \( q=1.5 \) означає, що точка \( x \) розташована на відстані півтора кроку від \( x_0 \).
Першу інтерполяційну формулу Ньютона найзручніше застосовувати, коли точка \( x \) розташована поблизу початкового вузла \( x_0 \).
Перша Інтерполяційна Формула Ньютона: Покрокові Приклади
Перейдемо до застосування отриманої формули для табличних даних із рівновіддаленими вузлами. У першому прикладі детально розглянемо всі етапи обчислення, а далі простежимо, як змінюється розв’язання зі збільшенням кількості вузлів і порядку скінченних різниць.
Приклад 1. За наведеними табличними значеннями функції знайти наближене значення \( f(1.5) \)
| \( i \) | \( x_i \) | \( y_i \) |
|---|---|---|
| \( 0 \) | \( 1 \) | \( 1 \) |
| \( 1 \) | \( 2 \) | \( 4 \) |
| \( 2 \) | \( 3 \) | \( 9 \) |
Вузли розташовані рівновіддалено. Крок інтерполяції дорівнює
\[
h=x_1-x_0=2-1=1.
\]
Обчислимо скінченні різниці першого порядку:
\[
\Delta y_0=y_1-y_0=4-1=3,
\qquad
\Delta y_1=y_2-y_1=9-4=5.
\]
Знайдемо скінченну різницю другого порядку:
\[
\Delta^2y_0=\Delta y_1-\Delta y_0=5-3=2.
\]
Отримані значення подамо в таблиці скінченних різниць.
| \( i \) | \( x_i \) | \( y_i \) | \( \Delta y_i \) | \( \Delta^2y_i \) |
|---|---|---|---|---|
| \( 0 \) | \( 1 \) | \( 1 \) | \( 3 \) | \( 2 \) |
| \( 1 \) | \( 2 \) | \( 4 \) | \( 5 \) | — |
| \( 2 \) | \( 3 \) | \( 9 \) | — | — |
Обчислимо значення \( q \):
\[
q=\frac{x-x_0}{h}=\frac{1.5-1}{1}=0.5.
\]
Для трьох вузлів використовуємо формулу
\[
P_2(x)=y_0+q\cdot\Delta y_0+\frac{q\cdot(q-1)}{2!}\cdot\Delta^2y_0.
\]
Підставимо знайдені значення:
\[
P_2(1.5)=1+0.5\cdot3+\frac{0.5\cdot(0.5-1)}{2!}\cdot2.
\]
Виконаємо обчислення:
\[
P_2(1.5)=1+1.5-0.25=2.25.
\]
Отже,
\[
f(1.5)\approx2.25.
\]
Приклад 2. За наведеними табличними значеннями функції знайти наближене значення \( f(1.2) \)
| \( i \) | \( x_i \) | \( y_i \) |
|---|---|---|
| \( 0 \) | \( 1 \) | \( 5 \) |
| \( 1 \) | \( 1.5 \) | \( 8.375 \) |
| \( 2 \) | \( 2 \) | \( 4 \) |
| \( 3 \) | \( 2.5 \) | \( 22.625 \) |
Крок між сусідніми вузлами дорівнює
\[
h=x_1-x_0=1.5-1=0.5.
\]
Послідовно обчислимо скінченні різниці до третього порядку:
\[
\begin{gathered}
\Delta y_0=8.375-5=3.375,
\qquad
\Delta y_1=14-8.375=5.625,
\qquad
\Delta y_2=22.625-14=8.625,\\[4pt]
\Delta^2y_0=5.625-3.375=2.25,
\qquad
\Delta^2y_1=8.625-5.625=3,\\[4pt]
\Delta^3y_0=3-2.25=0.75.
\end{gathered}
\]
Запишемо результати в таблиці.
| \( i \) | \( x_i \) | \( y_i \) | \( \Delta y_i \) | \( \Delta^2y_i \) | \( \Delta^3y_i \) |
|---|---|---|---|---|---|
| \( 0 \) | \( 1 \) | \( 5 \) | \( 3.375 \) | \( 2.25 \) | \( 0.75 \) |
| \( 1 \) | \( 1.5 \) | \( 8.375 \) | \( 5.625 \) | \( 3 \) | — |
| \( 2 \) | \( 2 \) | \( 14 \) | \( 8.625 \) | — | — |
| \( 3 \) | \( 2.5 \) | \( 22.625 \) | — | — | — |
Обчислимо значення \( q \):
\[
q=\frac{x-x_0}{h}=\frac{1.2-1}{0.5}=0.4.
\]
Для чотирьох вузлів маємо
\[
P_3(x)=y_0+q\cdot\Delta y_0+\frac{q\cdot(q-1)}{2!}\cdot\Delta^2y_0+\frac{q\cdot(q-1)\cdot(q-2)}{3!}\cdot\Delta^3y_0.
\]
Підставимо відомі значення:
\[
P_3(1.2)=5+0.4\cdot3.375+\frac{0.4\cdot(0.4-1)}{2!}\cdot2.25+\frac{0.4\cdot(0.4-1)\cdot(0.4-2)}{3!}\cdot0.75.
\]
Обчислимо доданки:
\[
\begin{gathered}
0.4\cdot3.375=1.35,\\[4pt]
\frac{0.4\cdot(0.4-1)}{2!}\cdot2.25=-0.27,\\[4pt]
\frac{0.4\cdot(0.4-1)\cdot(0.4-2)}{3!}\cdot0.75=0.048.
\end{gathered}
\]
Тоді
\[
P_3(1.2)=5+1.35-0.27+0.048=6.128.
\]
Отже,
\[
f(1.2)\approx6.128.
\]
Приклад 3. За наведеними табличними значеннями функції знайти наближене значення \( f(1.6) \)
| \( i \) | \( x_i \) | \( y_i \) |
|---|---|---|
| \( 0 \) | \( 0 \) | \( 2 \) |
| \( 1 \) | \( 2 \) | \( 2 \) |
| \( 2 \) | \( 4 \) | \( 12 \) |
| \( 3 \) | \( 6 \) | \( 68 \) |
| \( 4 \) | \( 8 \) | \( 230 \) |
Крок інтерполяції дорівнює
\[
h=x_1-x_0=2-0=2.
\]
За табличними значеннями послідовно обчислимо скінченні різниці до четвертого порядку:
\[
\begin{gathered}
\Delta y_0=2-2=0,
\qquad
\Delta y_1=12-2=10,
\qquad
\Delta y_2=68-12=56,
\qquad
\Delta y_3=230-68=162,\\[4pt]
\Delta^2y_0=10-0=10,
\qquad
\Delta^2y_1=56-10=46,
\qquad
\Delta^2y_2=162-56=106,\\[4pt]
\Delta^3y_0=46-10=36,
\qquad
\Delta^3y_1=106-46=60,\\[4pt]
\Delta^4y_0=60-36=24.
\end{gathered}
\]
Отримані результати подамо в таблиці.
| \( i \) | \( x_i \) | \( y_i \) | \( \Delta y_i \) | \( \Delta^2y_i \) | \( \Delta^3y_i \) | \( \Delta^4y_i \) |
|---|---|---|---|---|---|---|
| \( 0 \) | \( 0 \) | \( 2 \) | \( 0 \) | \( 10 \) | \( 36 \) | \( 24 \) |
| \( 1 \) | \( 2 \) | \( 2 \) | \( 10 \) | \( 46 \) | \( 60 \) | — |
| \( 2 \) | \( 4 \) | \( 12 \) | \( 56 \) | \( 106 \) | — | — |
| \( 3 \) | \( 6 \) | \( 68 \) | \( 162 \) | — | — | — |
| \( 4 \) | \( 8 \) | \( 230 \) | — | — | — | — |
Знайдемо значення \( q \):
\[
q=\frac{x-x_0}{h}=\frac{1.6-0}{2}=0.8.
\]
Для п’яти вузлів використовуємо формулу
\[
P_4(x)=y_0+q\cdot\Delta y_0+\frac{q\cdot(q-1)}{2!}\cdot\Delta^2y_0+\frac{q\cdot(q-1)\cdot(q-2)}{3!}\cdot\Delta^3y_0+\frac{q\cdot(q-1)\cdot(q-2)\cdot(q-3)}{4!}\cdot\Delta^4y_0.
\]
Підставимо знайдені значення:
\[
P_4(1.6)=2+0.8\cdot0+\frac{0.8\cdot(0.8-1)}{2!}\cdot10+\frac{0.8\cdot(0.8-1)\cdot(0.8-2)}{3!}\cdot36+\frac{0.8\cdot(0.8-1)\cdot(0.8-2)\cdot(0.8-3)}{4!}\cdot24.
\]
Обчислимо окремі доданки:
\[
\begin{gathered}
0.8\cdot0=0,\\[4pt]
\frac{0.8\cdot(0.8-1)}{2!}\cdot10=-0.8,\\[4pt]
\frac{0.8\cdot(0.8-1)\cdot(0.8-2)}{3!}\cdot36=1.152,\\[4pt]
\frac{0.8\cdot(0.8-1)\cdot(0.8-2)\cdot(0.8-3)}{4!}\cdot24\approx-0.422.
\end{gathered}
\]
Тоді
\[
P_4(1.6)\approx2+0-0.8+1.152-0.422=1.93.
\]
Отже,
\[
f(1.6)\approx1.93.
\]
Що Вивчати Далі: Інші Методи Наближення Функцій
Після формули Ньютона вперед варто познайомитися з іншими способами роботи з табличними даними. Кожен із них розв’язує окремий тип задач і доповнює вже вивчений матеріал.
- Друга інтерполяційна формула Ньютона: Обчислення біля кінця таблиці — У статті розглянемо обернені скінченні різниці та обчислення значень функції поблизу останнього вузла таблиці.
- Інтерполяційна формула Лагранжа: Робота з нерівновіддаленими вузлами — Матеріал пояснить, як побудувати інтерполяційний поліном, коли відстані між сусідніми вузлами мають різні значення.
- Метод найменших квадратів: Рівномірне наближення табличних даних — Дізнаєтеся, як знайти функцію, що наближено описує набір даних і зменшує загальну величину відхилень у заданих точках.
Перша Інтерполяційна Формула Ньютона: Від Блок-Схеми до Програмного Коду
Захоплюєтеся програмуванням? Тоді спробуйте реалізувати поданий на блок-схемі алгоритм своєю улюбленою мовою. Програма має сформувати таблицю прямих скінченних різниць, обчислити значення нормованої змінної та знайти наближене значення функції за першою інтерполяційною формулою Ньютона. Pascal, Python, JavaScript чи C++ — вибір за вами. Так ви закріпите отримані знання й побачите, як математичні обчислення перетворюються на програмний код.

Це що за пастка в циклах? В перших двох умовах “<n-1” а потім бац і “<n” що призводить до помилки виходу за межі масиву наскільки я розумію.
Доброго вечора Василь. Не зовсім зрозумілим являється Ваш коментар. Якщо мова йде про перших два цикла в блок-схемі, то хочу Вас запевнити, що ніяких «пасток» там не має. По даній блок-схемі було реалізовано delphi-проект Перша інтерполяційна формула Ньютона, який працює безпомилково.
Так, все вірно. Я писав код під C# і трішки заплутався. Дякую за блок-схему і приклад.
Зрозуміло Василь. Раді, що матеріал був корисним.