Квадратичная интерполяция — это численный метод, который позволяет приближённо определять промежуточные значения функции по трём известным узлам. В отличие от линейной интерполяции, такой подход использует квадратичный полином и позволяет лучше воспроизводить нелинейное поведение функции между заданными точками. Рассмотрим принцип построения такого полинома, способ нахождения его коэффициентов и примеры использования метода для функций, заданных таблично.
Квадратичная Интерполяция: От Трёх Узлов к Параболе
Пусть функция задана таблично и известны три её значения в узлах
\[
(x_{i-1},y_{i-1}),\qquad (x_i,y_i),\qquad (x_{i+1},y_{i+1}).
\]
Для приближения значений функции на промежутке между крайними выбранными узлами через эти три точки проводят параболу, которая описывается квадратичным интерполяционным полиномом
\[
P_2(x)=a\cdot x^2+b\cdot x+c.
\]
Такой полином содержит три неизвестных коэффициента \( a \), \( b \) и \( c \). Для их однозначного определения необходимо иметь три независимых условия. Именно эти условия получают из требования, чтобы значение построенного полинома в каждом из трёх узлов совпадало с соответствующим табличным значением функции:
\[
P_2(x_{i-1})=y_{i-1},\qquad P_2(x_i)=y_i,\qquad P_2(x_{i+1})=y_{i+1}.
\]
Таким образом, узлы интерполяции задают известные значения функции, а квадратичный полином строится по этим данным и используется для приближения промежуточных значений.

Узлы интерполяции не обязательно должны быть равноотстоящими — достаточно, чтобы их абсциссы были различными. Поэтому квадратичную интерполяцию можно использовать как для равноотстоящих, так и для неравноотстоящих табличных данных.
Если три узла лежат на одной прямой, это не нарушает корректность метода. В таком случае коэффициент \( a \) будет равен нулю, поэтому полученный полином фактически станет линейным.
От Условий Интерполяции к Системе: Определение Неизвестных Коэффициентов
Чтобы найти коэффициенты \( a \), \( b \) и \( c \), подставим координаты каждого узла в квадратичный полином. В результате получим систему трёх линейных уравнений:
\[
\begin{cases}
a\cdot x_{i-1}^2+b\cdot x_{i-1}+c=y_{i-1},\\
a\cdot x_i^2+b\cdot x_i+c=y_i,\\
a\cdot x_{i+1}^2+b\cdot x_{i+1}+c=y_{i+1}.
\end{cases}
\]
Неизвестными в этой системе являются коэффициенты \( a \), \( b \) и \( c \). Она имеет единственное решение, если абсциссы трёх узлов попарно различны:
\[
x_{i-1}\ne x_i,\qquad x_i\ne x_{i+1},\qquad x_{i-1}\ne x_{i+1}.
\]
При этом условии определитель основной матрицы системы отличен от нуля, поэтому коэффициенты квадратичного интерполяционного полинома определяются однозначно.
Для решения полученной системы можно использовать любой известный метод. Чтобы найти коэффициенты, воспользуемся методом Крамера:
\[
a=\frac{\det(A_1)}{\det(A)},\qquad b=\frac{\det(A_2)}{\det(A)},\qquad c=\frac{\det(A_3)}{\det(A)}.
\]
Определитель основной матрицы системы имеет вид
\[
\det(A)=
\begin{vmatrix}
x_{i-1}^2 & x_{i-1} & 1\\
x_i^2 & x_i & 1\\
x_{i+1}^2 & x_{i+1} & 1
\end{vmatrix}.
\]
Для нахождения коэффициента \( a \) в основном определителе первый столбец заменяют столбцом табличных значений функции:
\[
\det(A_1)=
\begin{vmatrix}
y_{i-1} & x_{i-1} & 1\\
y_i & x_i & 1\\
y_{i+1} & x_{i+1} & 1
\end{vmatrix}.
\]
Для нахождения коэффициента \( b \) в основном определителе второй столбец заменяют столбцом табличных значений функции:
\[
\det(A_2)=
\begin{vmatrix}
x_{i-1}^2 & y_{i-1} & 1\\
x_i^2 & y_i & 1\\
x_{i+1}^2 & y_{i+1} & 1
\end{vmatrix}.
\]
Для нахождения коэффициента \( c \) соответствующую замену выполняют в третьем столбце основного определителя:
\[
\det(A_3)=
\begin{vmatrix}
x_{i-1}^2 & x_{i-1} & y_{i-1}\\
x_i^2 & x_i & y_i\\
x_{i+1}^2 & x_{i+1} & y_{i+1}
\end{vmatrix}.
\]
После вычисления определителей и нахождения коэффициентов \( a \), \( b \) и \( c \) квадратичный интерполяционный полином полностью определён.
От Построенного Полинома к Результату: Приближение Значения Функции
После определения коэффициентов построенный полином можно использовать для нахождения значений функции в точках, для которых табличные данные отсутствуют. Если значение аргумента \( x \) находится между крайними выбранными узлами, приближённое значение функции определяют по соотношению
\[
f(x)\approx P_2(x).
\]
Таким образом, после построения полинома задача интерполяции сводится к непосредственному вычислению его значения в нужной точке.
Если таблица содержит более трёх узлов, для локального приближения выбирают три узла, расположенные близко к заданному значению аргумента, так, чтобы точка, в которой нужно найти значение функции, находилась между крайними из них. По выбранным узлам строят квадратичный полином и используют его на соответствующем участке. Такой подход к различным частям таблицы лежит в основе кусочно-квадратичной интерполяции.

