6. Інтерполювання функцій

6.1. Постановка задачі інтерполювання

Література:

Нехай функція задана своїми значеннями , , , причому для .

Означення: Функція називається інтерполюючою для на сітці , якщо , .

Задача інтерполювання функції має не єдиний розв’язок.

Означення: Виберемо систему лінійно незалежних функцій , і побудуємо лінійну комбінацію

\begin{equation} \label{eq:6.1.1} \Phi(x) = \Phi_n(x) = \Sum_{k = 0}^n c_k \cdot \varphi_k(x), \end{equation}

яка називається узагальненим багаточленом.

Умови інтерполювання дають СЛАР

\begin{equation} \label{eq:6.1.2} \Sum_{k = 0}^n c_k \cdot \varphi_k(x_i) = y_i, \quad i = \overline{1, n} \end{equation}

розв’язком якої є .

Якщо

\begin{equation} D(x_0, \ldots, x_n) = \begin{vmatrix} \varphi_0(x_0) & \cdots & \varphi_n(x_0) \newline \vdots & \ddots & \vdots \newline \varphi_0(x_n) & \cdots & \varphi_n(x_n) \end{vmatrix} \ne 0, \end{equation}

то система \eqref{eq:6.1.2} має єдиний розв’язок.

Означення: Система функцій називається системою Чебишова, якщо таких, що і при виконується .

Приклади систем Чебишова:

  1. — алгебраїчна система.

    Визначник є визначником Вандермонда:

    \begin{equation} \begin{aligned} D(x_0, \ldots, x_n) &= \begin{vmatrix} 1 & x_0 & \cdots & x_0^n \newline \vdots & \vdots & \ddots & \vdots \newline 1 & x_n & \cdots & x_n^n \end{vmatrix} = \newline &= \Prod_{0 \le k \le m \le n} (x_k - x_m) \ne 0,
    \end{aligned} \end{equation}

  2. — ортогональні багаточлени Лежандра;

  3. — ортогональні багаточлени Чебишова.

  4. : , , , , , .

    Тоді

    \begin{equation} \begin{aligned} \Phi_n(x) &= T_n(x) = \newline &= a_0 + \Sum_{k = 1}^n (a_k \cdot \cos(k x) + b_k \cdot \sin(k x)) \end{aligned} \end{equation}

    — тригонометричний багаточлен.

6.2. Інтерполяційна формула Лагранжа

Література:

Якщо , то

\begin{equation} \Phi_n(x) = P_n(x) = \Sum_{k=0}^n c_k \cdot x^k. \end{equation}

Задача інтерполювання функції алгебраїчним, багаточленом полягає в знаходженні коефіцієнтів , для яких виконується умова , .

Представимо інтерполяційний багаточлен у вигляді

\begin{equation} \label{eq:6.2.1} P_n(x) = L_n(x) = \Sum_{k = 0}^n f(x_k) \cdot \Phi_k^{(n)}(x). \end{equation}

Означення: Тут інтерполяційний поліном; — поліноми -го степеня, які називають множниками Лагранжа.

З умови випливає, що множник Лагранжа повинен задовольняти умови

\begin{equation} \label{eq:6.2.2} \Phi_k^{(n)} (x_i) = \delta_{i,k}. \end{equation}

Оскільки — багаточлен степеня , то він має вигляд

\begin{equation} \Phi_k^{(n)}(x) = A_k (x - x_0) \ldots (x - x_{k-1}) (x - x_{k+1}) \ldots (x - x_n), \end{equation}

де — число.

Знайдемо його з умови :

\begin{equation} A_k = \frac{1}{(x_k - x_0) \ldots (x_k - x_{k-1}) (x_k - x_{k + 1}) \ldots (x_k - x_n)}. \end{equation}

Таким чином багаточлен мають вигляд:

\begin{equation} \label{eq:6.2.3} \Phi_k^{(n)} (x) = \frac{(x - x_0) \ldots (x - x_{k-1}) (x - x_{k+1}) \ldots (x - x_n)}{(x_k - x_0) \ldots (x_k - x_{k-1}) (x_k - x_{k+1}) \ldots (x_k - x_n)} \end{equation}

Позначивши

\begin{equation} \omega_n(x) = \Prod_{i = 0}^n(x - x_i), \end{equation}

