Математика / Начала анализа

Линейная интерполяция: значение между двумя узлами

Линейная интерполяция оценивает значение между двумя заданными точками по соединяющей их прямой. Доля положения внутри интервала задаёт веса концов; оценка учитывает наклон, но не кривизну исходного графика.

Опубликовано: Обновлено:

Формула

$$P(x)=y_0+\frac{y_1-y_0}{x_1-x_0}(x-x_0)=(1-t)y_0+ty_1,\quad t=\frac{x-x_0}{x_1-x_0}$$
Схема Линейная оценка температуры
Линейная оценка температурыЛинейная оценка температуры20 с15,2 °C26 с17,3 °C30 с18,7 °CДоля 0,6; веса 0,4 и 0,6

Доля 0,6; веса 0,4 и 0,6

Обозначения

$x_0,x_1$
два различных аргумента; x₀ < x₁, единица аргумента
$y_0,y_1$
значения в узлах, единица функции
$x$
аргумент искомого значения, единица аргумента
$t$
доля пройденного интервала, 1
$P(x)$
линейная оценка значения, единица функции

Условия применения

Узлы различны, их значения относятся к одной функции и согласованной шкале. Для интерполяции x находится между x₀ и x₁, поэтому 0≤t≤1. Точность как оценки неизвестной функции требует дополнительных предположений о её изменении между измерениями.

Ограничения

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

Подробное объяснение

Два различных значения аргумента однозначно задают прямую через соответствующие точки. Разность y₁−y₀ делят на ширину x₁−x₀ и получают средний наклон. Умножение наклона на x−x₀ даёт приращение к известному левому значению.

Вторая запись через t делает геометрический смысл явным. Внутри интервала коэффициенты 1−t и t неотрицательны и в сумме равны единице. Поэтому линейная оценка лежит между y₀ и y₁. Это свойство взвешенного среднего, а не сохранение кривизны неизвестной функции.

Если исходная функция действительно линейна, оценка точна во всём интервале. Для дважды дифференцируемой функции ошибка выражается через вторую производную в некоторой внутренней точке и произведение (x−x₀)(x−x₁)/2. Без ограничения второй производной численную гарантию по двум значениям дать нельзя.

Для таблицы с большим числом узлов обычно берут два соседних, между которыми расположен запрос. Так получается кусочно-линейная функция: значения на стыках совпадают, но наклон может скачкообразно меняться. Это допустимое свойство схемы, а не вычислительная ошибка.

Единица наклона — единица функции на единицу аргумента. После умножения на приращение аргумента получается та же единица, что у y. В температурном примере разности градусов Цельсия согласованы с разностями кельвинов; произвольные нелинейные шкалы требуют отдельного рассмотрения.

Как пользоваться формулой

  1. Выберите соседние узлы, между которыми лежит запрос, и проверьте, что значения относятся к одной шкале и одному режиму.
  2. Найдите безразмерную долю t = (x−x₀)/(x₁−x₀); значение вне диапазона от нуля до единицы означает экстраполяцию.
  3. Вычислите y₀+t(y₁−y₀), сохраняя точность промежуточных разностей и подписывая единицу итогового значения.
  4. Проверьте ответ записью (1−t)y₀+ty₁ и подстановкой концов; при требовании допуска оцените кривизну отдельно.

Историческая справка

Линейная интерполяция относится к табличным способам приближённого вычисления, которые не имеют одной общепринятой персональной атрибуции. Её современное место хорошо видно при сравнении с развитием полиномиальной интерполяции в XVII–XIX веках: два узла дают простейший случай полинома первой степени, а дополнительные сведения позволяют строить более сложные кривые. Справочник NIST DLMF излагает интерполяцию через условия в узлах и остаточный член, отделяя точное алгебраическое совпадение от ошибки относительно неизвестной функции. В современной вычислительной практике важна и кусочная версия: каждый интервал обрабатывается отдельно, поэтому нет необходимости строить один полином высокой степени на всей таблице. Это различие между локальным и глобальным восстановлением сохраняется независимо от языка программы.

