Калькулятор линейной интерполяции
Результат
Интерполированное y
- Угловой коэффициент
- 3,000000
- Положение на отрезке
- 0,500000
Калькулятор линейной интерполяции находит значение y, лежащее на прямой между двумя известными точками. Задайте обе точки и нужное значение x, и вернутся три величины: интерполированное y, угловой коэффициент прямой и положение вдоль неё, выраженное долей отрезка от 0 до 1. Пара по умолчанию — (1, 2) и (3, 8) при x, равном 2, что попадает ровно на середину и даёт y, равное 5. Интерполяция означает чтение значения с прямой, уже проведённой через два измерения, поэтому ответ ровно настолько хорош, насколько верно допущение, что линия действительно прямая. Когда запрошенный x выходит за пределы двух точек, та же формула продолжает работать и даёт экстраполяцию; здесь это разрешено и сообщается, а не отклоняется.
Пять точек на промежутке от (1, 2) до (3, 8)
| x | t | y |
|---|---|---|
| 1 | 0 | 2 |
| 1.5 | 0.25 | 3.5 |
| 2 | 0.5 | 5 |
| 2.5 | 0.75 | 6.5 |
| 3 | 1 | 8 |
Пять образцовых позиций — это два конца плюс три точки, делящие промежуток на равные части, поэтому средний столбец читается как 0, 0,25, 0,5, 0,75 и 1. Читать его сверху вниз и есть смысл таблицы: столбец y каждый раз делает один и тот же шаг, потому что прямая — это ровно тот случай, когда равные шаги по позиции дают равные шаги по значению. Концы включены для того, чтобы первую и последнюю строку можно было сверить с двумя известными точками без всякой арифметики. Числовые ячейки этой таблицы не локализуются, поэтому десятичные знаки стоят в них с точкой, хотя в тексте выше те же числа пишутся с запятой: это одно и то же число в двух записях, а не два разных числа. Каждая ячейка — число, поэтому таблица одинакова во всех десяти языках, которые обслуживает сайт.
Формула
y = y₁ + (x − x₁) × (y₂ − y₁) ÷ (x₂ − x₁) t = (x − x₁) ÷ (x₂ − x₁) y = (1 − t)·y₁ + t·y₂
- x₁, y₁
- Первая известная точка. Она закрепляет прямую: при x, равном x₁, формула возвращает ровно y₁, потому что весь член расстояния обращается в нуль. Задавать x₁ равным 0 разрешено и встречается часто, так как тогда точка ложится на ось y
- x₂, y₂
- Вторая известная точка. Две точки вместе и задают прямую — больше прямой ничего и не нужно. Их значения x должны различаться: две точки с одинаковым x описывают вертикальную прямую, где одному x отвечают сразу все y, и никакого единственного ответа не существует
- x
- Позиция, для которой нужно значение. Она не обязана лежать между двумя точками: за пределами этого промежутка то же выражение продолжает работать, и результат оказывается экстраполяцией, а не интерполяцией, — поэтому показание и сообщается, а не ограничивается
- t
- Доля отрезка: как далеко вдоль прямой лежит точка, считая от первой точки. Она равна 0 в первой точке, 0,5 на середине и 1 во второй, и именно в этой пропорции смешиваются два значения y, — это та часть прямой, в смысле того отношения, в котором точка её делит
Обращайтесь к этому, когда известны два измерения, а нужно промежуточное значение: показание между двумя строками таблицы, значение на дату между двумя наблюдениями или любая пара величин, про которые предполагается, что они меняются вместе по прямой. Когда две точки нужны, чтобы измерить крутизну, это угловой коэффициент прямой; когда нужное значение лежит ровно посередине, это середина отрезка.
Разобранные примеры
Середина между (1, 2) и (3, 8)
- Изменение по y равно 8 − 2 = 6, а изменение по x равно 3 − 1 = 2
- Прямая поднимается на 3 по y на каждую 1 по x, значит угловой коэффициент равен 3
- x = 2 отстоит на 1 единицу вдоль промежутка длиной 2, поэтому доля отрезка равна 1 ÷ 2 = 0,5
- Смешаем два значения в этой пропорции: (1 − 0,5) × 2 + 0,5 × 8 = 1 + 4 = 5
- Интерполированное значение — y = 5
Случай по умолчанию, и его стоит прочитать дважды: при доле, равной половине, ответ оказывается обычным средним двух значений y, 2 и 8. Это совпадение из-за попадания точно в центр, а не правило: на четверти пути ответ был бы 3,5.
Прямая, которая падает
- Изменение по y равно −20 − 0 = −20, а изменение по x равно 10 − 0 = 10
- Угловой коэффициент равен −20 ÷ 10 = −2, то есть прямая опускается на две единицы на каждую единицу вправо
- x = 4 отстоит на 4 единицы вдоль промежутка длиной 10, поэтому доля отрезка равна 0,4
- Смешаем: 0,6 × 0 + 0,4 × (−20) = −8
- Интерполированное значение — y = −8
У этого примера подписаны оба конца, и именно поэтому его стоит проверить вручную: пробег равен 10, а не −10, и ответ ложится между двумя известными значениями, а не за ними. Если прочитать промежуток в обратную сторону, угловой коэффициент и доля поменяют знак вместе, а y останется верным, — вот почему доля и печатается рядом с ответом.
Запрос за последней точкой
- Та же прямая, что и в первом примере: подъём на 3 на каждую 1 вправо
- x = 4 отстоит на 3 единицы вдоль промежутка длиной 2, поэтому доля отрезка равна 3 ÷ 2 = 1,5
- Доля больше 1 — так ответ и говорит, что точка лежит за вторым известным значением
- Смешаем: (1 − 1,5) × 2 + 1,5 × 8 = −1 + 12 = 11
- Значение — y = 11
Экстраполяция, и причина, по которой положение печатается обычным числом, а не обрезается по промежутку. Доля 1,5 говорит, что точка стоит на полсегмента дальше дальнего конца; арифметика здесь та же, что и при интерполяции, меняется только истолкование.
Ограничения
Две известные точки должны иметь разные значения x. Две точки, стоящие друг над другом при одном и том же x, описывают вертикальную прямую, где одному x отвечает бесконечно много значений y и никакого единственного интерполированного ответа не существует, — поэтому такой ввод отклоняется, а не возвращает бесконечность. Все пять чисел ограничены по модулю миллионом, так как и угловой коэффициент, и доля являются частными, которые панель округляет до шести знаков после запятой, а за этой границей проверка перестаёт сходиться. Значения вне промежутка принимаются и сообщаются, а не отклоняются: положение возвращается больше 1 или меньше 0, и этим страница говорит, что вышла за пределы. Чего страница сказать не может — разумна ли была экстраполяция: прямая через две точки ничего не говорит о том, что происходит за ними, и никакой оценки достоверности не печатается, потому что две точки её не выдерживают.
Частые вопросы
- Что такое линейная интерполяция?
- Это прямая линия, проведённая через две известные точки, и чтение значения в позиции между ними. Слово «линейная» произносит допущение вслух: считается, что величина меняется через промежуток с постоянной скоростью, поэтому ответ — взвешенная смесь двух известных значений, а не измерение.
- Что показывает доля отрезка?
- Как далеко вдоль прямой лежит точка, считая от первой известной точки. Она равна 0 в первой, 0,5 на середине и 1 во второй. Само значение можно записать как два известных значения y, смешанных в этих пропорциях, поэтому доля — это всё, что интерполяция добавляет к двум точкам.
- Можно ли интерполировать за пределами двух точек?
- Можно, и эта страница так делает, — но тогда это уже экстраполяция, а не интерполяция, и положение возвращается больше 1 или меньше 0, чтобы это сказать. Прямая через две точки — это догадка о промежутке между ними; продолженная за любой из концов, она становится куда более сильной догадкой о том, чего данные вовсе не покрывали.
- Почему пара точек с одинаковым x отклоняется?
- Потому что единственного ответа тут нет. Две точки с одинаковым x стоят одна над другой, и прямая через них приписывает одному этому x сразу все значения y. Страница отклоняет такой ввод по имени, а не возвращает бесконечность, которая выглядела бы как ответ.
- Важен ли порядок двух точек?
- Для значения, прочитанного с прямой, — нет, а вот угловой коэффициент и положение он меняет. Перестановка двух точек переворачивает знак и у углового коэффициента, и у доли отрезка, оставляя интерполированное y на месте, потому что та же прямая просто описывается в другую сторону.
- Почему не печатается оценка достоверности?
- Потому что две точки её не выдерживают. Подгонка, измеряемая по двум точкам, идеальна по построению, поэтому любая мера качества совпадения всегда выходила бы наилучшей, что бы ни делали сами данные. Вместо неё страница печатает угловой коэффициент и положение — это факты о прямой, а не утверждения о данных.
Источники
- Cartesian Coordinates — the two-axis frame the known points and the wanted position are both written in — Wolfram MathWorld (United States)
- Slope — the constant ratio the interpolated values step by, and the quantity that has no meaning when the two x values match — Wolfram MathWorld (United States)
- Line — the object two distinct points determine, and the assumption that makes reading a value between them meaningful — Wolfram MathWorld (United States)