маємо

\begin{equation} \Phi_k^{(n)}(x) = \frac{\omega_n(x)}{(x - x_k) \cdot \omega_n’(x_k)}. \end{equation}

Остаточно формула Лагранжа має вигляд

\begin{equation} \label{eq:6.2.4} L_n(x) = \Sum_{k = 0}^n f(x_k) \cdot \frac{\omega_n(x)}{(x - x_k) \cdot \omega_n’(x_k)} \end{equation}

6.3. Залишковий член інтерполяційного полінома

Література:

В заданих точках (точки інтерполювання) значення функції та полінома співпадають, але в інших точках в загальному випадку не співпадають. Отже доцільно розглянути питання про похибку інтерполювання.

Означення: Замінюючи функцію на ми допускаємо похибку . Це залишковий член інтерполювання.

З означення випливає, що, , . Оцінимо похибку у кожній точці . Введемо допоміжну функцію:

\begin{equation} g(t) = f(t) - L_n(t) - K \cdot \omega_n(t), \end{equation}

де , і для .

Знайдемо таке , щоб , в деякій точці , , . Легко бачити, що

\begin{equation} K = \frac{f(x) - L_n(x)}{\omega_n(x)}. \end{equation}

Припустимо що , тоді . Функція в -х точках, а саме , , . З теореми Ролля випливає, що існує -а точка, де , . Продовжуючи цей процес, отримаємо, що існує хоча б одна така, що . Оскільки

\begin{equation} g^{(n+1)}(t) = f^{(n+1)} - 0 - K \cdot (n+1)!, \end{equation}

то , що

\begin{equation} g^{(n+1)}(\xi) = f^{(n+1)}(\xi) - (n+1)! \cdot \frac{f(x) - L_n(x)}{\omega_n(x)} = 0. \end{equation}

Звідси

\begin{equation} \label{eq:6.3.1} r_n(x) = f(x) - L_n(x) = \frac{f^{(n+1)}(\xi)}{(n + 1)!} \cdot \omega_n(x). \end{equation}

Оскільки невідомо, то використовують оцінку залишкового члена:

\begin{equation} \label{eq:6.3.2} |r_n(x)| = |f(x) - L_n(x)| \le \frac{M_{n + 1}}{(n + 1)!} \cdot |\omega_n(x)|, \end{equation}

де .

6.4. Багаточлени Чебишова. Мінімізація залишкового члена інтерполяційного полінома

Література:

Як вибрати вузли інтерполяції щоб похибка інтерполювання була мінімальною? Спочатку обґрунтуємо теоретичний апарат, завдяки якому будемо досліджувати це питання.

Означення: Багаточленом Чебишова (-того степеня, 1–го роду) називається поліном, який задається такими рекурентними співвідношеннями

\begin{equation} \label{eq:6.4.1} T_{n + 1}(x) - 2 x \cdot T_n(x) + T_{n - 1}(x) = 0, \end{equation}

де початкові значення

\begin{equation} \label{eq:6.4.2} T_0(x) = 1, \quad T_1(x) = x. \end{equation}

Знайдемо явний вигляд багаточлена Чебишова. Будемо шукати розв’язок рівняння \eqref{eq:6.4.1} у вигляді , де . Підставивши в \eqref{eq:6.4.1}, отримуємо характеристичне рівняння . Тоді при , а при , .

Розглянемо обидва випадки детальніше:

  1. при : . З \eqref{eq:6.4.1} випливає , і тому

    \begin{equation} \label{eq:6.4.3} T_n(x) = \cos(n \arccos (x)). \end{equation}

  2. при :

    \begin{equation} \label{eq:6.4.4} T_n(x) = \frac{1}{2} \left( \left(x + \sqrt{x^2 - 1}\right)^n + \left(x - \sqrt{x^2 - 1} \right)^n \right). \end{equation}

Знайдемо нулі та екстремуми багаточлена Чебишова: , , , , .

Отже нулі багаточлена Чебишова:

\begin{equation} x_k = \cos \left( \frac{(2 k + 1) \pi}{2 n} \right) \in [-1,1], \quad k = \overline{0,n-1}. \end{equation}

Локальні екстремуми багаточлена Чебишова на :

