Введение

Метод подгонки кривой для построения новых точек данных в диапазоне известных точек данных.

В математике линейная интерполяция — это метод подгонки кривой с использованием линейных полиномов для построения новых точек данных в диапазоне дискретного набора известных точек данных.

Интерполяция набора данных

Линейная интерполяция на наборе точек данных (x0, y0), (x1, y1), ..., (xn, yn) определяется как кусочно-линейная, получающаяся путем объединения линейных сегментов, соединяющих каждую пару точек данных. Это приводит к непрерывной кривой с разрывной производной (в общем случае), следовательно, класса дифференцируемости C0.

История и применение

Линейная интерполяция использовалась с древности для заполнения пробелов в таблицах. Предположим, у нас есть таблица с данными о численности населения некоторой страны за 1970, 1980, 1990 и 2000 годы, и мы хотим оценить численность населения в 1994 году. Линейная интерполяция – это простой способ это сделать. Считается, что она применялась в империи Селевкидов (последние три века до нашей эры) и греческим астрономом и математиком Гиппархом (II век до нашей эры). Описание линейной интерполяции можно найти в древнем китайском математическом трактате «Математическое искусство в девяти книгах» (九章算術), датированном периодом с 200 г. до н.э. по 100 г. н.э., а также в «Альмагесте» (II век н.э.) Птолемея. Базовая операция линейной интерполяции между двумя значениями широко используется в компьютерной графике. В профессиональном жаргоне этой области её иногда называют lerp (от linear interpolation – линейная интерполяция). Этот термин может употребляться как в качестве глагола, так и в качестве существительного для обозначения данной операции. Например: «Алгоритм Брезенхэма инкрементно интерполирует между двумя конечными точками линии». Операции lerp встроены в аппаратное обеспечение всех современных графических процессоров. Они часто используются как строительные блоки для более сложных операций: например, билинейную интерполяцию можно выполнить с помощью трёх операций lerp. Благодаря своей дешевизне, этот метод также является хорошим способом реализации точных таблиц поиска с быстрым доступом для гладких функций, не требующих большого количества элементов таблицы.

Точность

Если функции с непрерывностью C⁰ недостаточно, например, если известно, что процесс, породивший данные точки, обладает большей гладкостью, чем C⁰, то обычно линейную интерполяцию заменяют сплайн-интерполяцией или, в некоторых случаях, полиномиальной интерполяцией.

Многовариантный

Линейная интерполяция, описанная здесь, предназначена для точек данных в одном пространственном измерении. Для двух пространственных измерений расширением линейной интерполяции является билинейная интерполяция, а в трех измерениях — трилинейная интерполяция. Однако следует отметить, что эти интерполянты больше не являются линейными функциями пространственных координат, а представляют собой произведения линейных функций; это иллюстрируется явно нелинейным примером билинейной интерполяции на рисунке ниже. Другие расширения линейной интерполяции могут быть применены к другим типам сеток, таким как треугольные и тетраэдрические сетки, включая поверхности Безье. Они могут быть определены как, по сути, кусочно-линейные функции более высокой размерности (см. вторую фигуру ниже).