Опубликован: 25.10.2007 | Уровень: специалист | Доступ: платный | ВУЗ: Московский физико-технический институт
Лекция 7:

Интерполяция функций

Интегрируя последнее соотношение еще раз, получаем:

\begin{gather*}
S(t) = \frac {1}{6\tau_n} (m_n (t_{n + 1} - t)^3 + m_{n + 1} (t - t_n)^3) +  \\    
+ \alpha_n  (t_{n + 1} - t) + \beta_{n + 1}  (t - t_n ). 
\end{gather*}

An — константа интегрирования. После второго интегрирования положим A_n t + B_n = (\beta_n - \alpha_n)t + \alpha_n t_{n + 1} - \beta_n t_n , т.е. вместо двух констант An, Bn введем две новые константы, более удобные для дальнейших выкладок.

Из условий S(tn) = fn, S(tn + 1) = fn + 1, получаем:

\begin{gather*}
 f_n = \frac{{m_n \tau_n^2 }}{6} + \alpha {}_n\tau_n \Rightarrow \alpha_n = \frac{{f_n}}{{\tau_n}} - \frac{{m_n\tau_n}}{6}. \\  
 f_{n + 1} = \frac{{m_{n + 1} \tau_n^2 }}{6} + \beta {}_n\tau_n \Rightarrow \beta_n = \frac{{f_{n + 1}}}{{\tau_n}} - \frac{{m_{n + 1} \tau_n}}{6}. \\   
A_n = \frac{{f_{n + 1} - f_n}}{{\tau_n}} - \frac{{(m_{n + 1} - m_n)\tau_n}}{6}.
\end{gather*}

Приравняем первые производные в tn справа и слева S't(tn + 0) = S't(tn - 0), получим систему уравнений для определения коэффициентов сплайна:

$  \frac{m_n \tau_{n - 1}}{2} - \frac{m_{n - 1} \tau_{n - 1}}{2} + \frac{f_n - f_{n - 1}}{\tau_{n - 1}} - \frac{(m_n - m_{n - 1})\tau_{n - 1}}{6} =  \\ 
{= \frac{m_{n + 1} \tau_n}{2} - \frac{m_n \tau_n}{2} + \frac{f_{n + 1} - f_n}{\tau_n} - \frac{(m_{n + 1} - m_n)\tau_n}{6}, }
   $ ( 6.3)

которая дополняется соответствующими граничными условиями. В случае свободного сплайна m0 = mN = 0.

Систему для определения коэффициентов, называемых моментами кубического сплайна, можно записать в матричной форме

\mathbf{AM} = \mathbf{F},

где \mathbf{A} — квадратная матрица:

$  
\mathbf{A} = \left( \begin{array}{cccccc}
{\frac {\tau_1 + \tau_2}{3}} & {\frac {\tau_2}{6}} & 0 & \ldots & 0 & 0 \\ 
{\frac{\tau_2}{6}} & {\frac {\tau_2 + \tau_3}{3}} & {\frac{\tau_3}{6}} & \ldots & 0 & 0 \\ 
0 & {\frac{\tau_3}{6}} & {\frac {\tau_3 + \tau_4}{3}} & \ldots & 0 & 0 \\ 
 \ldots & \ldots & \ldots & \ldots & \ldots & \ldots \\ 
0 & 0 & 0 & \ldots & {\frac{\tau_{N - 1}}{6}} & {\frac{\tau_N + \tau_{N - 1}}{3}} \\ 
\end{array} \right)
  $

\mathbf{M} и \mathbf{F} — векторы - столбцы:

$  {\mathbf{M}} = (m_1, m_2, \ldots , m_{N - 1})^T , \\  
 {\mathbf{F}} = {\left(\frac {f_2  - f_1}{\tau_1} - \frac{f_1  -  f_0}{\tau_0}, 
\frac {f_3  -  f_2}{\tau_2} - \frac{f_2 - f_1}{\tau_1}, \ldots , \frac {f_N -  f_{N - 1}}{\tau_N} - 
\frac{f_{N - 1} -  f_{N - 2}}{\tau_{N - 1}}\right)}^T.  $

Матрица \mathbf{A} симметрична, имеет свойство диагонального преобладания и, как можно показать, положительно определена, а следовательно, неособенная. Значит, решение рассматриваемой СЛАУ существует и единственно. Следовательно, и задача о построении кубического сплайна имеет единственное решение. Для других типов краевых условий доказательство проводится аналогично. Метод решения такой СЛАУ, который будет рассмотрен в "Численное решение краевых задач для систем обыкновенных дифференциальных уравнений" — прогонка.