\begin{equation} x_k’ = \cos \left( \frac{k\pi}{2n} \right), \quad k = \overline{0,n}. \end{equation}

Коефіцієнт при старшому члені багаточлена дорівнює .

Означення: Введемо нормований багаточлен Чебишова .

Тоді

\begin{equation} \left| \overline T_n \right|\void_{C([-1,1])} = \Max_{x \in [-1,1]} |T_n(x)| = 2^{1-n}. \end{equation}

Означення: Відхиленням двох функцій та називається величина

\begin{equation} \Delta (f, \Phi) = | f(x) - \Phi(x)|\void_{C([a,b])}. \end{equation}

Теорема (Чебишова): Серед усіх багаточленів -го степеня з коефіцієнтом при старшому степені найменше відхиляється від на , тобто

\begin{equation} \left|\overline T_n(x) - 0 \right|\void_{C([-1,1])} = \Inf_{\overline P_n(x)} \left|\overline P_n(x)\right|\void_{C([-1,1])} = 2^{1-n}. \end{equation}

Доведення: Будемо доводити від супротивного: припустимо, що існує багаточлен, такий, що

\begin{equation} \overline Q_n(x) < 2^{1-n}. \end{equation}

Тоді — поліном степеня не вище і не рівний тотожньо нулю. Дослідимо його знаки:

\begin{equation} \begin{aligned} \text{sgn} \left( Q_{n - 1}(x_k’) \right) &= \text{sgn} \left( \overline T_n(x_k’) - \overline Q_n(x_k’) \right) = \newline &= \text{sgn} \left( \overline T_n(x_k’) \right) = \alpha \cdot(-1)^k, \end{aligned} \end{equation}

де .

Значить , таке, що . Це протиріччя, бо — поліном степеня .

Тепер узагальнимо наш багаточлен Чебишова на довільний проміжок. Нагадаємо , . Від змінної перейдемо до . Запровадимо заміну

\begin{equation} t = \frac{2 x}{b - a} - \frac{b + a}{b - a}, \quad x = \frac{b + a}{2} + \frac{b - a}{t}. \end{equation}

Тоді

\begin{equation} \begin{aligned} T_n^{[a,b]}(t) &= \overline T_n \left( \frac{2 x}{b - a} - \frac{b + a}{b - a} \right) = \newline &= 2^{1 - n} \cos \left(n \arccos \left( \frac{2 x - (b + a)}{b - a} \right) \right). \end{aligned} \end{equation}

Побудований нами багаточлен Чебишова на не є нормованим.

Нормований багаточлен Чебишова на :

\begin{equation} \overline T_n^{[a,b]}(x) = \frac{(b - a)^n}{2^{2 n - 1}} \cos \left(n \arccos \left( \frac{2 x - (b + a)}{b - a} \right) \right). \end{equation}

Відповідно його нулі

\begin{equation} x_k = \frac{a + b}{2} - \frac{b - a}{2} \cdot t_k, \quad t_k = \cos \left( \frac{(2 k + 1) \pi}{2 n} \right), \end{equation}

де , а точки екстремуму

\begin{equation} x_k’ = \frac{a + b}{2} - \frac{b -a }{2} \cdot t_k’, \quad t_k’ = \cos \left( \frac{k \pi}{n} \right), \quad k = \overline{0,n}. \end{equation}

Теорема Чебишова вірна і у випадку . Тепер

\begin{equation} \left|\overline T_n^{[a,b]}\right|\void_{C([a,b])} = \frac{(b-a)^n}{2^{2n-1}}. \end{equation}

Перейдемо до питання мінімізації залишкового члена. Нагадаємо, що

\begin{equation} \label{eq:6.4.5} |r_n(x)| = |f(x) - L_n(x)| \le \frac{M_{n + 1}}{(n + 1)!} \cdot |\omega_n(x)|, \end{equation}

де ,

Поставимо задачу

\begin{equation} \Inf_{\overline P_n(x)} \Max_{x \in [a,b]} |\omega_n(x)|. \end{equation}

З теоремою Чебишова поліном Чебишова. Якщо співпадають поліноми, то співпадають їх нулі. Отже: — вузли інтерполяції співпадають з нулями багаточлена Чебишова

