Калькулятор интерполяции

Калькулятор находит значение функции в промежуточной точке запроса по двум известным точкам - линейной интерполяцией. Для инженеров, проектировщиков, студентов и всех, кто читает таблицы ГОСТов, СП и справочников с крупным шагом.

Данные для расчёта

Результат

Введите данные и нажмите "Рассчитать".

-

Заполните поля выше

Заказать калькулятор под ваш сайт

Описание

В нормативных таблицах значения даны с шагом: для температур -20 и -30 градусов Цельсия, для толщин 100 и 150 мм, для пролётов 6 и 9 м. Если нужное значение лежит между строками, его находят линейной интерполяцией - так прямо указывают многие своды правил. Калькулятор избавляет от ручного расчёта и ошибок в знаках.

Как ввести данные.

  • Первая известная точка - значение аргумента и значение функции из таблицы (первая пара полей).
  • Вторая известная точка - вторая пара полей.
  • Точка запроса - значение аргумента, для которого нужно найти значение функции.
  • Числа могут быть отрицательными и дробными. Порядок точек не важен: можно ввести сначала большую, потом меньшую.

Пример из таблицы. При 10 градусов Цельсия коэффициент 0,85, при 20 градусах Цельсия - 0,75. Нужен при 14 градусах Цельсия: первая точка (10; 0,85), вторая (20; 0,75), точка запроса 14. Ответ 0,81.

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

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

Типичные ошибки.

  • Путают местами значения функции относительно аргументов - значение "уходит" в другую сторону.
  • Интерполируют по строкам, между которыми нужная точка не лежит.

Как проверить. Ответ должен лежать между значениями функции в известных точках, если точка запроса лежит между их аргументами. В середине отрезка ответ равен среднему арифметическому двух известных значений.

Как считается

Линейная интерполяция заменяет функцию на отрезке между двумя известными точками прямой, проходящей через эти точки (Бахвалов Н. С., "Численные методы").

Результат = Значение 1 + (Аргумент - Аргумент 1) * (Значение 2 - Значение 1) / (Аргумент 2 - Аргумент 1)

Аргумент 1 и Значение 1 - первая известная точка, Аргумент 2 и Значение 2 - вторая, Аргумент - точка запроса. Дробь (Значение 2 - Значение 1) / (Аргумент 2 - Аргумент 1) - угловой коэффициент прямой: насколько меняется значение функции при изменении аргумента на единицу. Он умножается на расстояние от первого аргумента до точки запроса и прибавляется к первому значению.

Точность. Ответ выводится с 6 знаками после запятой.

Когда ответа нет. Аргументы двух точек равны - две точки с одинаковым аргументом не задают прямую, калькулятор сообщает о делении на ноль. Не заполнено любое поле - расчёт не выполняется.

Пример 1. Точки (0; 0) и (10; 100), точка запроса 3.

Результат = 0 + (3 - 0) * (100 - 0) / (10 - 0) = 3 * 10 = 30

Пример 2. Точки (0; 5) и (10; 100), точка запроса 0: результат 5 + 0 = 5 - в начальной точке интерполяция даёт ровно первое значение.

Пример расчёта

Первая точка: аргумент
0
Первая точка: значение функции
0
Вторая точка: аргумент
10
Вторая точка: значение функции
100
Точка запроса
3
Y = Y0+(X-X0)*(Y1-Y0)/(X1-X0)
30,000000

Числа взяты из контрольного примера калькулятора - на них он проверяется тестами.

Частые вопросы

Что такое линейная интерполяция?
Способ найти промежуточное значение между двумя известными, считая, что между ними величина меняется равномерно - по прямой.
Как интерполировать значение из таблицы ГОСТ или СП?
Возьмите две соседние строки таблицы, между которыми лежит ваше значение, введите их как первую и вторую известные точки, а своё значение - как точку запроса.
Можно ли вычислить значение за пределами таблицы?
Калькулятор посчитает и такое значение - это экстраполяция. Но нормативы обычно не разрешают выходить за границы таблицы, а сама зависимость за ними может быть нелинейной.
Как сделать двойную интерполяцию?
Если значение зависит от двух параметров, проинтерполируйте сначала по одному параметру в двух соседних строках, затем по второму параметру между полученными результатами.
Как проверить ответ?
Если точка запроса лежит ровно посередине между аргументами известных точек, ответ должен быть средним арифметическим двух известных значений. В любой точке отрезка ответ лежит между ними.

Источники

Комментарии (0)

Комментариев пока нет.

Оставить комментарий

Комментарий появится после проверки