Теорема (без доказательства.) Для функции f(t) \in C^4 [a, b] и интерполирующего ее сплайна S (t), построенного на сетке \{t_n\}_{n = 0}^{N}, имеют место следующие неравенства:

\begin{gather*}
 \left\|{f(t) - S(t)}\right\|_{[a, b]}  \le M_4 \tau ^4, \\   
\left\|{f^{\prime}(t) - S^{\prime}(t)}\right\|_{[a, b]} \le M_4 \tau ^3, \\   
\left\|{f^{\prime\prime}(t) - S^{\prime\prime}(t)}\right\|_{[a, b]}  \le M_4 \tau ^2, 
\end{gather*}

где M4 = || f(4)(t) ||[a, b], \tau = \max\limits_n (t_{n + 1} - t_n).

Отсюда следует, что при \tau\rightarrow 0 последовательность функций S(k)(t), i = 0, 1, 2 (кубический сплайн и первые две его производные) сходится, соответственно, к f(k)(t).

Теорема (экстремальное свойство кубических сплайнов (без доказательства.) Пусть сплайн S(t) интерполирует функцию f(t) на системе узлов

\left\{{t_n}\right\}_{n = 0}^{N}; t_0 = a, t_N = b.

Тогда S(t) с краевыми условиями S''(a) = S''(b) = 0 доставляет минимум функционалу

\int\limits_{a}^{b}{[F^{\prime\prime}(t)]^2 }dt

среди всех функций F(t) \in C^2_2 [a, b], т.е. функций, имеющих интегрируемые с квадратом вторые производные (\int\limits_{a}^{b}{{[F^{\prime\prime}(t)]}^2 dt}) сходится на отрезке [a, b] ) и интерполирующих f(t) на отрезке [a, b].

Локальный сплайн. Локальная форма сплайн - интерполяции предложена В. С. Рябеньким [6.9], [6.10]. Рассмотрим неравномерную сетку: tn - tn - 1 = hn - 1, tn + 1 - tn = hn. В узлах сетки определены значения функции: fn - 1, fn , fn + 1. Не вдаваясь в детали, приведем важные для практического использования формулы в случае постоянного шага сетки h = const . Построим интерполяционный полином второго порядка P2(x) в форме Ньютона (d - fn)/h:

tn-1 fn-1
$  \frac{f_n - f_{n - 1}}{h}  $

$  \frac{f_{n + 1} - f_n}{h}  $

$  \frac{f_{n - 1} - 2f_n + f_{n + 1}}{h^2}  $
tn fn
tn+1 fn+1
\begin{gather*}
P_2 (t, f_n) = f_{n - 1} + \frac{{f_n - f_{n - 1}}}{h} (t - t_{n - 1}) +  \\
+ \frac{f_{n - 1} - 2f_n + f_{n + 1}}{h^2 } (t - t_{n - 1})(t - t_n),
\end{gather*} ( 6.4)

Этот полином приближает f на отрезке [ tn - 1, tn + 1 ] с точностью до o(h2). Рассмотрим теперь полином

\begin{gather*}
Q_5 (t, f_n) = P_2 (t, f_n) + \frac{h^3}{2} \left\{{\frac{f_{n + 2} - 3f_{n + 1} + 
3f_n - f_{n - 1}}{h^3} \times }\right. \\  
 \left. {\times \left({\frac{t - t_n}{h}}\right)^3 \left({\frac{t - t_{n + 1}}{h}}\right)\left({3 - \frac{2(t - t_n)}{h}}\right)}\right\},
\end{gather*}

представляющий собой аппроксимацию функции f на отрезке [tn - 1, tn + 1] с непрерывными первой и второй производными. В [6.1] доказано, что выражение (6.4) аппроксимирует f_x^{(m)} с порядком o(h3 - m) во всех точках отрезка. Так как коэффициенты сплайна зависят от значений функции лишь в 4-х соседних точках и для определения коэффициентов (6.4) не требуется решать систему линейных уравнений, такая кусочно - гладкая интерполяция называется локальным сплайном.

Замечание. Q5(t, fn) уже не обладает экстремальным свойством.

Эдуард Макаров
Эдуард Макаров
Россия, г. Екатеринбург, Уральский федеральный университет, профессор
Иван Кузнецов
Иван Кузнецов
Россия, г. Новосибирск