\begin{equation} x_k = \frac{a + b}{2} - \frac{b - a}{2} \cdot t_k, \quad t_k = \cos \left( \frac{(2 k + 1) \pi}{2 (n + 1)} \right), \end{equation}

де .

В цьому випадку

\begin{equation} \label{eq:6.4.6} |r_n(x)| = |f(x) - L_n(x)| \le \frac{M_{n + 1}}{(n + 1)!} \cdot \frac{(b - a)^{n + 1}}{2^{2 n + 1}}. \end{equation}

Цю оцінку не можна покращити! Так для її похідна дорівнює , тому . Різниця , отже

\begin{equation} \Max_{x \in [a,b]} |f(x) - L_n(x)| = \frac{(b - a)^{n + 1}}{2^{2 n + 1}}. \end{equation}

6.5. Розділені різниці

Література:

Розділені різниці є аналогом похідної для функції, що задана таблицею.

Означення: Розділеною різницею 1-го порядку для функції називатимемо

\begin{equation} f(x_i; x_j) = \frac{f(x_i) - f(x_j)}{x_i - x_j}. \end{equation}

Розділеною різницею 2-го порядку для функції називатимемо

\begin{equation} f(x_i; x_j; x_k) = \frac{f(x_i; x_j) - f(x_j; x_k)}{x_i - x_k}. \end{equation}

Аналогічно визначаються розділені різниці довільного порядку.

Наведемо деякі властивості розділених різниць:

  1. \begin{equation} f(x_0; \ldots; x_n) = \Sum_{i = 0}^n \frac{f(x_j)}{\Prod_{i \ne j}(x_i - x_j)}. \end{equation}

  2. Розділена різниця — лінійний функційонал:

    \begin{equation} (\alpha_1 f_1 + \alpha_2 f_2)(x_0; x_1) = \alpha_1 f_1(x_0;x_1) + \alpha_2 f_2(x_0;x_1). \end{equation}

  3. Розділена різниця — симетричний функціонал:

    \begin{equation} \begin{aligned} & f(x_1; \ldots; x_i; \ldots; x_j; \ldots; x_n) = \newline & \quad f(x_1; \ldots; x_j; \ldots; x_i; \ldots; x_n). \end{aligned} \end{equation}

  4. : : .

Задача 14: Довести першу властивість розділених різниць.

Таблиця розділених різниць має вигляд:

р.р. р.р. р.р.
       
         
     
         
       
 
 
       
         
     
         
       

6.6. Інтерполяційна формула Ньютона

Література:

Запишемо формулу Лагранжа інтерполяційного багаточлена

\begin{equation} \label{eq:6.6.1} L_n(x) = \Sum_{i = 0}^n f(x_i) \cdot \frac{\omega_n(x)}{(x - x_i) \cdot \omega_n’(x_i)}, \end{equation}

де .

Позначимо . Тоді, оскільки

\begin{equation} \begin{aligned} L_n(x) &= L_0(x) + (L_1(x) - L_0(x)) + \ldots \newline & \quad \ldots + (L_n(x) - L_{n-1}(x)), \end{aligned} \end{equation}

і

\begin{equation} L_j(x_i) = L_{j-1}(x_i) = f(x_i), \quad i = \overline{0,j-1}, \end{equation}

то \begin{equation} \label{eq:6.6.2} \Phi_j(x_i) = A_j \cdot (x - x_0) \cdot \ldots \cdot (x - x_{j-1}), \end{equation}

де визначається з умови . Звідси

\begin{equation} \Phi_j(x) = \frac{f(x_j) - L_{j-1}(x_j)}{(x_j - x_0) \ldots (x_j - x_{j - 1})} \cdot (x-x_0) \ldots (x-x_j). \end{equation}

Тоді \begin{equation} \begin{aligned} A_j &= \frac{f(x_j) - L_{j-1}(x_j)}{(x_j - x_0) \ldots (x_j - x_{j-1})} = \newline & = \frac{f(x_j)}{(x_j - x_0) \ldots (x_j - x_{j-1})} - \newline & \quad - \Sum_{i = 0}^{j - 1} \frac{f(x_i)}{(x_i - x_0) \ldots (x_i - x_{i-1}) (x_i - x_{i + 1}) \ldots (x_j-x_i)} = \newline & = \frac{f(x_j)}{(x_j-x_0) \ldots (x_j - x_{j-1})} + \newline & \quad + \Sum_{i = 0}^{j - 1} \frac{f(x_i)}{(x_i-x_0) \ldots (x_i - x_j)} = \newline & = \Sum_{i = 0}^j \frac{f(x_i)}{(x_i - x_0) \ldots (x_i - x_{i - 1}) (x_i - x_{i + 1}) \ldots (x_i - x_j)} = \newline & = f(x_0;\ldots;x_j). \end{aligned} \end{equation}