Точность приближения зависит от поведения функции и расположения выбранных узлов. Обычно целесообразно использовать узлы, расположенные как можно ближе к точке, в которой нужно найти приближённое значение.
Квадратичная Интерполяция: Пошаговые Примеры
Рассмотрим практическое применение квадратичной интерполяции для функций, заданных таблично. В каждом случае выберем необходимые узлы, составим систему для коэффициентов квадратичного полинома, найдём их методом Крамера и вычислим приближённое значение функции.
Пример 1. По приведённым табличным значениям функции найти приближённое значение \( f(2.1) \)
| \( i \) | \( x_i \) | \( y_i \) |
|---|---|---|
| \( 0 \) | \( 0 \) | \( 2 \) |
| \( 1 \) | \( 1.5 \) | \( 5.75 \) |
| \( 2 \) | \( 3 \) | \( 14 \) |
Для построения квадратичного интерполяционного полинома используем три заданных узла:
\[
(x_0,y_0)=(0,2),\qquad (x_1,y_1)=(1.5,5.75),\qquad (x_2,y_2)=(3,14).
\]
Запишем квадратичный полином:
\[
P_2(x)=a\cdot x^2+b\cdot x+c.
\]
Подставим координаты узлов:
\[
\begin{cases}
c=2,\\
2.25\cdot a+1.5\cdot b+c=5.75,\\
9\cdot a+3\cdot b+c=14.
\end{cases}
\]
Найдём основной определитель системы:
\[
\det(A)=
\begin{vmatrix}
0 & 0 & 1\\
2.25 & 1.5 & 1\\
9 & 3 & 1
\end{vmatrix}.
\]
В этом случае
\[
\det(A)=0\cdot1.5\cdot1+0\cdot1\cdot9+1\cdot2.25\cdot3-1\cdot1.5\cdot9-0\cdot1\cdot3-0\cdot2.25\cdot1=-6.75.
\]
Поскольку
\[
\det(A)\ne0,
\]
система имеет единственное решение.
Для нахождения коэффициента \( a \) вычислим
\[
\det(A_1)=
\begin{vmatrix}
2 & 0 & 1\\
5.75 & 1.5 & 1\\
14 & 3 & 1
\end{vmatrix}
=-6.75.
\]
Тогда
\[
a=\frac{\det(A_1)}{\det(A)}=\frac{-6.75}{-6.75}=1.
\]
Для нахождения коэффициента \( b \) вычислим
\[
\det(A_2)=
\begin{vmatrix}
0 & 2 & 1\\
2.25 & 5.75 & 1\\
9 & 14 & 1
\end{vmatrix}
=-6.75.
\]
Поэтому
\[
b=\frac{\det(A_2)}{\det(A)}=\frac{-6.75}{-6.75}=1.
\]
Для нахождения коэффициента \( c \) вычислим
\[
\det(A_3)=
\begin{vmatrix}
0 & 0 & 2\\
2.25 & 1.5 & 5.75\\
9 & 3 & 14
\end{vmatrix}
=-13.5.
\]
Следовательно,
\[
c=\frac{\det(A_3)}{\det(A)}=\frac{-13.5}{-6.75}=2.
\]
Таким образом,
\[
a=1,\qquad b=1,\qquad c=2.
\]
Квадратичный интерполяционный полином имеет вид
\[
P_2(x)=x^2+x+2.
\]
Для \( x=2.1 \) получаем
\[
P_2(2.1)=2.1^2+2.1+2.
\]
Вычислим:
\[
P_2(2.1)=4.41+2.1+2=8.51.
\]
Следовательно,
\[
f(2.1)\approx8.51.
\]
Пример 2. По приведённым табличным значениям функции найти приближённое значение \( f(5.2) \)
| \( i \) | \( x_i \) | \( y_i \) |
|---|---|---|
| \( 0 \) | \( 1 \) | \( 4.5 \) |
| \( 1 \) | \( 2.4 \) | \( 7.72 \) |
| \( 2 \) | \( 4 \) | \( 9 \) |
| \( 3 \) | \( 7 \) | \( 4.5 \) |
Значение \( x=5.2 \) находится между узлами с абсциссами \( 4 \) и \( 7 \):
\[
4<5.2<7.
\]
Для построения локального квадратичного полинома используем узлы
\[
(x_1,y_1)=(2.4,7.72),\qquad (x_2,y_2)=(4,9),\qquad (x_3,y_3)=(7,4.5).
\]
Для выбранных узлов составим систему относительно коэффициентов \( a \), \( b \) и \( c \):
\[
\begin{cases}
5.76\cdot a+2.4\cdot b+c=7.72,\\
16\cdot a+4\cdot b+c=9,\\
49\cdot a+7\cdot b+c=4.5.
\end{cases}
\]
Вычислим основной определитель:
\[
\det(A)=
\begin{vmatrix}
5.76 & 2.4 & 1\\
16 & 4 & 1\\
49 & 7 & 1
\end{vmatrix}
=-22.08.
\]
Для нахождения коэффициента \( a \) вычислим
\[
\det(A_1)=
\begin{vmatrix}
7.72 & 2.4 & 1\\
9 & 4 & 1\\
4.5 & 7 & 1
\end{vmatrix}
=11.04.
\]
Тогда
\[
a=\frac{\det(A_1)}{\det(A)}=\frac{11.04}{-22.08}=-0.5.
\]
Для нахождения коэффициента \( b \) вычислим
\[
\det(A_2)=
\begin{vmatrix}
5.76 & 7.72 & 1\\
16 & 9 & 1\\
49 & 4.5 & 1
\end{vmatrix}
=-88.32.
\]
Следовательно,
\[
b=\frac{\det(A_2)}{\det(A)}=\frac{-88.32}{-22.08}=4.
\]
Для нахождения коэффициента \( c \) вычислим
\[
\det(A_3)=
\begin{vmatrix}
5.76 & 2.4 & 7.72\\
16 & 4 & 9\\
49 & 7 & 4.5
\end{vmatrix}
=-22.08.
\]
Поэтому
\[
c=\frac{\det(A_3)}{\det(A)}=\frac{-22.08}{-22.08}=1.
\]
Таким образом,
\[
a=-0.5,\qquad b=4,\qquad c=1.
\]
Получаем квадратичный интерполяционный полином
\[
P_2(x)=-0.5\cdot x^2+4\cdot x+1.
\]
Для \( x=5.2 \) имеем
\[
P_2(5.2)=-0.5\cdot5.2^2+4\cdot5.2+1.
\]
Поскольку
\[
5.2^2=27.04,
\]
получаем
\[
P_2(5.2)=-0.5\cdot27.04+20.8+1.
\]
Тогда
\[
P_2(5.2)=-13.52+20.8+1=8.28.
\]
Следовательно,
\[
f(5.2)\approx8.28.
\]
Пример 3. По приведённым табличным значениям функции найти приближённое значение \( f(1.2) \)
| \( i \) | \( x_i \) | \( y_i \) |
|---|---|---|
| \( 0 \) | \( -3 \) | \( 11.5 \) |
| \( 1 \) | \( -1 \) | \( 4.3 \) |
| \( 2 \) | \( 0.5 \) | \( 2.05 \) |
| \( 3 \) | \( 2 \) | \( 2.5 \) |
| \( 4 \) | \( 4.5 \) | \( 9.25 \) |
Значение \( x=1.2 \) находится между узлами с абсциссами \( 0.5 \) и \( 2 \):
\[
0.5<1.2<2.
\]
Для построения локального квадратичного полинома используем узлы
\[
(x_1,y_1)=(-1,4.3),\qquad (x_2,y_2)=(0.5,2.05),\qquad (x_3,y_3)=(2,2.5).
\]
Для выбранных узлов составим систему:
\[
\begin{cases}
a-b+c=4.3,\\
0.25\cdot a+0.5\cdot b+c=2.05,\\
4\cdot a+2\cdot b+c=2.5.
\end{cases}
\]
Вычислим основной определитель:
\[
\det(A)=
\begin{vmatrix}
1 & -1 & 1\\
0.25 & 0.5 & 1\\
4 & 2 & 1
\end{vmatrix}
=-6.75.
\]
Для нахождения коэффициента \( a \) вычислим
\[
\det(A_1)=
\begin{vmatrix}
4.3 & -1 & 1\\
2.05 & 0.5 & 1\\
2.5 & 2 & 1
\end{vmatrix}
=-4.05.
\]
Тогда
\[
a=\frac{\det(A_1)}{\det(A)}=\frac{-4.05}{-6.75}=0.6.
\]
Для нахождения коэффициента \( b \) вычислим
\[
\det(A_2)=
\begin{vmatrix}
1 & 4.3 & 1\\
0.25 & 2.05 & 1\\
4 & 2.5 & 1
\end{vmatrix}
=8.1.
\]
Следовательно,
\[
b=\frac{\det(A_2)}{\det(A)}=\frac{8.1}{-6.75}=-1.2.
\]
Для нахождения коэффициента \( c \) вычислим
\[
\det(A_3)=
\begin{vmatrix}
1 & -1 & 4.3\\
0.25 & 0.5 & 2.05\\
4 & 2 & 2.5
\end{vmatrix}
=-16.875.
\]
Поэтому
\[
c=\frac{\det(A_3)}{\det(A)}=\frac{-16.875}{-6.75}=2.5.
\]
Таким образом,
\[
a=0.6,\qquad b=-1.2,\qquad c=2.5.
\]
Квадратичный интерполяционный полином имеет вид
\[
P_2(x)=0.6\cdot x^2-1.2\cdot x+2.5.
\]
Для \( x=1.2 \) получаем
\[
P_2(1.2)=0.6\cdot1.2^2-1.2\cdot1.2+2.5.
\]
Вычислим:
\[
1.2^2=1.44.
\]
Тогда
\[
P_2(1.2)=0.6\cdot1.44-1.44+2.5.
\]
Получаем
\[
P_2(1.2)=0.864-1.44+2.5=1.924.
\]
Следовательно,
\[
f(1.2)\approx1.924.
\]
Следующий Шаг в Интерполяции: Методы для Дальнейшего Изучения
Квадратичная интерполяция хорошо показывает, как по нескольким узлам можно приближённо находить промежуточные значения функции. Далее стоит познакомиться с другими способами интерполяции, которые подходят для гладких и периодических функций, а также для равноотстоящих узлов.
- Кубическая сплайн-интерполяция: Плавное приближение табличных данных — Узнайте, как кубические сплайны соединяют соседние узлы плавными кривыми и помогают находить промежуточные значения табличной функции.
- Тригонометрическая интерполяция: Приближение периодических функций — Узнайте, как с помощью синусов и косинусов строят интерполяционные полиномы для приближения функций с периодическим поведением.
- Интерполяционные формулы Гаусса: Вычисления вблизи центральных узлов — Ознакомьтесь с первой и второй формулами Гаусса и узнайте, как они помогают находить промежуточные значения для равноотстоящих узлов.
Квадратичная Интерполяция: От Алгоритма к Собственной Программе
Если вам нравится программирование, попробуйте превратить полученные знания о квадратичной интерполяции в собственный программный код. На блок-схеме ниже показан алгоритм, который получает табличные значения, выбирает подходящую группу узлов, формирует матрицы для метода Крамера, находит коэффициенты квадратичного полинома и вычисляет приближённое значение функции в заданной точке. Реализуйте этот алгоритм на своём любимом языке программирования и проверьте его для различных наборов входных данных.