Историческая линия формулы

Формула дана как элементарная интерполяция первой степени без утверждения о единственном изобретателе. Её связь с полиномиальной традицией служит математическим контекстом; конкретные древние таблицы, даты первого применения и персональное первенство здесь не заявляются.

Пример

Даны условные показания датчика: в 20 с температура 15,2 °C, в 30 с — 18,7 °C. Оценим её в 26 с. Доля t = (26−20)/(30−20) = 0,6. Приращение температуры равно 0,6·(18,7−15,2) = 2,1 °C, ответ P(26) = 17,3 °C. Независимая форма даёт 0,4·15,2+0,6·18,7 = 6,08+11,22 = 17,3 °C. Наклон 3,5/10 = 0,35 °C/с согласован с шестью секундами от левого узла. Результат расположен между показаниями, как и должен при внутренних весах. Это оценка по прямой: два измерения не позволяют доказать, что реальная температура не изгибалась или не колебалась между ними. Числовая точность показаний также не создаёт отдельной гарантии точности модели.

Частая ошибка

Не считайте разность x−x₀ уже готовой долей: её нужно разделить на ширину интервала. Не обещайте точность только по совпадению с двумя узлами. Не называйте экстраполяцию внутренней оценкой. Не путайте сохранение диапазона взвешенного среднего с сохранением выпуклости исходной функции.

Практика

Задачи с решением

Промежуточное значение

Условие. Для (0;1,2) и (4;2,0) найдите оценку при x = 1. Все величины безразмерны.

Решение. Доля t = 1/4. Приращение 0,25·0,8 = 0,2, поэтому P(1) = 1,4. Проверка весами: 0,75·1,2+0,25·2 = 1,4.

Ответ. 1,4.

Середина интервала

Условие. Для точек (10;5) и (20;9) найдите P(15).

Решение. Доля (15−10)/(20−10) = 0,5. В середине обе точки имеют равный вес: (5+9)/2 = 7.

Ответ. P(15) = 7.

Дополнительные источники

  • https://dlmf.nist.gov/3.3
  • https://fncbook.com/polynomial/

Связанные формулы

Математика

Интерполяция Лагранжа: полином через заданные точки

$P_n(x)=\sum_{k=0}^{n}y_kL_k(x),\qquad L_k(x)=\prod_{\substack{0\leq j\leq n\\j\ne k}}\frac{x-x_j}{x_k-x_j}$

Формула Лагранжа строит полином степени не выше n по n+1 различным узлам. Каждый базисный множитель выбирает значение своего узла и обращает вклады остальных узлов в ноль.

Математика

Интерполяция Ньютона: таблица разделённых разностей

$P_n(x)=f[x_0]+\sum_{k=1}^{n}f[x_0,\ldots,x_k]\prod_{j=0}^{k-1}(x-x_j),\quad f[x_i,\ldots,x_j]=\frac{f[x_{i+1},\ldots,x_j]-f[x_i,\ldots,x_{j-1}]}{x_j-x_i}$

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

Математика

Кубическая интерполяция Эрмита по значениям и наклонам

$H(x)=h_{00}(s)y_0+h_{10}(s)\ell m_0+h_{01}(s)y_1+h_{11}(s)\ell m_1,\quad s=\frac{x-x_0}{\ell},\quad \ell=x_1-x_0$

Кубический полином Эрмита согласует значения и первые производные на двух концах интервала. Четыре заданных условия определяют единственную кубическую или более простую кривую между узлами.

Математика

Барицентрическая интерполяция: веса и вычисление полинома

$P(x)=\frac{\sum_{k=0}^{n}\dfrac{w_ky_k}{x-x_k}}{\sum_{k=0}^{n}\dfrac{w_k}{x-x_k}},\qquad w_k=\frac{1}{\prod_{j\ne k}(x_k-x_j)},\quad x\ne x_k$

Барицентрическая форма вычисляет полином Лагранжа через заранее рассчитанные веса узлов. Она удобна для множества запросов по одной таблице; при точном совпадении аргумента с узлом нужно сразу вернуть узловое значение.