Звідси маємо інтерполяційну формулу Ньютона вперед ():

\begin{equation} \label{eq:6.6.3} \begin{aligned} L_n(x) &= f(x_0) + f(x_0;x_1) (x-x_0) + \ldots \newline & \quad \ldots + f(x_0;\ldots;x_n) (x-x_0) \ldots (x - x_{n-1}). \end{aligned} \end{equation}

Аналогічно, інтерполяційна формула Ньютона назад (): \begin{equation} \label{eq:6.18} \begin{aligned} L_n(x) &= f(x_n) + f(x_n;x_{n-1}) (x-x_n) + \ldots \newline & \quad \ldots + f(x_n;\ldots;x_0) (x-x_n) \ldots (x-x_1). \end{aligned} \end{equation}

Маємо рекурсію за степенем багаточлена

\begin{equation} L_n(x) = L_{n-1}(x) + f(x_0;\ldots;x_n) (x-x_0) \ldots (x-x_1). \end{equation}

Звідси

\begin{equation} \begin{aligned} L_n(x) &= f(x_0) + (x - x_0) (f(x_0;x_1) + (x - x_1) (\ldots \newline & \quad \ldots + (x - x_{n-1}) f(x_0;x_1;\ldots;x_n) \ldots )) \end{aligned} \end{equation}

і цю формулу розкриваємо починаючи з середини (це аналог схеми Горнера обчислення значення багаточлена).

Введемо нову формулу для похибки інтерполювання. Для , розглянемо розділену різницю

\begin{equation} \begin{aligned} f(x; x_0; \ldots; x_n) &= \frac{f(x)}{(x - x_0) \ldots (x - x_n)} + \newline & \quad + \Sum_{k = 0}^n \frac{f(x_k)}{\Prod_{i \ne k}(x - x_i)}. \end{aligned} \end{equation}

Звідси

\begin{equation} \begin{aligned} f(x) &= f(x_0) \cdot \frac{(x - x_1) \ldots (x - x_n)}{(x_0 - x_1) \ldots (x_0 - x_n)} + \ldots \newline & \quad \ldots + f(x_n) \cdot \frac{(x - x_1) \ldots (x - x_n)}{(x_n - x_1) \ldots (x_n - x_{n-1})} + \newline & \quad + f(x; x_0; \ldots; x_n) (x - x_0) \ldots (x - x_n) = \newline & = L_n(x) + f(x; x_0; \ldots; x_n) \cdot \omega_n(x). \end{aligned} \end{equation}

Тоді похибка має вигляд \begin{equation} \label{eq:6.19} r_n(x) = f(x) - L_n(x) = f(x;x_0;\ldots;x_n)\cdot\omega_n(x). \end{equation}

Це нова форма для залишкового члена.

Порівнюючи з формулою залишкового члена в пункті , маємо

\begin{equation} f(x; x_0; \ldots; x_n) = \frac{f^{(n + 1)}(\xi)}{(n + 1)!}, \end{equation}

що доводить останню властивість розділених різниць.

Нехай маємо сітку рівновіддалених вузлів: , , , , . Розначимо , , — скінченні різниці.

Запишемо формули Ньютона у нових позначеннях:

\begin{equation} \begin{aligned} L_n(x) &= L_n(x_0 + t h) = \newline &= f_0 + t \Delta f_0 + \ldots \newline & \quad \ldots + \frac{t (t - 1) \ldots (t - n + 1)}{n!}\cdot \Delta^n f_0, \end{aligned} \end{equation}

де .

Це інтерполяційна формула Ньютона вперед по рівновіддалених вузлах.

Задача 15: Побудувати інтерполяційну формулу Ньютона назад по рівновіддалених вузлах.

Назад до лекцій

Назад на головну