Перша інтерполяційна формула Ньютона дає змогу наближено обчислювати значення функції за табличними даними, заданими в рівновіддалених вузлах. У статті з’ясуємо, як сформувати таблицю прямих скінченних різниць, побудувати інтерполяційний поліном і перейти до зручного для обчислень запису. Покрокові приклади допоможуть зрозуміти застосування формули на практиці.
Перша Інтерполяційна Формула Ньютона: Постановка Інтерполяційної Задачі
Нехай для функції \( 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# і трішки заплутався. Дякую за блок-схему і приклад.
Зрозуміло Василь. Раді, що матеріал був корисним.